Criar um workspace usando a API da conta
Observação
Estas instruções se aplicam a account criadas antes de 8 de novembro de 2023. Se a sua conta Databricks foi criada após 8 de novembro de 2023, consulte Criar API workspace .
Este artigo ensina como criar um workspace usando a API Account. Você também pode criar workspaces usando o modelo do AWS Quick Start, o console da conta ou o Terraform.
O senhor deve usar a API account para criar o espaço de trabalho se quiser usar a chave do cliente para gerenciar o serviço gerenciado ou o AWS PrivateLink.
Antes de começar
Certifique-se de ter acesso ao ID da sua conta.
Determine se o workspace ativará os seguintes recursos:
VPC gerenciado pelo cliente: forneça suas próprias clouds públicas virtuais (VPC) da Amazon se desejar usar o AWS PrivateLink para qualquer tipo de conexão.
Chave gerenciada pelo cliente para criptografia:
O cliente gerencia a chave para o serviço gerenciado no plano de controle: Fornece a chave KMS para criptografar Notebook e dados secretos no plano de controle do Databricks-gerenciar.
Chave gerenciadora de workspace clientes para o armazenamento: Forneça a KMS chave para criptografar o workspace S3 bucket de (workspace 's DBFS root, Job results e outros) e, opcionalmente, os cluster volumes EBS do nó .
AWS PrivateLink: O AWS PrivateLink fornece conectividade privada de VPCs AWS e redes locais para serviços AWS sem expor o tráfego à rede pública.
Determine as regiões a serem usadas para o workspace compute plano (VPC) do seu . A região do plano de controle é determinada pela região do plano compute .
workspace compute Os VPCs do plano podem estar nas regiões da AW
ap-northeast-1
Sap-northeast-2
ap-south-1
,ap-southeast-1
,ap-southeast-2
,ca-central-1
,eu-west-1
,eu-west-2
,eu-central-1
,us-east-1
,us-east-2
,us-west-1
, ,us-west-2
e . No entanto, você não poderá usar uma VPC emus-west-1
se quiser usar keygerenciada pelo cliente para criptografia.
Como usar a API da conta
Para se autenticar na API account, o senhor pode usar o Databricks OAuth para entidade de serviço, o Databricks OAuth para usuários ou o nome de usuário e a senha de um administrador do Databricks account. A Databricks recomenda enfaticamente que o senhor use o Databricks OAuth para usuários ou entidades de serviço. Uma entidade de serviço é uma identidade que o senhor cria no Databricks para uso com ferramentas automatizadas, trabalhos e aplicativos. Consulte a autenticação OAuth máquina a máquina (M2M).
Use os exemplos a seguir para autenticar uma account do Databricks. Você pode usar OAuth para entidade de serviço, OAuth para usuários ou um nome de usuário e senha de usuário (legado). Para obter informações básicas, consulte:
Para OAuth para entidade de serviço, consulte Autenticação máquina a máquina (M2M) OAuth.
Para OAuth para usuários, consulte Autenticação usuário-máquina (U2M) OAuth.
Para obter o nome de usuário e a senha de um usuário (legado), consulte Autenticação básica (legado).
Para exemplos de autenticação, escolha uma das seguintes opções:
Instale a CLI do Databricks versão 0.205 ou acima. Consulte Instalar ou atualizar a CLI do Databricks.
Conclua os passos para configurar a autenticação OAuth M2M para entidade de serviço na account. Consulte Autenticação máquina a máquina (M2M) OAuth.
Identifique ou crie manualmente um perfil de configuração do Databricks em seu arquivo
.databrickscfg
, com os campos do perfil definidos corretamente para o mapeamentohost
,account_id
eclient_id
eclient_secret
relacionado para a entidade de serviço. Consulte Autenticação máquina a máquina (M2M) OAuth.Execute o comando Databricks CLI de destino, onde
<profile-name>
representa o nome do perfil de configuração no arquivo.databrickscfg
:databricks account <command-name> <subcommand-name> -p <profile-name>
Por exemplo, para listar todos os usuários na conta:
databricks account users list -p MY-AWS-ACCOUNT
Para obter uma lista de comandos de conta disponíveis, execute o comando
databricks account -h
.Para obter uma lista de subcomandos disponíveis para um comando de conta, execute o comando
databricks account <command-name> -h
.
Instale a CLI do Databricks versão 0.205 ou acima. Consulte Instalar ou atualizar a CLI do Databricks.
Conclua os passos para configurar a autenticação OAuth U2M para usuários na account. Consulte Autenticação usuário-máquina (U2M) OAuth.
Inicie o processo de autenticação do usuário executando o seguinte comando Databricks CLI:
databricks auth login --host <account-console-url> --account-id <account-id>
Por exemplo:
databricks auth login --host https://accounts.cloud.databricks.com --account-id 00000000-0000-0000-0000-000000000000
Observação
Se você tiver um perfil de configuração do Databricks existente com os campos
host
eaccount_id
já definidos, poderá substituir--host <account-console-url> --account-id <account-id>
por--profile <profile-name>
.Siga as instruções na tela para que a CLI do Databricks crie automaticamente o perfil de configuração do Databricks relacionado em seu arquivo
.databrickscfg
.Continue seguindo as instruções que aparecem na tela para acessar a sua conta Databricks através do seu navegador da web.
Execute o comando Databricks CLI de destino, onde
<profile-name>
representa o nome do perfil de configuração no arquivo.databrickscfg
:databricks account <command-name> <subcommand-name> -p <profile-name>
Por exemplo, para listar todos os usuários na conta:
databricks account users list -p ACCOUNT-00000000-0000-0000-0000-000000000000
Para obter uma lista de comandos de conta disponíveis, execute o comando
databricks account -h
.Para obter uma lista de subcomandos disponíveis para um comando de conta, execute o comando
databricks account <command-name> -h
.
Instale a CLI do Databricks versão 0.205 ou acima. Consulte Instalar ou atualizar a CLI do Databricks.
Identifique ou crie manualmente um perfil de configuração do Databricks em seu arquivo
.databrickscfg
, com os campos do perfil definidos corretamente para o mapeamentohost
,account_id
eusername
epassword
relacionado à sua account de usuário do Databricks. Consulte Autenticação básica (herdada).Execute o comando Databricks CLI de destino, onde
<profile-name>
representa o nome do perfil de configuração no arquivo.databrickscfg
:databricks account <command-name> <subcommand-name> -p <profile-name>
Por exemplo, para listar todos os usuários na conta:
databricks account users list -p MY-AWS-ACCOUNT
Para obter uma lista de comandos de conta disponíveis, execute o comando
databricks account -h
.Para obter uma lista de subcomandos disponíveis para um comando de conta, execute o comando
databricks account <command-name> -h
.
Passo 1: configurar autenticação de conta cruzada
Os Databricks precisam ter acesso a uma função de IAM de serviço entre contas em sua conta AWS para que os Databricks possam implementar clusters no VPC apropriado para o novo workspace.
Se esse papel ainda não existir, consulte Criar um papel IAM para implantação do workspace para criar um papel e política apropriados para seu tipo de implantação. Você fornece o ARN para sua nova função (o
role_arn
) posteriormente neste procedimento.Observação
Você pode compartilhar uma IAM role entre contas com vários workspace. Você não é obrigado a criar uma nova IAM role entre contas para cada workspace. Se você já tiver uma IAM role entre contas, pode pular esta passo.
Crie um ID de configuração de credencial do Databricks para sua função AWS. Chame a API de configuração Criar credencial (
POST /accounts/<databricks-account-id>/credentials
). Essa solicitação estabelece confiança entreaccount e retorna um ID de referência para usar ao criar um novo workspace.Observação
Você pode compartilhar um ID de configuração de credenciais com vários workspace. Não é necessário criar um novo para cada workspace. Se você já tiver um, pode pular esta etapa.
Substitua
<databricks-account-id>
pelo ID da sua account do Databricks. Para autenticação, consulte Como usar a API da conta. No corpo da solicitação:Configure o
credentials_name
para um nome para estas credenciais. O nome deve ser exclusivo em sua conta.aws_credentials
Defina como um objeto que contém umasts_role
propriedade. Esse objeto deve conter umarole_arn
propriedade que especifique o ARN da função da AWS para a função que você criou.
O corpo da resposta incluirá um campo
credentials_id
, que é a ID de configuração de credenciais do Databricks que você precisa para criar o novo workspace. Copie e salve esse valor, que você usará em uma passo posterior para criar o workspace.Por exemplo:
curl -X POST 'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/credentials' \ --header 'Authorization: Bearer $OAUTH_TOKEN' \ -d '{ "credentials_name": "databricks-workspace-credentials-v1", "aws_credentials": { "sts_role": { "role_arn": "arn:aws:iam::<aws-account-id>:role/my-company-example-role" } } }'
Resposta de exemplo:
{ "credentials_id": "<databricks-credentials-id>", "account_id": "<databricks-account-id>", "aws_credentials": { "sts_role": { "role_arn": "arn:aws:iam::<aws-account-id>:role/my-company-example-role", "external_id": "<databricks-account-id>" } }, "credentials_name": "databricks-workspace-credentials-v1", "creation_time": 1579753556257 }
Copie o campo
credentials_id
da resposta para uso posterior.
Etapa 2: Configurar o armazenamento raiz
O bucket de armazenamento raiz S3 em sua conta guarda objetos como logs de clusters, revisões de notebooks e resultados de trabalhos.Você também pode usar o bucket de armazenamento raiz S3 para armazenar dados que não sejam de produção, como os dados necessários para testes.
Observação
Você pode compartilhar um bucket raiz do S3 com vários workspace em uma única account. Você não precisa criar novos depósitos para cada workspace. Se você compartilhar um bucket raiz S3 para vários workspaces em uma conta, os dados no bucket raiz S3 serão particionados em diretórios separados por workspace. Se você já tiver um bucket e um ID de configuração de armazenamento associado gerado pela API da account , poderá pular esta passo. No entanto, não reutilize um bucket do workspace legacy. Por exemplo, se você estiver migrando para o E2, crie um novo bucket da AWS para sua configuração do E2.
Crie o contêiner raiz S3 utilizando as instruções em Criar um contêiner S3 para implementação do workspace.
Crie um registro de configuração de armazenamento que represente o bucket raiz do S3. Especifique o bucket raiz do S3 por nome chamando a API de configuração de criação de armazenamento (
POST /accounts/<account-id>/storage-configurations
).O pedido retorna uma ID de configuração de armazenamento que representa o seu bucket S3.
Passe o seguinte:
storage_configuration_name
: Novo nome de configuração de armazenamento exclusivo.root_bucket_info
: Um objeto JSON que contém um campobucket_name
que contém seu nome do bucket S3.
O corpo da resposta inclui uma propriedade
storage_configuration_id
, que é o ID de configuração de armazenamento do bloco. Copie esse valor para uso posterior.Por exemplo:
curl -X POST 'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/storage-configurations' \ --header 'Authorization: Bearer $OAUTH_TOKEN' \ -d '{ "storage_configuration_name": "databricks-workspace-storageconf-v1", "root_bucket_info": { "bucket_name": "my-company-example-bucket" } }'
Resposta:
{ "storage_configuration_id": "<databricks-storage-config-id>", "account_id": "<databricks-account-id>", "root_bucket_info": { "bucket_name": "my-company-example-bucket" }, "storage_configuration_name": "databricks-workspace-storageconf-v1", "creation_time": 1579754875555 }
Etapa 3: Configurar o PrivateLink (opcional)
Esta etapa é necessária somente se você quiser usar o AWS PrivateLink.
A AWS PrivateLink oferece conectividade privada entre sua VPC da AWS e redes locais com serviços da AWS, sem expor o tráfego à rede pública.
O espaço de trabalho do Databricks suporta a adição de conexões PrivateLink para dois tipos de conexão:
Do usuário para o workspace (front-end)
plano compute para plano de controle (back-end)
Para conexões PrivateLink para um novo workspace:
Leia atentamente o artigo AWS PrivateLink e confirme os pré-requisitos antes de prosseguir.
Crie seus endpoints de VPC da AWS no console da AWS ou com ferramentas de automação. Consulte a Passo 2: Criar VPC endpoints.
Revise as etapas para usar a API account para criar registros de VPC endpoint, configurações de rede e objetos de configurações de acesso privado. Consulte Usar a API da conta.
Continue para a próxima passo neste artigo. Se você deseja implementar qualquer tipo de conexão PrivateLink (incluindo apenas front-end), deve usar uma VPC para gerar o cliente.
Etapa 4: configurar VPC gerenciado pelo cliente (opcional, mas obrigatório se você usar PrivateLink)
Por default, o Databricks cria um VPC em sua account AWS para cada espaço de trabalho. Databricks utiliza-o para clusters em execução no workspace. Opcionalmente, você pode usar sua própria VPC para o workspace, utilizando o recurso customer-gerenciar VPC. A Databricks recomenda que você forneça sua própria VPC para que possa configurá-la de acordo com os padrões clouds corporativas da sua organização, ao mesmo tempo em que está em conformidade com os requisitos da Databricks. Você não pode migrar um workspace existente para sua própria VPC.
Importante
Para configurar seu workspace para usar Habilitar AWS PrivateLink para qualquer tipo de conexão (incluindo somente front-end), seu workspace deve usar um VPC gerenciado pelo cliente.
Configure sua VPC, sub-redes e grupos de segurança usando as instruções em Configurar uma VPC gerenciada pelo cliente. Copie os IDs de cada um desses objetos para a próxima etapa, na qual você os registra no Databricks e obtém um ID de rede para representar sua nova rede.
Importante
Se você planeja compartilhar uma VPC e sub-redes em vários espaços de trabalho, certifique-se de dimensionar sua VPC e sub-redes para que sejam grandes o suficiente para serem escalonadas com o uso. Você não pode reutilizar um objeto de configuração de rede no espaço de trabalho.
Para registrar sua configuração de rede com Databricks, chame a API de criação de configuração de rede (
POST /accounts/<account-id>/networks
).Passe o seguinte:
network_name
: Novo nome de rede exclusivo.vpc_id
: VPC ID.subnet_ids
: IDs de sub-rede, como um array.security_group_ids
: IDs do grupo de segurança, como um array.vpc_endpoints
: usado apenas para AWS PrivateLink. Obrigatório se você estiver implantado uma conexão PrivateLink de back-end (plano compute para plano de controle). Nesse caso, esse objeto deverá ter duas propriedades que fazem referência a registros de endpoint VPC registrados. Definarest_api
como uma matriz contendo apenas o ID do Databricks para o registro do endpoint VPC do seu workspace . Definadataplane_relay
como uma matriz contendo apenas o ID do Databricks para o registro de endpoint VPC de conectividade clusters seguros. Para obter mais detalhes sobre esses objetos, consulte Habilitar AWS PrivateLink. Esses IDs foram retornados durante o registro do VPC endpoint, conforme descrito na etapa 3a: Registrar VPC endpoints (front-end, back-end ou ambos).rest_api
: defina isso como uma matriz JSON que contém exatamente um elemento: o ID específico do Databricks para o endpoint VPC da API REST de back-end que você registrou. Esse é o ID de registro do VPC endpoint do Databricks, não o ID do AWS VPC endpoint.Importante
Nesta versão, após registrar um VPC endpoint para o serviço do workspace do VPC endpoint para uma conexão front-end ou conexão de REST API de back-end para qualquer workspace, o Databricks habilita o acesso de front-end (aplicação web e REST API) a partir desse VPC endpoint para todos os workspaces habilitados para o PrivateLink em sua conta Databricks naquela região da AWS.
dataplane_relay
: defina isso como uma matriz JSON que contém exatamente um elemento: a ID específica do Databricks para o ponto de extremidade da VPC SCC back-end que você registrou. Esse é o ID de registro do VPC endpoint do Databricks, não o ID do AWS VPC endpoint.
Para obter informações adicionais sobre configurações de rede para conexões back-end do PrivateLink, consulte Criar nova configuração de rede usando a API account nos artigos do PrivateLink.
Por exemplo:
curl -X POST 'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/networks' \ --header 'Authorization: Bearer $OAUTH_TOKEN' \ -d '{ "network_name": "mycompany-vpc-example", "vpc_id": "<aws-vpc-id>", "subnet_ids": [ "<aws-subnet-id-1>", "<aws-subnet-id-2>" ], "security_group_ids": [ "<aws-security-group-id>" ], "vpc_endpoints": { "dataplane_relay": [ "<databricks-vpce-id-for-scc>" ], "rest_api": [ "<databricks-vpce-id-for-rest-apis>" ] } }'
Copie
network_id
do corpo da resposta para uso posterior. Este é o ID de rede que representa a rede do seu novo workspace.Resposta de exemplo:
{ "network_id": "<databricks-network-id>", "account_id": "<databricks-account-id>", "vpc_id": "<aws-vpc-id>", "subnet_ids": [ "<aws-subnet-id-1>", "<aws-subnet-id-2>" ], "security_group_ids": [ "<aws-security-group-id>" ], "vpc_status": "UNATTACHED", "network_name": "mycompany-vpc-example", "creation_time": 1579767389544, "vpc_endpoints": { "dataplane_relay": [ "<databricks-vpce-id-for-scc>" ], "rest_api": [ "<databricks-vpce-id-for-rest-apis>" ] } }
Etapa 5: configurar chaves gerenciadas pelo cliente (opcional)
Importante
Este recurso exige que sua conta esteja no nível de preço Enterprise.
workspace compute Os VPCs do plano podem estar nas regiões da AW
ap-northeast-1
Sap-northeast-2
ap-south-1
,ap-southeast-1
,ap-southeast-2
,ca-central-1
,eu-west-1
,eu-west-2
,eu-central-1
,us-east-1
,us-east-2
,us-west-1
, ,us-west-2
e . No entanto, você não poderá usar uma VPC emus-west-1
se quiser usar keygerenciada pelo cliente para criptografia.
Há dois casos de uso para a chave de criptografia gerenciada pelo cliente:
Criptografar o serviço gerenciado, que inclui Notebook e dados secretos no plano de controle.
Criptografar o armazenamento do workspace, que inclui o bucket S3 raiz do workspace e, opcionalmente, os volumes EBS dos clusters.
Você pode optar por não configurar nenhum, um ou ambos. Se você optar por implementar criptografia para ambos os casos de uso, é possível compartilhar opcionalmente uma chave e, até mesmo, opcionalmente, o mesmo objeto de configuração para esses casos de uso.
Para ambos os casos de uso, o senhor pode configurá-lo durante a criação do workspace ou adicionar o key a um workspace em execução. Para um cliente gerenciar key para serviço gerenciado, o senhor pode girar (atualizar) o key posteriormente. Para um cliente gerenciar key para armazenamento, o senhor não pode girar o key posteriormente.
Você pode compartilhar uma chave gerenciada pelo cliente ou seu objeto de configuração de chave entre workspaces. Ao criar um novo workspace, uma configuração de chave pode representar ambos os casos de uso de criptografia, definindo seu campo use_cases
para incluir ambos os valores de enumeração.
Observação
Para adicionar um armazenamento workspace key a um workspace existente que já usa a criptografia Notebook, o senhor deve criar um novo objeto de configuração key para o armazenamento workspace. Consulte Configurar chave gerenciadora de clientes para criptografia.
Para implementar um caso de uso de criptografia ou ambos os casos de uso de criptografia com a mesma chave, execute o procedimento a seguir exatamente uma vez. Para adicionar criptografia para ambos os casos de uso de criptografia com chaves diferentes, execute o procedimento duas vezes, uma para cada caso de uso.
Crie o AWS KMS key. Siga as instruções em qualquer uma das seções a seguir, que diferem apenas no campo de descrição legível por humanos (
sid
) na política para identificar o caso de uso. Veja o passo 1: Criar ou selecionar uma chave no AWS KMS. Para compartilhar o key e a configuração de ambos os casos de uso, atualize o camposid
adequadamente.Para registrar sua key KMS com Databricks, chame a API de configuração key de gerenciamento de cliente (
POST /accounts/<account-id>/customer-managed-keys
).Passe os seguintes parâmetros:
use_cases
— Uma matriz que especifica os casos de uso para os quais utilizar a chave, especifique um ou ambos os seguintes:MANAGED_SERVICES
: Este key criptografa o serviço gerenciado no plano de controle, que inclui Notebook e dados secretos no plano de controle.STORAGE
: Este key criptografa workspace o armazenamento , que inclui o workspacedo DBFS root e os volumes EBS dos clusters.
aws_key_info
: Um objeto JSON com as seguintes propriedades:key_arn
: Chave ARN do AWS KMS. Observe que o Databricks infere a região da AWS a partir da chave ARN.key_alias
: (Opcional) pseudônimo da chave AWS KMS.reuse_key_for_cluster_volumes
: (Opcional) Usado somente se a matrizuse_cases
contiverSTORAGE
, especifica se a chave também deve ser usada para criptografar volumes EBS do cluster. O valor padrão étrue
, o que significa que o Databricks também usa a chave para volumes de cluster. Se você definir isso comofalse
, o Databricks não criptografará os volumes EBS com a chave especificada. Nesse caso, seus volumes EBS do Databricks são criptografados com a criptografia SSE padrão da AWS ou se você habilitou a criptografia EBS no nível da conta da AWS por padrão, a AWS impõe a criptografia EBS no nível da conta usando uma chave separada que você forneceu a eles. Observe que sereuse_key_for_cluster_volumes
fortrue
e você revogar a permissão da chave, isso não afetará os clusters em execução, mas afetará os clusters novos e reiniciados.
Exemplo de solicitação:
curl -X POST 'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/customer-managed-keys' \ --header 'Authorization: Bearer $OAUTH_TOKEN' \ -d '{ "use_cases": ["MANAGED_SERVICES", "STORAGE"], "aws_key_info": { "key_arn": "arn:aws:kms:us-west-2:<aws-account-id>:key/<key-id>", "key_alias": "my-example-key", "reuse_key_for_cluster_volumes": true } }'
Resposta de exemplo:
{ "use_cases": ["MANAGED_SERVICES", "STORAGE"], "customer_managed_key_id": "<aws-kms-key-id>", "creation_time": 1586447506984, "account_id": "<databricks-account-id>", "aws_key_info": { "key_arn": "arn:aws:kms:us-west-2:<aws-account-id>:key/<key-id>", "key_alias": "my-example-key", "reuse_key_for_cluster_volumes": true, "key_region": "us-west-2" } }
No JSON de resposta, copie o
customer_managed_key_id
. Você usa esse ID na próxima passo para definir a propriedademanaged_services_customer_managed_key_id
,storage_customer_managed_key_id
ou ambas do objeto de configuração workspace, dependendo de quais casos de uso de criptografia esse objeto representa.
Etapa 6: criar o workspace
Para criar o novo espaço de trabalho, chame a API create workspace (POST /accounts/<account-id>/workspaces
).
Passe os seguintes parâmetros, que são valores que você copiou nas etapas anteriores:
aws_region
: a região AWS do workspace compute plano do .workspace_name
Nome legível por humanos para seu workspace. Este é o nome do workspace que os usuários veem na interface do usuário do Databricks.deployment_name
: (recomendado, mas opcional) Nome de implantação exclusivo para seu workspace. Para obter detalhes, consulte as notas sobre o nome da implantação.credentials_id
: sua ID de credencial, que representa suas credenciais de função de conta cruzada. Este é o ID do objeto de configuração de credenciais.storage_configuration_id
: seu ID de configuração de armazenamento, que representa seu bucket raiz S3. Esta é a ID do objeto de configuração de armazenamento.network_id
: (Opcional) usado apenas para VPC gerenciado pelo cliente. Esta é a ID do objeto de configuração de rede.managed_services_customer_managed_key_id
(Opcional) Usado apenas para criptografar o serviço gerenciado, como Notebook e dados secretos no plano de controle. Veja a chave Customer-gerenciar para serviço gerenciado. Esse é seu ID de configuração key para o armazenamento workspace, que é o campocustomer_managed_key_id
de um objeto de configuração key. Se quiser oferecer suporte a esse caso de uso de criptografia, o senhor deve configurá-lo no momento da criação do site workspace.storage_customer_managed_key_id
(Opcional) Usado somente para criptografar o armazenamento workspace. Esse é seu ID de configuração key para o armazenamento workspace, que é o campocustomer_managed_key_id
do objeto de configuração key. Se quiser oferecer suporte a esse caso de uso de criptografia, o senhor pode configurá-lo no momento da criação do site workspace, mas também pode adicioná-lo posteriormente a um site em execução workspace.private_access_settings_id
: (Opcional) Usado apenas para AWS PrivateLink. Este é o ID do objeto de configurações de acesso privado que você criou para esta workspace. Consulte Criar uma configuração de configurações de acesso privado usando a API account nos artigos do PrivateLink. Este é um campo obrigatório para acesso ao PrivateLink para todos os tipos de conexão (front-end, back-end ou ambos).
custom_tags
: (Opcional) Pares key-value que atuam como metadados para organizar recursos. As tags podem ajudar a gerenciar, identificar, organizar, pesquisar e filtrar recursos, além de monitorar o custo e o uso de atributos.
Observações sobre o nome da implantação:
Escolha seu valor
deployment_name
com cuidado. O nome da implementação define parte do subdomínio do workspace. A URL do workspace para aplicativo da web e REST APIs é<deployment-name>.cloud.databricks.com
. Por exemplo, se o nome da implementação forABCSales
, a URL da suo workspace seráhttps://abcsales.cloud.databricks.com
. Esta propriedade suporta caracteres a-z e 0-9. Hifens também são permitidos, mas não como o primeiro ou último caractere.account pode ter um prefixo de nome de implantação. Entre em contato com sua equipe account do Databricks para adicionar um prefixo de nome de implantação account à sua account. Se a sua account tiver um prefixo de nome de implementação não vazio no momento da criação workspace , o nome de implementação workspace será atualizado para que comece com o prefixo da account e um hífen. Por exemplo, se o prefixo de implementação da sua accountfor
acme
e o nome de implementação workspace forworkspace-1
, o campodeployment_name
se tornaráacme-workspace-1
. Neste exemplo, a URL workspace éacme-workspace-1.cloud.databricks.com
.Após essa modificação com o prefixo da conta, o novo valor é o que é retornado nas respostas JSON para o campo
deployment_name
deste workspace.Se a sua conta tiver um prefixo de nome de implementação não vazio e você definir
deployment_name
para a palavra-chave reservadaEMPTY
,deployment_name
será o prefixo da conta somente. Por exemplo, se o prefixo de implementação da sua conta foracme
e o nome de implementação do área de trabalho forEMPTY
, odeployment_name
se tornaráacme
somente, e a URL do workspace foracme.cloud.databricks.com
. Se a sua conta ainda não tiver um prefixo de nome de implementação, o valor de nome de implementação especialEMPTY
será inválido.
A resposta JSON inclui a propriedade workspace_id
. Copie este valor para uso posterior.
Por exemplo:
curl -X POST
'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/workspaces' \
--header 'Authorization: Bearer $OAUTH_TOKEN' \
-d '{
"workspace_name": "my-company-example",
"deployment_name": "my-company-example",
"aws_region": "us-west-2",
"credentials_id": "<aws-credentials-id>",
"storage_configuration_id": "<databricks-storage-config-id>",
"network_id": "<databricks-network-id>",
"managed_services_customer_managed_key_id": "<aws-kms-managed-services-key-id>",
"storage_customer_managed_key_id": "<aws-kms-notebook-workspace-storage-id>",
"private_access_settings_id": "<private-access-settings-id>",
"custom_tags": {
"Organization": "Marketing",
"Env": "Prod"
}
}'
Resposta de exemplo:
{
"workspace_id": 123456789,
"workspace_name": "my-company-example",
"aws_region": "us-west-2",
"creation_time": 1579768294842,
"deployment_name": "my-company-example",
"workspace_status": "PROVISIONING",
"account_id": "<databricks-account-id>",
"credentials_id": "<aws-credentials-id>",
"storage_configuration_id": "<databricks-storage-config-id>",
"workspace_status_message": "Workspace resources are being set up.",
"network_id": "<databricks-network-id>",
"managed_services_customer_managed_key_id": "<aws-kms-managed-services-key-id>",
"storage_customer_managed_key_id": "<aws-kms-notebook-workspace-storage-id>",
"private_access_settings_id": "<private-access-settings-id>",
"pricing_tier": "ENTERPRISE",
"custom_tags": {
"Organization": "Marketing",
"Env": "Prod"
}
}
{
"workspace_id": 123456789,
"workspace_name": "my-company-example",
"aws_region": "us-west-2",
"creation_time": 1579768294842,
"deployment_name": "my-company-example",
"workspace_status": "PROVISIONING",
"account_id": "<databricks-account-id>",
"credentials_id": "<aws-credentials-id>",
"storage_configuration_id": "<databricks-storage-config-id>",
"workspace_status_message": "Workspace resources are being set up.",
"network_id": "<databricks-network-id>",
"managed_services_customer_managed_key_id": "<aws-kms-managed-services-key-id>",
"storage_customer_managed_key_id": "<aws-kms-notebook-workspace-storage-id>",
"private_access_settings_id": "<private-access-settings-id>",
"pricing_tier": "ENTERPRISE"
}
Se você especificou uma VPC gerenciada pelo cliente e a criação workspace o passo retornar um erro relacionado à rede, você poderá chamar a API de configuração de rede (endpoint /networks/<network-id>
) para validar as configurações de rede. Consulte Solucionar problemas de erros de criação workspace .
o passo 7: Confirme a nova área de trabalho
Para verificar o status do espaço de trabalho, chame a API get workspace (GET /accounts/<account-id>/workspaces/<workspace-id>
).
Utilize o valor workspace_id
da resposta JSON retornada quando você criou o workspace.
Na resposta, os valores workspace_status
possíveis são:
NOT_PROVISIONED
: Ainda não provisionado.PROVISIONING
: Ainda em provisionamento. Aguarde alguns minutos e repita essa solicitação de API.RUNNING
: implementação bem-sucedida e agora em execução.FAILED
: Falha na implementação.BANNED
: Banido.CANCELLING
: Em processo de cancelamento.
Consulte Solucionar erros de criação workspace para saber como lidar com valores de status malsucedidos.
Por exemplo:
curl -X GET
'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/workspaces/<databricks-workspace-id>' \
--header 'Authorization: Bearer $OAUTH_TOKEN'
Resposta:
{
"workspace_id": 123456789,
"workspace_name": "my-company-example",
"aws_region": "us-west-2",
"creation_time": 1579768294842,
"deployment_name": "my-company-example",
"workspace_status": "RUNNING",
"account_id": "<databricks-account-id>",
"credentials_id": "<aws-credentials-id>",
"storage_configuration_id": "<databricks-storage-config-id>",
"workspace_status_message": "Workspace is running.",
"network_id": "339f16b9-b8a3-4d50-9d1b-7e29e49448c3",
"managed_services_customer_managed_key_id": "<aws-kms-managed-services-key-id>",
"storage_customer_managed_key_id": "<aws-kms-notebook-workspace-storage-id>",
"pricing_tier": "ENTERPRISE"
}
Neste exemplo, o status do workspace (workspace_status
) é definido como RUNNING
, portanto, foi bem-sucedido. Se estiver PROVISIONING
, repita essa solicitação de API até que ela seja bem-sucedida.
O nível de preços é padronizado com o plano associado à sua conta. Consulte Níveis da plataforma AWS.
Teste seu novo workspace depois que seu status for RUNNING
:
Login da interface do usuário no novo workspace — Confirme que você pode fazer login no aplicativo da web na URL
https://<deployment-name>.cloud.databricks.com
. Por exemplo, se o nome de implementação especificado durante a criação do workspace forABCSales
, a URL do seu workspace seráhttps://abcsales.cloud.databricks.com
. Use o nome de usuário e a senha da sua conta.Login API REST no novo workspace — Confirme se você consegue acessar a API REST. O exemplo a seguir chama a API de usuários do workspace para obter uma lista de usuários.
curl -u <user-name> -X GET 'https://<deployment-name>.cloud.databricks.com/api/2.0/scim/v2/Users' \ --header 'Authorization: Bearer $OAUTH_TOKEN'
Para obter mais informações sobre a utilização de APIs REST do Databricks, incluindo outras opções de autenticação, consulte a API do Workspace.
Etapa 8: Configuração do PrivateLink pós-implementação (opcional)
Essa etapa é necessária somente se você estiver configurando o AWS PrivateLink.
Após a criação do workspace:
Se você estiver implementando uma conexão PrivateLink front-end , implemente alterações relevantes na configuração de DNS conforme descrito na etapa 4: Configurar DNS interno para redirecionar solicitações do usuário para o aplicativo Web (para front-end).
Opcionalmente, crie outro VPC endpoint, conforme descrito na etapa 5: Adicionar VPC endpoint para outro serviço AWS.
Etapa 9: Outras configurações opcionais pós-implementação
Você pode considerar estas etapas de configuração opcionais para seu novo workspace.
Habilitar listas de acesso IP
Configure quais endereços IP podem se conectar ao aplicativo Web, APIs REST, endpoint JDBC/ODBC e DBConnect. Você pode especificar listas de permissões e listas de bloqueios como endereços IP ou intervalos. Consulte Configurar listas de acesso IP para áreas de trabalho.
Habilitar tabela do sistema logs de auditoria
A Databricks recomenda fortemente que você habilite a tabela do sistema logs de auditoria para monitorar as atividades executadas e o uso incorrido pelos usuários do Databricks. Seu workspace deve ter o Unity Catalog habilitado. Consulte Monitorar o uso com tabelas do sistema para obter instruções.
Solucionar erros de criação do workspace
As seções a seguir fornecem soluções para erros comuns de criação de workspaces.
O número máximo de endereços foi atingido
Quando o Databricks cria um VPC em seu nome, você deve ter pelo menos um IP elástico não utilizado. Caso contrário, o VPC não será criada e ocorrerá o seguinte erro:
The maximum number of addresses has been reached.
Aumente o número de IPs elásticos e tente novamente.
Etapas gerais de solução de problemas
Para todos os erros de criação workspace, tente as seguintes etapas de solução de problemas na ordem fornecida.
Validar a rede
Se a criação workspace ou as passos de verificação de status indicarem um erro relacionado à rede, chame a API obter configuração de rede para garantir que as configurações de rede estejam corretas. Este endpoint da API tem o formato:
/accounts/<databricks-account-id>/networks/<databricks-network-id>
Por exemplo:
curl -X GET
'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/networks/<databricks-network-id>' \
--header 'Authorization: Bearer $OAUTH_TOKEN'
Na resposta, visualize os warning_messages
error_messages
campos. Se as duas matrizes estiverem vazias, não haverá avisos ou erros.
Caso contrário, reveja cuidadosamente os avisos e os objetos JSON de erro:
Para avisos, a enumeração
warning_type
indica que o problema era com uma sub-rede ou grupo de segurança. O(A)warning_message
fornece detalhes adicionais. Esteja ciente de que, se você tiver uma instância de NAT ou firewall (em vez de um gateway NAT), a validação de rede sempre emitirá um aviso.Para erros, a enumeração
error_type
indica que o problema ocorreu com credenciais, VPC, sub-rede, grupo de segurança ou ACL de rede. Oerror_message
fornece detalhes adicionais.
Corrigir problemas de infraestrutura
Dependendo dos erros na resposta à solicitação de API de configuração de rede , confirme se:
Seu grupo de segurança está em conformidade com os requisitos do VPC gerenciada pelo cliente.
Sua política de IAM entre contas inclui as permissões necessárias. Consulte Criar uma função de IAM para implementações do workspace para a política a ser usada para seu tipo de implementação.
Atualizar o workspace com falha
Para atualizar o workspace com falha, chame o workspace de atualização e reimplante a API (PATCH /accounts/<account-id>/workspaces/<workspace-id>
).
A API de atualização do workspace permite atualizações nas configurações do workspace que falharam durante a criação do workspace, somente para alterar as configurações de credenciais, armazenamento, rede (para VPC gerenciado pelo cliente) e chaves (para criptografar notebooks).
Observação
Você pode usar a mesma API para atualizar um workspace em execução (implantado com sucesso), mas só pode alterar as configurações de credencial e de rede.
Você pode passar esses campos de configuração do workspace para alterá-los: credentials_id
, storage_configuration_id
, network_id
, managed_services_customer_managed_key_id
e storage_customer_managed_key_id
.
Se o valor workspace_status
retornar PROVISIONING
, continue verificando o estado RUNNING
usando a API get workspace.
Por exemplo:
curl -X PATCH 'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/workspaces/<databricks-workspace-id>' \
--header 'Authorization: Bearer $OAUTH_TOKEN' \
-d '{
"aws_region": "us-west-2",
"credentials_id": "<aws-credentials-id>",
"storage_configuration_id": "<databricks-storage-config-id>",
"network_id": "<databricks-network-id>",
"managed_services_customer_managed_key_id": "<aws-kms-managed-services-key-id>",
"storage_customer_managed_key_id": "<aws-kms-notebook-workspace-storage-id>"
}'
Resposta:
{
"workspace_id": 123456789,
"workspace_name": "my-company-example",
"aws_region": "us-west-2",
"creation_time": 1579768294842,
"deployment_name": "my-company-example",
"workspace_status": "PROVISIONING",
"account_id": "<databricks-account-id>",
"credentials_id": "<aws-credentials-id>",
"storage_configuration_id": "<databricks-storage-config-id>",
"workspace_status_message": "Workspace resources are being set up.",
"network_id": "<databricks-network-id>",
"managed_services_customer_managed_key_id": "<aws-kms-managed-services-key-id>",
"storage_customer_managed_key_id": "<aws-kms-notebook-workspace-storage-id>",
"pricing_tier": "ENTERPRISE"
}
Se a atualização do workspace falhar, recrie a rede e o workspace
Se a API de atualização do workspace não funcionar, você deve excluir e recriar a rede (se tiver fornecido sua própria VPC) e o workspace com falha na seguinte ordem.
Exclua o espaço de trabalho usando a API delete workspace (
DELETE /accounts/<account-id>/workspaces/<workspace-id>
).Por exemplo:
curl -X DELETE 'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/workspaces/<databricks-workspace-id>' \ --header 'Authorization: Bearer $OAUTH_TOKEN'
Se você forneceu sua própria VPC, exclua a configuração de rede do Databricks usando a API de exclusão de configuração de rede (
DELETE /accounts/<account-id>/networks/<network-id>
).Por exemplo:
curl -X DELETE 'https://accounts.cloud.databricks.com/api/2.0/accounts/<databricks-account-id>/networks/<databricks-network-id>' --header 'Authorization: Bearer $OAUTH_TOKEN'
Recrie a rede usando os valores corretos para
vpc_id
,subnet_ids
esecurity_group_ids
.Recrie a área de trabalho usando os valores corretos para
credentials_id
,storage_configuration_id
,network_id
,managed_services_customer_managed_key_id
estorage_customer_managed_key_id
.Se você obtiver o valor
workspace_status
PROVISIONING
, continue verificando o estadoRUNNING
usando a API get workspace.