Habilite o serviço privado Connect para seu espaço de trabalho
Observação
O senhor deve entrar em contato com a equipe Databricks account para solicitar acesso para habilitar o serviço privado Connect no seu workspace. Databricks O suporte para conectividade privada usando o serviço privado Connect está geralmente disponível.
Esse recurso requer o plano Premium.
Proteja um workspace com conectividade privada e reduza os riscos de exfiltração de dados ativando o Google Private Serviço Connect (PSC) no workspace. Este artigo inclui alguns passos de configuração que você pode executar usando o console account do Databricks ou a API.
Para obter informações de referência de API para o endpoint da API PSC, consulte os documentos de referência da API, especialmente seções para endpointde VPC, configurações de acesso privado, configurações de rede e workspace.
Duas opções de serviço privado Connect
Há duas maneiras de usar a conectividade privada para não expor o tráfego à rede pública. Este artigo discute como configurar um ou ambos os tipos de conexão do Private Service Connect:
Front-end Private Service Connect (usuário para workspace): permite que os usuários se conectem ao aplicativo Web do Databricks, à API REST e à API do Databricks Connect por meio de um privadas virtuais clouds (VPC) endpoint endpoint.
Serviço privado de back-end Connect (plano clássico compute para o plano de controle): Conecta o recurso Databricks classic compute em uma nuvem privada virtual gerenciada pelo cliente (VPC) (o plano classic compute ) ao serviço central Databricks workspace (o plano de controle). Os clusters se conectam ao plano de controle para dois destinos: APIs REST do Databricks e o relé de conectividade de cluster seguro. Devido ao serviço de destino diferente, esse tipo de conexão Private serviço Connect envolve dois endpoints de interface VPC diferentes. Para obter informações sobre os planos de dados e de controle, consulte Databricks architecture overview.
Observação
Anteriormente, o Databricks referia-se ao plano compute como plano de dados.
Você pode implementar o serviço Private Connect front-end e back-end ou apenas um deles. Se implementar o serviço privado Connect para ligações front-end e back-end, pode opcionalmente exigir conectividade privada para o workspace, o que significa que o Databricks rejeita quaisquer ligações através da rede pública. Se você se recusar a implementar qualquer um desses tipos de conexão, não poderá impor esse requisito.
Para habilitar o serviço privado Connect, você deve criar objetos de configuração do Databricks e adicionar novos campos aos objetos de configuração existentes.
Importante
Nesta versão, você pode criar um novo workspace com conectividade Private Service Connect usando uma VPC gerenciada pelo cliente que você configurou. Você não pode adicionar conectividade do Serviço Privado Connect a uma workspace existente. Você não pode habilitar o serviço privado Connect em um workspace que usa uma VPC gerenciada por Databricks.
O diagrama a seguir é uma visão geral do fluxo e da arquitetura da rede do Private Service Connect com Databricks.
Para diagramas mais detalhados e mais informações sobre o uso de um firewall, consulte Arquitetura de referência.
Benefícios de segurança
Usar o Private serviço Connect ajuda a mitigar os seguintes riscos de exfiltração de dados:
Acesso a dados a partir de um navegador na Internet ou de uma rede não autorizada usando o aplicativo Web Databricks.
Acesso a dados de um cliente na Internet ou de uma rede não autorizada usando a API Databricks.
Terminologia
Os seguintes termos clouds do Google são usados neste guia para descrever a configuração do Databricks:
Terminologia do Google |
Descrição |
---|---|
Conexão de serviço privado (PSC) |
Um recurso clouds do Google que fornece conectividade privada entre redes VPC e serviços clouds do Google. |
Projeto anfitrião |
Se o senhor usar o que o Google chama de VPCs compartilhadas, que permitem usar um projeto diferente do Google cloud para o VPC separado do ID do projeto principal do workspacepara o compute recurso, esse é o projeto no qual as VPCs são criadas. Isso se aplica tanto ao plano clássico compute VPC (para back-end do serviço privado Connect) quanto ao trânsito VPC (para front-end do serviço privado Connect) |
Projeto de serviço |
Se você usar o que o Google chama de VPCs compartilhadas, que permitem usar um projeto do Google diferente clouds para a VPC, separado do workspaceID do projeto principal do para compute recurso , este será o projeto para o recurso workspace compute do . |
Endpoint do serviço privado Connect ou endpoint VPC |
Uma ligação privada de uma rede VPC ao serviço, por exemplo serviço publicado pela Databricks. |
A tabela a seguir descreve uma terminologia importante.
Terminologia Databricks |
Descrição |
---|---|
Cliente Databricks |
Um usuário em um navegador acessando a interface do usuário do Databricks ou um cliente de aplicativo acessando as APIs do Databricks. |
VPC de trânsito |
A rede VPC que hospeda clientes que acessam o WebApp ou APIs do workspace do Databricks. |
Front-end (usuário para workspace) endpointdo Connect de serviço privado |
O endpoint do serviço privado Connect configurado na rede VPC de trânsito que permite que os clientes se conectem de forma privada ao aplicativo Web e às APIs do Databricks. |
Back-end (plano clássico compute para o plano de controle) Serviço privado Conecte o endpoint |
O ponto de extremidade Private serviço Connect configurado em sua rede VPC para permitir a comunicação privada entre o plano compute clássico e o plano de controle Databricks. |
Clássico compute avião VPC |
A rede VPC que hospeda o recurso compute do seu workspace do Databricks. Você configura seu plano compute gerenciado pelo cliente VPC em sua organização clouds do Google. |
workspaceprivado |
Refere-se a um workspace onde as máquinas virtuais do plano compute clássico não possuem nenhum endereço IP público. O do workspace endpoint no plano de controlo databricks só pode ser acedido de forma privada a partir de redes VPC autorizadas ou endereços IP autorizados, como o VPC para o seu plano de clássico compute ou os seus VPCs de trânsito PSC. |
Requisitos e limitações
Os seguintes requisitos e limitações se aplicam:
Apenas novo workspace : você pode criar um novo workspace com conectividade Private Service Connect. Você não pode adicionar conectividade do Serviço Privado Connect a uma workspace existente.
É necessário gerenciar o cliente VPC: O senhor deve usar um gerenciador de clientes VPC. O senhor precisa criar seu VPC no console do Google cloud ou com outra ferramenta. Em seguida, no console Databricks account ou no API, o senhor cria uma configuração de rede que faz referência ao seu VPC e define campos adicionais específicos para o serviço privado Connect.
Habilite seu account: Databricks deve habilitar seu account para o recurso. Para habilitar o serviço privado Connect em um ou mais espaços de trabalho, entre em contato com a equipe Databricks account e solicite a habilitação em seu account. Forneça a região do Google cloud e o ID do seu projeto de hospedagem para reservar a cota para conexões do Private Service Connect. Depois que seu account estiver habilitado para o serviço privado Connect, use o console Databricks account ou o API para configurar seus objetos do serviço privado Connect e criar um novo espaço de trabalho.
Cotas: O senhor pode configurar até dois pontos de extremidade do Private serviço Connect para o serviço Databricks para cada projeto de host VPC. O senhor pode implantar planos clássicos compute para vários espaços de trabalho Databricks na mesma rede VPC. Nesse cenário, todos esses espaços de trabalho compartilharão o mesmo endpoint do Private Service Connect. Entre em contato com a equipe do account se essa limitação não funcionar para o senhor.
Sem conectividade entre regiões: os componentes workspace do serviço privado Connect devem estar na mesma região, incluindo:
Rede e sub-redes VPC de trânsito
Rede VPC e sub-redes do plano compute
Espaço de trabalho do Databricks
endpointdo serviço privado Connect
Sub-redes de endpoint do serviço privado Connect
O conjunto de dados de amostra não está disponível. O conjunto de dados de amostra Unity Catalog e o conjunto de dados Databricks não estão disponíveis quando o serviço privado de back-end Connect está configurado. Consulte Conjunto de dados de amostra.
Múltiplas opções para topologia de rede
Você pode implantar um workspace privado do Databricks com as seguintes opções de configuração de rede:
Hospedar usuários (clientes) do Databricks e o plano Databricks clássico compute na mesma rede: Nessa opção, o plano de trânsito VPC e compute VPC referem-se à mesma rede subjacente VPC. Se o senhor escolher essa topologia, todo o acesso a qualquer Databricks workspace a partir desse VPC deverá passar pela conexão front-end do Serviço Privado Connect para esse VPC. Consulte Requisitos e limitações.
Hospede os usuários (clientes) do Databricks e o plano Databricks clássico compute em redes separadas: Nessa opção, o usuário ou o cliente do aplicativo pode acessar diferentes espaços de trabalho do Databricks usando diferentes caminhos de rede. Opcionalmente, o senhor pode permitir que um usuário em trânsito VPC acesse um workspace privado por meio de uma conexão Private Serviço Connect e também que usuários na Internet pública acessem o workspace.
Plano compute de host para vários workspace do Databricks na mesma rede: nesta opção, o plano compute VPC para vários workspace do Databricks refere-se à mesma rede VPC subjacente. Todo esse workspace deve compartilhar o mesmo endpoint back-end do Private Service Connect. Esse padrão de implementação pode permitir que você configure um número menor de endpoint do Private Service Connect enquanto configura um grande número de workspace.
Você pode compartilhar uma VPC de trânsito para vários workspace. No entanto, cada VPC de trânsito deve conter apenas workspace que usam PSC de front-end ou apenas workspace que não usam PSC de front-end. Devido à forma como a resolução de DNS funciona nas clouds do Google, não é possível usar os dois tipos de workspace com uma única VPC de trânsito.
Arquitetura de referência
Uma implantação workspace do Databricks inclui os seguintes caminhos de rede que você pode proteger:
Cliente Databricks em seu VPC de trânsito para o plano de controle do Databricks. Isso inclui o acesso ao aplicativo Web e à API REST.
Rede VPC do plano compute do Databricks para o serviço de plano de controle do Databricks. Isso inclui a retransmissão de conectividade clusters seguros e a conexão workspace para o endpoint da API REST.
Plano compute do Databricks para armazenamento em um projeto gerenciado pelo Databricks.
Rede VPC do plano compute do Databricks para o servidor API do GKE.
Plano de controle do Databricks para armazenamento em seus projetos, incluindo o bucket DBFS.
É possível ter uma arquitetura sem firewall para restringir o tráfego de saída, de preferência usando um metastore externo. O tráfego de saída para um repositório de biblioteca pública não é possível por default, mas você pode trazer seu próprio repo de pacotes espelhado localmente. O diagrama a seguir mostra uma arquitetura de rede para uma implantação completa (front-end e back-end) do Private Service Connect sem firewalls:
Você também pode usar uma arquitetura de firewall e permitir a saída para repositórios de pacotes públicos e o metastore (opcional) Databricks-gerenciar. O diagrama a seguir mostra uma arquitetura de rede para uma implantação completa (front-end e back-end) do Private Serviço Connect com um firewall para controle de saída:
Referência de anexos de serviço regional
Para ativar o Private Service Connect, você precisa dos URIs de anexo de serviço para o seguinte endpoint da sua região:
O workspace endpoint. Isso termina com o sufixo
plproxy-psc-endpoint-all-ports
. Isto tem um duplo papel. Isso é usado pelo serviço privado back-end Connect para se conectar ao plano de controle para APIs REST. Isso também é usado pelo front-end Private serviço Connect para conectar sua VPC de trânsito ao aplicativo da web workspace e às APIs REST.O relé de conectividade segura cluster (SCC) endpoint. Isso termina com o sufixo
ngrok-psc-endpoint
. Isso é usado somente para o serviço privado de back-end Connect. É usado para se conectar ao plano de controle para o relé de conectividade segura de cluster (SCC).
Para obter os URIs de anexo de serviço workspace endpoint e SCC relay endpoint para sua região, consulte URIs de anexo de serviço privado Connect (PSC) e números de projeto.
o passo 1: Habilite sua conta no Private Service Connect
Antes que o Databricks possa aceitar conexões do Private Service Connect de seus projetos clouds do Google, você deve entrar em contato com a equipe account do Databricks e fornecer as seguintes informações para cada workspace onde deseja habilitar o Private Service Connect:
ID da conta Databricks
Como administrador account , acesse o console account do Databricks.
Na parte inferior do menu esquerdo (talvez seja necessário rolar), clique no botão Usuário (o ícone da pessoa).
No pop-up que aparece, copie o ID account clicando no ícone à direita do ID.
VPC Host ID do projeto do planocompute VPC, se você estiver habilitando back-end Serviço privado Connect
VPC Host ID do projeto da VPC de trânsito, se você estiver habilitando o front-end Private Service Connect
Região do workspace
Importante
Um representante do Databricks responde com uma confirmação assim que o Databricks estiver configurado para aceitar conexões do serviço privado Connect de seus projetos clouds do Google. Isso pode levar até três dias úteis.
o passo 2: Crie uma sub-rede
Na rede VPC do plano compute , crie uma sub-rede especificamente para endpoint do Private serviço Connect. As instruções a seguir pressupõem o uso do console clouds do Google, mas você também pode usar a CLI gcloud
para realizar tarefas semelhantes.
Para criar uma sub-rede:
No console clouds clouds do Google, acesse a página da lista de VPC.
Clique em Adicionar sub-rede.
Defina o nome, a descrição e a região.
Se o campo Finalidade estiver visível (pode não estar visível), escolha Nenhum:
Defina um intervalo de IP privado para a sub-rede, como
10.0.0.0/24
.Importante
Seus intervalos de IP não podem se sobrepor a nenhum dos seguintes itens:
Sub-rede de BYO VPC, intervalos IPv4 secundários.
Sub-rede que contém o endpoint do Private Service Connect.
Intervalo de IP clusters do GKE, que é um campo quando você cria o workspace do Databricks.
A página geralmente se parece com a seguinte:
Confirme se sua sub-rede foi adicionada à view da VPC no console do Google clouds para sua VPC:
o passo 3: Criar endpointVPC
Você precisa criar endpoint VPC que se conecte aos anexos de serviço do Databricks. As URLs dos anexos de serviço variam de acordo com a região workspace . As instruções a seguir pressupõem o uso do console clouds do Google, mas você também pode usar a CLI gcloud
para realizar tarefas semelhantes. Para obter instruções sobre como criar endpoints VPC para os anexos de serviço usando a CLI ou API gcloud
, consulte os artigos do Google “Criar um endpoint do Private Service Connect”.
Na sub-rede que você criou, crie o VPC endpoint para os seguintes anexos de serviço da VPC do seu plano de compute :
O workspace endpoint. Isso termina com o sufixo
plproxy-psc-endpoint-all-ports
.O de clusters retransmissão de conectividade endpoint seguros. Isso termina com o sufixo
ngrok-psc-endpoint
Para criar um endpoint VPC no console do Google clouds :
No console clouds do Google, acesse Serviço privado Connect.
Clique na CONECTADO endpoint tab.
Clique em + Conectar endpoint.
Para Target, selecione Serviço publicado.
Em Target service, insira o URI do anexo de serviço.
Importante
Consulte a tabela em Referência de anexos de serviço regional para obter os dois URIs de anexos de serviço do Databricks para a sua região workspace .
Para o nome endpoint , insira um nome a ser usado para o endpoint.
Selecione uma rede VPC para o endpoint.
Selecione uma sub-rede para o endpoint. Especifique a sub-rede que você criou para endpoint do Private serviço Connect.
Selecione um endereço IP para o endpoint. Se você precisar de um novo endereço IP:
Clique no menu suspenso Endereço IP e selecione Criar endereço IP.
Insira um nome e uma descrição opcional.
Para um endereço IP estático, selecione Atribuir automaticamente ou Deixe-me escolher.
Se você selecionou Deixe-me escolher, insira o endereço IP personalizado.
Clique em Reservar.
Selecione um namespace na lista suspensa ou crie um novo namespace. A região é preenchida com base na sub-rede selecionada.
Clique em Adicionar endpoint.
O endpoint do VPC do plano compute para o URI de anexo do serviço workspace tem esta aparência:
O endpoint do VPC do plano compute para o URI de anexo do serviço workspace tem esta aparência:
o passo 4: Configurar o acesso privado front-end
Para configurar o acesso privado de clientes Databricks para o serviço privado front-end Connect:
Crie uma rede VPC de trânsito ou reutilize uma existente.
Crie ou reutilize uma sub-rede com um intervalo de IP privado que tenha acesso ao endpoint front-end do Private Serviço Connect.
Importante
Certifique-se de que os seus utilizadores tenham acesso a VMs ou dispositivos nessa sub-rede.
Crie um VPC endpoint da VPC de trânsito para o anexo de serviço workspace (
plproxy-psc-endpoint-all-ports
).Para obter o nome completo a ser usado em sua região, consulte URIs de anexos e números de projetos do Private Service Connect (PSC) .
O formulário no console clouds do Google para esse endpoint é geralmente semelhante ao seguinte:
o passo 5: registre seu endpointVPC
Use o console da conta
registre seu do Google clouds endpoint usando o account console do Databricks.
Vá para o console account do Databricks.
Clique na clouds recurso tab e depois em VPC endpoint.
Clique em registrar VPC endpoint.
Para cada um dos seus endpoints do Private Service Connect, preencha os campos obrigatórios para registrar um novo VPC endpoint:
Nome do endpoint VPC: um nome legível para identificar o endpoint VPC. A Databricks recomenda usar o mesmo ID do endpoint do serviço privado Connect, mas não é necessário que correspondam.
Região: a região clouds do Google onde esse endpoint do Private Service Connect está definido.
ID do projeto de rede VPC do Google clouds : o ID do projeto do Google clouds em que esse endpoint está definido. Para conectividade de back-end, este é o ID do projeto da rede VPC do seu workspace. Para conectividade de front-end, esse é o ID do projeto da VPC de origem das conexões do usuário, que às vezes é chamado de VPC de trânsito.
A tabela a seguir mostra quais informações você precisa usar para cada endpoint se estiver usando back-end e front-end do Private Service Connect.
tipo endpoint |
campo |
Exemplo |
---|---|---|
endpoint VPC de trânsito de front-end ( |
Nome do endpoint VPC (Databricks recomenda combinar o ID do endpoint do Google clouds ) |
|
ID do projeto de rede VPC do Google Cloud |
|
|
Região clouds do Google |
|
|
compute VPC REST/workspace endpoint |
Nome do endpoint VPC (Databricks recomenda combinar o ID do endpoint do Google clouds ) |
|
ID do projeto de rede VPC do Google Cloud |
|
|
Região clouds do Google |
|
|
de retransmissão VPC SCC do plano de back-end compute endpoint ( |
Nome do endpoint VPC (Databricks recomenda combinar o ID do endpoint do Google clouds ) |
|
ID do projeto de rede VPC do Google Cloud |
|
|
Região clouds do Google |
|
Quando terminar, você pode usar a lista endpoint VPC no console account para revisar a lista de endpoint e confirmar as informações. Geralmente ficaria assim:
Usar a API
Para obter informações de referência da API, consulte os documentos de referência da API, especialmente para VPC endpoint.
Para registrar um VPC endpoint usando uma API REST:
Crie tokens de ID do Google. Siga as instruções em Autenticação com tokens de ID do Google para APIs no nível account . A API para registrar um endpoint VPC requer um access token do Google, que é adicional ao ID do Google.
Usando
curl
ou outro cliente da API REST, faça uma solicitaçãoPOST
ao servidoraccounts.gcp.databricks.com
e chame o endpoint/accounts/<account-id>/vpc-endpoints
. Os argumentos da solicitação são os seguintes:Parâmetro
Descrição
vpc_endpoint_name
Nome legível para o endpoint registrado
gcp_vpc_endpoint_info
Detalhes do endpoint, como um objeto JSON com os seguintes campos:
project_id
: ID do projetopsc_endpoint_name
: nome endpoint PSCendpoint_region
: região clouds do Google para o endpoint
Revise o JSON de resposta. Isso retorna um objeto semelhante à carga útil da solicitação, mas a resposta possui alguns campos adicionais. Os campos de resposta são:
Parâmetro
Descrição
vpc_endpoint_name
Nome legível para o endpoint registrado
account_id
ID da conta Databricks
use_case
WORKSPACE_ACCESS
gcp_vpc_endpoint_info
Detalhes do endpoint, como um objeto JSON com os seguintes campos:
project_id
: ID do projetopsc_endpoint_name
: nome endpoint PSCendpoint_region
: região clouds do Google para o endpointpsc_connection_id
: ID de conexão PSCservice_attachment_id
: ID do anexo do serviço PSC
O exemplo curl
a seguir adiciona o cabeçalho HTTP adicional access token do Google e registra um endpoint VPC:
curl \
-X POST \
--header 'Authorization: Bearer <google-id-token>' \
--header 'X-Databricks-GCP-SA-Access-Token: <access-token-sa-2>' \
https://accounts.gcp.databricks.com/api/2.0/accounts/<account-id>/vpc-endpoints
-H "Content-Type: application/json"
-d '{"vpc_endpoint_name": "psc-demo-dp-rest-api",
"gcp_vpc_endpoint_info": {
"project_id": "databricks-dev-xpn-host",
"psc_endpoint_name": "psc-demo-dp-rest-api",
"endpoint_region": "us-east4"
}'
o passo 6: Crie um objeto de configurações de acesso privado do Databricks
Crie um objeto de configurações de acesso privado, que defina diversas configurações do Private Service Connect para sua workspace. Este objeto será anexado ao seu workspace. Um objeto de configurações de acesso privado pode ser anexado a vários workspace.
Use o console da conta
Crie um objeto de configurações de acesso privado do Databricks usando o console account do Databricks:
Vá para o console account do Databricks.
Clique na clouds recurso tab e depois em Configurações de acesso privado.
Clique em Adicionar configuração de acesso privado.
Defina os campos obrigatórios:
Nome das configurações de acesso privado: nome legível para identificar este objeto de configurações de acesso privado.
Região: a região das conexões entre o VPC endpoint e o workspace que esse objeto de configurações de acesso privado configura.
Acesso público ativado: especifique se o acesso público é permitido. Escolha esse valor com cuidado, pois ele não pode ser alterado após a criação do objeto de configurações de acesso privado. Observação: Em ambos os casos, as listas de acesso IP não podem bloquear o tráfego privado do serviço privado Connect porque as listas de acesso controlam apenas o acesso da Internet pública.
Se o acesso público estiver habilitado, os usuários poderão configurar as listas de acesso IP para permitir/bloquear o acesso público (da Internet pública) aos espaços de trabalho que usam este objeto de configurações de acesso privado.
Se o acesso público estiver desabilitado, nenhum tráfego público poderá acessar o workspace que usa esse objeto de configurações de acesso privado. As listas de acesso IP não afetam o acesso público.
Nível de acesso privado: Uma especificação para restringir o acesso apenas a conexões autorizadas do Private Service Connect. Pode ser um dos valores abaixo:
account: qualquer endpoint VPC registrado em sua account do Databricks pode acessar esse workspace. Este é o valor default .
endpoint: somente o endpoint da VPC especificado explicitamente pode acessar o workspace. Se você escolher esse valor, poderá escolher entre seu VPC endpoint registrado.
Usar a API
Para informações de referência da API, consulte a documentação de referência da API, especialmente para configurações de acesso privado.
Para criar objetos de configurações de acesso privado do Databricks usando uma API REST:
Se você ainda não fez isso ou se seus tokens expiraram, crie um ID do Google tokens. Siga as instruções em Autenticação com tokens de ID do Google para APIs no nível account . A API para criar um objeto de configurações privadas não requer um access token do Google, que é necessário para algumas APIs. Você precisa de um access token do Google para outros passos, mas não para este passo.
Usando
curl
ou outro cliente da API REST, faça uma solicitaçãoPOST
ao servidoraccounts.gcp.databricks.com
e chame o endpoint/accounts/<account-id>/private-access-settings
. Os argumentos da solicitação são os seguintes:Parâmetro
Descrição
private_access_settings_name
Nome legível para o objeto de configurações de acesso privado
region
Região clouds do Google para o objeto de configurações de acesso privado
private_access_level
Define qual VPC endpoint o workspace aceita:
ACCOUNT
: o workspace aceita apenas VPC endpoint registrado na do workspaceDatabricks account do . Este é o valor default se omitido.ENDPOINT
: o workspace aceita apenas VPC endpoint listado explicitamente por ID no campoallowed_vpc_endpoints
separado.
allowed_vpc_endpoints
Matriz de IDs de endpoint de VPC para lista de permissões. Usado apenas se
private_access_level
forENDPOINT
.public_access_enabled
Especifique se o acesso público é permitido. Escolha este valor com cuidado porque ele não pode ser alterado após a criação do objeto de configurações de acesso privado.
Se o acesso público estiver ativado, os usuários poderão configurar as listas de acesso IP para permitir/bloquear o acesso público (da Internet pública) ao workspace que usa esse objeto de configurações de acesso privado.
Se o acesso público estiver desabilitado, nenhum tráfego público poderá acessar o workspace que usa esse objeto de configurações de acesso privado. As listas de acesso IP não afetam o acesso público.
Observação
Em ambos os casos, as listas de acesso IP não podem bloquear o tráfego privado do serviço privado Connect porque as listas de acesso controlam apenas o acesso da Internet pública. Somente endpoint VPC definido em
allowed_vpc_endpoints
pode acessar seu workspace.Revise a resposta. Isso retorna um objeto semelhante ao objeto de solicitação, mas possui campos adicionais:
account_id
: o ID account do Databricks.private_access_settings_id
: o ID do objeto de configurações de acesso privado.
Por exemplo:
curl \
-X POST \
--header 'Authorization: Bearer <google-id-token>' \
https://accounts.gcp.databricks.com/api/2.0/accounts/<account-id>/private-access-settings
-H "Content-Type: application/json"
-d '{
"private_access_settings_name": "psc-demo-pas-account",
"region": "us-east4",
"private_access_level": "ACCOUNT",
"public_access_enabled": true,
}'
Isso gera uma resposta semelhante a:
{
"private_access_settings_id": "999999999-95af-4abc-ab7c-b590193a9c74",
"account_id": "<real account id>",
"private_access_settings_name": "psc-demo-pas-account",
"region": "us-east4",
"public_access_enabled": true,
"private_access_level": "ACCOUNT"
}
Dica
Se desejar revisar o conjunto de objetos de configurações de acesso privado usando a API, faça uma solicitação GET
para o endpoint https://accounts.gcp.databricks.com/api/2.0/accounts/<account-id>/private-access-settings
.
o passo 7: Crie uma configuração de rede
Crie uma configuração de rede do Databricks, que encapsula informações sobre sua VPC gerenciada pelo cliente para seu espaço de trabalho. Este objeto será anexado ao seu workspace.
Use o console da conta
Para criar uma configuração de rede usando o console account :
Se você ainda não criou sua VPC para seu workspace, faça isso agora.
Vá para o console account do Databricks.
Clique na clouds recurso tab e depois em Configurações de rede.
Clique em Adicionar configuração de rede.
campo |
Valor de exemplo |
---|---|
Nome da configuração de rede |
|
ID do projeto de rede do GCP |
|
Nome da VPC |
|
Nome da sub-rede |
|
Região da sub-rede |
|
Nome do intervalo de IP secundário para pods GKE |
|
Nome do intervalo de IP secundário para serviços GKE |
|
Endpoint VPC para transmissão segura da conectividade do cluster |
|
endpoint VPC para APIs REST (conexão de back-end ao workspace) |
|
Usar a API
Para informações de referência de API, consulte os documentos de referência de API, especialmente para redes.
Para criar um objeto de configuração de rede do Databricks usando uma API REST:
Se você ainda não criou sua VPC para seu workspace, faça isso agora.
Se você ainda não fez isso ou se seus tokens expiraram, crie um ID do Google tokens. Siga as instruções em Autenticação com tokens de ID do Google para APIs no nível account . A criação de uma configuração de rede requer um access token do Google, que é um acréscimo ao ID do Google.
Usando
curl
ou outro cliente da API REST, faça uma solicitaçãoPOST
ao servidoraccounts.gcp.databricks.com
e chame o endpoint/accounts/<account-id>/networks
.Revise os argumentos obrigatórios e opcionais para a API de criação de rede. Consulte a documentação para criação de transações de configuração de rede para API de conta. O conjunto de argumentos para que as operações não sejam duplicados abaixo.
Para o suporte do serviço Private Connect, no JSON da requisição deve-se adicionar o argumento
vpc_endpoints
. Lista o endpoint registado pelos seus IDs de Databricks e separados em propriedades para os diferentes casos de utilização. Endpoints são definidos como arrays, mas você não fornece mais do que um VPC endpoint em cada array. Os dois campos sãorest_api
: O VPC endpoint para a conexão workspace, que é usada pelo plano clássico compute para chamar REST APIs no plano de controle.dataplane_relay
: O VPC endpoint para a conexão segura de relé de conectividade cluster .
Por exemplo:
"vpc_endpoints": { "rest_api": [ "63d375c1-3ed8-403b-9a3d-a648732c88e1" ], "dataplane_relay": [ "d76a5c4a-0451-4b19-a4a8-b3df93833a26" ] },
Revise a resposta. Isso retorna um objeto semelhante ao objeto de solicitação, mas possui o seguinte campo adicional:
account_id
: o ID account do Databricks.
O exemplo curl
a seguir adiciona o cabeçalho HTTP adicional access token do Google e cria uma configuração de rede:
curl \
-X POST \
--header 'Authorization: Bearer <google-id-token>' \
--header 'X-Databricks-GCP-SA-Access-Token: <access-token-sa-2>' \
https://accounts.gcp.databricks.com/api/2.0/accounts/<account-id>/networks
-H "Content-Type: application/json"
-d '{
"network_name": "psc-demo-network",
"gcp_network_info": {
"network_project_id": "databricks-dev-xpn-host",
"vpc_id": "psc-demo-dp-vpc",
"subnet_id": "subnet-psc-demo-dp-vpc",
"subnet_region": "us-east4",
"pod_ip_range_name": "pod",
"service_ip_range_name": "svc"
},
"vpc_endpoints": {
"rest_api": [
"9999999-3ed8-403b-9a3d-a648732c88e1"
],
"dataplane_relay": [
"9999999-0451-4b19-a4a8-b3df93833a26"
]
}
}'
Isso gera uma resposta semelhante a:
{
"network_id": "b039f04c-9b72-4973-8b04-97cf8defb1d7",
"account_id": "<real account id>",
"vpc_status": "UNATTACHED",
"network_name": "psc-demo-network",
"creation_time": 1658445719081,
"vpc_endpoints": {
"rest_api": [
"63d375c1-3ed8-403b-9a3d-a648732c88e1"
],
"dataplane_relay": [
"d76a5c4a-0451-4b19-a4a8-b3df93833a26"
]
},
"gcp_network_info": {
"network_project_id": "databricks-dev-xpn-host",
"vpc_id": "psc-demo-dp-vpc",
"subnet_id": "subnet-psc-demo-dp-vpc",
"subnet_region": "us-east4",
"pod_ip_range_name": "pod",
"service_ip_range_name": "svc"
}
}
Dica
Se desejar revisar o conjunto de objetos de configuração de rede usando a API, faça uma solicitação GET
para o endpoint https://accounts.gcp.databricks.com/api/2.0/accounts/<account-id>/networks
.
o passo 8: Crie um espaço de trabalho
Crie um workspace usando a configuração de rede que você criou.
Use o console da conta
Para criar um workspace com o console account :
Vá para o console account do Databricks.
Clique na workspace tab.
Clique em Criar workspace.
Defina estes campos padrão workspace :
Nome do workspace
Região
O Google ID do projeto (o projeto clouds workspacedo compute recurso do , que pode ser diferente do ID do projeto da sua VPC).
Certifique-se de que Habilitar clustersprivados esteja marcado.
Intervalo de IP para recurso mestre do GKE
Defina os campos específicos do Serviço Privado Connect:
Clique em Configurações avançadas.
No campo Configuração de rede , escolha a configuração de rede que você criou nos passos anteriores.
No campo Conectividade privada , escolha o objeto de configurações de acesso privado que você criou nos passos anteriores. Observe que um objeto de configurações de acesso privado pode ser anexado a vários workspace.
Clique em Salvar.
Usar a API
Para obter informações de referência da API, consulte os documentos de referência da API, especialmente para workspace.
Para criar workspace do Databricks usando uma API REST:
Se você ainda não fez isso ou se seus tokens expiraram, crie um ID do Google tokens. Siga as instruções em Autenticação com tokens de ID do Google. É importante observar as seguintes instruções nessa página:
A API para registrar um VPC endpoint é uma API no nível account .
A API para registrar um endpoint VPC requer um access token do Google, que é mencionado como necessário para algumas APIs.
Usando
curl
ou outro cliente da API REST, faça uma solicitaçãoPOST
ao servidoraccounts.gcp.databricks.com
e chame o endpoint/accounts/<account-id>/workspaces
.Revise os argumentos obrigatórios e opcionais para a API de criação workspace . Consulte a documentação para criação de operações workspace para API de conta. O conjunto de argumentos para essas operações não está aqui duplicado.
Para o suporte do serviço Private Connect, no JSON da requisição deve-se adicionar o argumento
private_access_settings_id
. Defina-o como o ID do Databricks para o objeto de configurações privadas que você criou. O ID estava no campo de respostaprivate_access_settings_id
.
Revise a resposta. Isso retorna um objeto semelhante ao objeto de solicitação, mas possui campos adicionais. Consulte a documentação para criar operações workspace para a API Account e clique no código de resposta 201 (
Success
). O conjunto de campos na resposta não está duplicado abaixo.
O exemplo curl
a seguir adiciona o cabeçalho HTTP adicional access token do Google e cria um workspace:
curl \
-X POST \
--header 'Authorization: Bearer <google-id-token>' \
--header 'X-Databricks-GCP-SA-Access-Token: <access-token-sa-2>' \
https://accounts.gcp.databricks.com/api/2.0/accounts/<account-id>/workspaces
-H "Content-Type: application/json"
-d '{
"workspace_name" : "psc-demo-workspace",
"pricing_tier" : "PREMIUM",
"cloud_resource_container": {
"gcp": {
"project_id": "example-project"
}
},
"location": "us-east4",
"private_access_settings_id": "9999999-95af-4abc-ab7c-b590193a9c74",
"network_id": "9999999-9b72-4973-8b04-97cf8defb1d7",
"gke_config": {
"gke_connectivity_type": "PRIVATE_NODE_PUBLIC_MASTER",
"gke_cluster_master_ip_range": "10.5.0.0/28"
}
}'
Isso gera uma resposta semelhante a:
{
"workspace_id":999997997552291,
"workspace_name":"ps-demo-workspace",
"creation_time":1669744259011,
"deployment_name":"7732657997552291.1",
"workspace_status":"RUNNING",
"account_id":"<real account id>",
"workspace_status_message":"Workspace is running.",
"pricing_tier":"PREMIUM",
"private_access_settings_id":"93b1ba70-95af-4abc-ab7c-b590193a9c74",
"location":"us-east4",
"cloud":"gcp",
"network_id": "b039f04c-9b72-4973-8b04-97cf8defb1d7",
"gke_config":{
"connectivity_type":"PRIVATE_NODE_PUBLIC_MASTER",
"master_ip_range":"10.5.0.0/28"
},
"cloud_resource_container":{
"gcp":{
"Project_id":"example-project"
}
}
}
Dica
Se desejar revisar o conjunto de workspace usando a API, faça uma solicitação GET
para o endpoint https://accounts.gcp.databricks.com/api/2.0/accounts/<account-id>/workspaces
.
o passo 9: Valide a configuração do espaço de trabalho
Depois de criar o workspace, volte para a página workspace e encontre o workspace recém-criado. Normalmente leva entre 30 segundos e 3 minutos para o workspace transitar do status PROVISIONING
para o status RUNNING
. Depois que o status mudar para RUNNING
, sua workspace será configurada com êxito.
Você pode validar a configuração usando o console account do Databricks:
Clique em recursoclouds e depois em Configurações de rede. Encontre a configuração de rede da sua VPC usando o console account . Revise-o para confirmar se todos os campos estão corretos.
Clique workspace e encontre o workspace. Confirme se o workspace está em execução:
Dica
Se desejar revisar o conjunto de workspace usando a API, faça uma solicitação GET
para o endpoint https://accounts.gcp.databricks.com/api/2.0/accounts/<account-id>/workspaces
.
o passo 10: Configurar DNS
As seções a seguir descrevem as etapas separadas de configuração de DNS de front-end e back-end.
Configuração de DNS front-end
Esta seção mostra como criar uma zona DNS privada para conectividade front-end.
Você pode compartilhar uma VPC de trânsito para vários workspace. No entanto, cada VPC de trânsito deve conter apenas workspace que usam PSC de front-end ou apenas workspace que não usam PSC de front-end. Devido à forma como a resolução de DNS funciona nas clouds do Google, não é possível usar os dois tipos de workspace com uma única VPC de trânsito.
Certifique-se de ter a URL do seu workspace para o seu workspace do Databricks implantado. Tem um formato semelhante ahttps://33333333333333.3.gcp.databricks.com. Você pode obter esse URL no navegador da Web ao visualizar um workspace ou no consoleaccount em sua lista de workspace.
Crie uma zona DNS privada que inclua a rede VPC de trânsito. Usando o Google clouds Console na página DNS clouds , clique em CRIAR ZONA.
No campo Nome DNS , digite
gcp.databricks.com
.No campo Redes , escolha sua rede VPC de trânsito.
Clique em Criar.
Crie registros DNS
A
para mapear o URL do seu workspace para o IP do endpointplproxy-psc-endpoint-all-ports
Private Service Connect.Localize o IP do endpoint do Private Service Connect para o
plproxy-psc-endpoint-all-ports
endpoint do Private Service Connect. Neste exemplo, suponha que o IP para o terminal do Private serviço Connectpsc-demo-user-cp
seja10.0.0.2
.Crie um registro
A
para mapear o URL do workspace para o IP do endpoint do Private serviço Connect. Nesse caso, mapeie o nome de domínio exclusivo do seu workspace (como33333333333333333.3.gcp.databricks.com
) para o endereço IP do endpoint do Private serviço Connect, que em nosso exemplo anterior era10.0.0.2
, mas seu número pode ser diferente.Crie um registro
A
para mapeardp-<workspace-url>
para o IP do terminal do Private Service Connect. Nesse caso, usando o URL workspace de exemplo, ele mapeariadp-333333333333333.3.gcp.databricks.com
para10.0.0.2
, mas esses valores podem ser diferentes para você.
Se os usuários usarem um navegador da Web na VPC do usuário para acessar o workspace, para oferecer suporte à autenticação, você deverá criar um registro
A
para mapear<workspace-gcp-region>.psc-auth.gcp.databricks.com
para10.0.0.2
. Neste caso, mapeieus-east4.psc-auth.gcp.databricks.com
para10.0.0.2
. Para conectividade front-end, esta etapa normalmente é necessária, mas se você planejar a conectividade front-end da rede de trânsito apenas para APIs REST (não para acesso do usuário do navegador da Web), poderá omitir esta etapa.
Veja a seguir como o console clouds do Google mostra um endpoint aceito para configuração de DNS do Front-end do Private Serviço Connect:
A configuração DNS front-end da sua zona com registros A
que mapeiam para a URL do seu workspace e o serviço de autenticação do Databricks geralmente se parece com o seguinte:
Configuração de DNS de back-end
Esta seção mostra como criar uma zona DNS privada que inclua a rede VPC do plano compute . Você precisa criar registros DNS para mapear o URL workspace para o IP do endpoint plproxy-psc-endpoint-all-ports
Private Service Connect:
Certifique-se de ter a URL do seu workspace para o seu workspace do Databricks implantado. Tem um formato semelhante ahttps://33333333333333.3.gcp.databricks.com. Você pode obter esse URL no navegador da Web ao visualizar um workspace ou no consoleaccount em sua lista de workspace.
Localize o IP do endpoint do Private Service Connect para o
plproxy-psc-endpoint-all-ports
endpoint do Private Service Connect. Use uma ferramenta comonslookup
para obter o endereço IP.Queremos mapear o IP para o endpoint do Private Service Connect
psc-demo-dp-rest-api
para10.10.0.2
.Veja a seguir como o console clouds do Google mostra um endpoint aceito para configuração de back-end do Private Service Connect DNS:
Crie os seguintes mapeamentos de registros
A
:O domínio do seu workspace (como
33333333333333.3.gcp.databricks.com
) para10.10.0.2
O domínio do seu workspace com prefixo
dp-
, comodp-33333333333333.3.gcp.databricks.com
) para10.10.0.2
Na mesma zona de
gcp.databricks.com
, crie um registro DNS privado para mapear o URL de retransmissão SCC para o endpoint de retransmissão SCCngrok-psc-endpoint
usando seu IP endpoint .O URL de retransmissão SCC tem o formato:
tunnel.<workspace-gcp-region>.gcp.databricks.com
. Neste exemplo, o URL de retransmissão SCC étunnel.us-east4.gcp.databricks.com
.Localize o IP do endpoint do Private Service Connect para o
ngrok-psc-endpoint
endpoint do Private Service Connect. Neste exemplo, o IP para o endpoint do Private serviço Connectpsc-demo-dp-ngrok
é10.10.0.3
.Crie um registro
A
para mapeartunnel.us-east4.gcp.databricks.com
para10.10.0.3
.
A lista de registros A
na sua zona geralmente se parece com esta:
Valide sua configuração de DNS
Nas suas redes VPC, verifique se o DNS está configurado corretamente:
Na sua rede VPC de trânsito, use a ferramenta nslookup
para confirmar se os URLs a seguir agora são resolvidos para o IP do endpoint do Front-end do Private Serviço Connect.
<workspace-url>
dp-<workspace-url>
<workspace-gcp-region>.psc-auth.gcp.databricks.com
Na rede VPC do plano compute , use a ferramenta nslookup
para confirmar se os URLs a seguir são resolvidos para o IP correto do endpoint do Private Service Connect
<workspace-url>
mapeia para o IP do terminal do serviço privado Connect para o terminal complproxy-psc-endpoint-all-ports
em seu nome.dp-<workspace-url>
mapeia para o IP do terminal do serviço privado Connect para o terminal complproxy-psc-endpoint-all-ports
em seu nome.tunnel.<workspace-gcp-region>.gcp.databricks.com
mapeia para o IP do terminal do serviço privado Connect para o terminal comngrok-psc-endpoint
em seu nome.
Nome DNS intermediário para o serviço privado Connect
O nome DNS intermediário para o espaço de trabalho que habilita o serviço privado Connect de back-end ou front-end é <workspace-gcp-region>.psc.gcp.databricks.com
. Isso permite que o senhor separe o tráfego para o espaço de trabalho que eles precisam acessar, de outros Databricks serviços que não suportam o Private Service Connect, como a documentação.
o passo 11 (opcional): Configure o acesso ao metastore
recursos como listas de controle de acesso (ACLs) SQL exigem acesso ao metastore. Como o VPC do plano compute não pode acessar a Internet pública por default, você deve criar um NAT clouds com acesso ao metastore. Consulte Endereços IP do terminal endpoint serviço do plano de controle por região.
Além disso, você pode configurar um firewall para evitar tráfego de entrada e saída de todas as outras fontes. Alternativamente, se você não quiser configurar um NAT clouds para seu VPC, outra opção é configurar uma conexão privada com um metastore externo.
o passo 12 (opcional): Configurar listas de acesso IP
As conexões front-end do usuário com workspace do Serviço Privado Connect permitem acesso público por default.
Você pode configurar para permitir ou negar acesso público a um workspace ao criar um objeto de configurações de acesso privado. Consulte a etapa 6: Criar um objeto de configurações de acesso privado do Databricks.
Se você optar por negar o acesso público, nenhum acesso público ao workspace será permitido.
Se optar por permitir o acesso público, você poderá configurar listas de acesso IP para seu workspace do Databricks. As listas de acesso IP aplicam-se apenas a solicitações pela Internet originadas de endereços IP públicos. Você não pode usar listas de acesso IP para bloquear tráfego privado do Private Service Connect.
Para bloquear todo o acesso da Internet:
Habilite listas de acesso IP para o workspace. Consulte Configurar listas de acesso IP para áreas de trabalho.
Crie uma lista de acesso de IP
BLOCK 0.0.0.0/0
.
Observe que as solicitações de redes VPC conectadas usando o serviço privado Connect não são afetadas pelas listas de acesso IP. As conexões são autorizadas utilizando a configuração do nível de acesso do Private serviço Connect. Consulte a seção relacionada à etapa 6: Criar um objeto de configurações de acesso privado do Databricks.
o passo 13 (opcional): Configurar controles de serviço VPC
Além de usar o Private Service Connect para se conectar de forma privada ao serviço Databricks, você pode configurar o VPC Service Controls para manter seu tráfego privado e mitigar os riscos de exfiltração de dados.
Configurar o acesso privado de back-end do plano de computação VPC para armazenamento clouds
Você pode configurar o Private Google Access ou o Private serviço Connect para acessar de forma privada o recurso de armazenamento clouds a partir do seu plano compute VPC.
Adicione seus projetos de plano de computação a um perímetro de serviço do VPC Service Controls
Para cada workspace do Databricks, você pode adicionar os seguintes projetos clouds do Google a um perímetro de serviço do VPC Service Controls:
projeto host VPC do plano compute
Projeto que contém o bucket de armazenamento workspace
Projetos de serviço contendo o recurso compute do espaço de trabalho
Com esta configuração, você precisa conceder acesso a ambos os itens a seguir:
O recurso compute e o balde de armazenamento workspace do plano de controle Databricks
Databricks-gerenciar buckets de armazenamento do plano compute VPC
Você pode conceder o acesso acima com as seguintes regras de entrada e saída no perímetro de serviço do VPC Service Controls acima.
Para obter os números de projeto para essas regras de entrada e saída, consulte URIs de anexo e números de projeto do Private Service Connect (PSC).
Regra de entrada
Você precisa adicionar uma regra de entrada para conceder acesso ao seu perímetro de serviço do VPC Service Controls a partir do VPC do plano de controle do Databricks. Veja a seguir um exemplo de regra de entrada:
From:
Identities: ANY_IDENTITY
Source > Projects =
<regional-control-plane-vpc-host-project-number>
<regional-control-plane-uc-project-number>
<regional-control-plane-audit-log-delivery-project-number>
To:
Projects =
<list of compute plane Project Ids>
Services =
Service name: storage.googleapis.com
Service methods: All actions
Service name: compute.googleapis.com
Service methods: All actions
Service name: container.googleapis.com
Service methods: All actions
Service name: logging.googleapis.com
Service methods: All actions
Service name: cloudresourcemanager.googleapis.com
Service methods: All actions
Service name: iam.googleapis.com
Service methods: All actions
Regra de saída
Você precisa adicionar uma regra de saída para conceder acesso aos buckets de armazenamento gerenciados pelo Databricks do VPC do plano compute . Veja a seguir um exemplo de regra de saída:
From:
Identities: ANY_IDENTITY
To:
Projects =
<regional-control-plane-asset-project-number>
<regional-control-plane-vpc-host-project-number>
Services =
Service name: storage.googleapis.com
Service methods: All actions
Service name: containerregistry.googleapis.com
Service methods:
containers.registry.read
Acesse buckets de armazenamento de data lake protegidos pelo VPC serviço Controls
Você pode adicionar os projetos clouds do Google que contêm os intervalos de armazenamento do data lake a um perímetro de serviço do VPC Service Controls.
Você não precisará de nenhuma regra adicional de entrada ou saída se os buckets de armazenamento do data lake e os projetos workspace do Databricks estiverem no mesmo perímetro de serviço do VPC Service Controls.
Se os buckets de armazenamento do data lake estiverem em um perímetro de serviço separado do VPC Service Controls, será necessário configurar o seguinte:
Regras de entrada no perímetro de serviço do data lake:
Permitir acesso ao armazenamento clouds a partir da VPC do plano compute do Databricks
Permita o acesso ao cloud Storage a partir do plano de controle Databricks VPC usando as IDs de projeto documentadas na página de regiões. Esse acesso será necessário à medida que o site Databricks introduzir novos recursos de governança de dados, como o Unity Catalog.
Regras de saída no perímetro de serviço do plano compute do Databricks:
Permitir saída para clouds Armazenamento em projetos de data lake