Criar um workspace usando a API da conta

O senhor pode criar um espaço de trabalho usando o comando account API. O account API permite que o senhor crie programaticamente vários novos espaços de trabalho Databricks associados a um único Databricks account. Cada workspace que o senhor cria pode ter diferentes definições de configuração. Como alternativa, o senhor pode criar um workspace usando o consoleaccount ou Terraform.

defaultDatabricks Por meio do , o cria e gerencia o ciclo de vida do do workspace VPC. Opcionalmente, o senhor pode especificar seu próprio gerenciador de clientes VPC. Esse recurso requer o nível Premium Preços.

Criar um espaço de trabalho com a VPC padrão usando a API da conta

Este tópico descreve como usar o account API para criar um workspace que tenha um Databricks-gerenciar VPC. Para criar um workspace que use um gerenciador de clientes VPC, siga as instruções em Criar um workspace com um gerenciador de clientes VPC usando o account API .

O senhor pode usar o account API para criar um workspace. O account API é um account-level API, o que significa que a autenticação é diferente da maioria dos Databricks REST APIs, que são workspace-level APIs. Para autenticação em account-level APIs, o senhor deve usar a autenticação do Google ID e criar dois tipos diferentes de tokens (tokens de ID do Google e um Google access token) que serão incluídos como cabeçalhos HTTP em cada solicitação account API . Consulte Autenticação com tokens de ID do Google.

Ações relacionadas:

Para criar um workspace com o default VPC usando o account API:

  1. Certifique-se de que o serviço account que o senhor está usando tenha as permissões corretas para a criação do workspace. Esse é seu serviço principal account, chamado SA-2, conforme descrito em Autenticação com o Google ID tokens. O serviço account precisa de uma das seguintes funções ou grupos de funções no projeto Google cloud no qual o workspace foi criado:

    • Proprietário (roles/owner)

    • Tanto o Editor (roles/editor) quanto o Administrador do IAM do projeto (roles/resourcemanager.projectIamAdmin).

    1. Vá para a página IAM do projeto no console do Google Cloud.

    2. Se necessário, altere o projeto no seletor de projetos na parte superior da página para que corresponda ao projeto do site workspace.

    3. Se o serviço account já tiver funções nesse projeto, o senhor poderá encontrá-lo nessa página e revisar suas funções na coluna Role (Função ).

    4. Para adicionar novas funções ao serviço account nesse projeto:

      1. Na parte superior da página do IAM, clique em ADD (Adicionar).

      2. No campo Principal, digite o endereço email do serviço account.

      3. Clique no campo Select a role (Selecionar uma função ). Escolha uma função necessária. Para as funções Owner (Proprietário), Viewer (Visualizador) e Editor (Editor), o senhor pode encontrá-las no seletor da categoria Basic (Básico ).

      4. Para adicionar outras funções, clique em ADD ANOTHER ROLE (Adicionar outra função) e repita os passos anteriores em "To add roles" (Para adicionar funções).

      5. Clique em Salvar.

  2. Se o senhor ainda não tiver feito isso ou se o seu Google ID ou access tokens tiver expirado, crie os dois tipos de tokens para autenticação do Google ID no account API.

  3. Calcule as sub-redes GKE usadas pelo seu Databricks workspace. O senhor não pode alterá-los depois que o workspace for implantado. Se os intervalos de endereços das sub-redes do Databricks forem muito pequenos, o workspace esgotará seu espaço IP, o que causará falha no trabalho do Databricks. Para determinar o tamanho do intervalo de endereços de que o senhor precisa, use a calculadora fornecida pela Databricks.

  4. Crie um default workspace usando o seguinte comando.

    curl --location --request POST 'https://accounts.gcp.databricks.com/api/2.0/accounts/<account-id>/workspaces' \
    --header 'X-Databricks-GCP-SA-Access-Token: <google-access-token>' \
    --header 'Authorization: Bearer <google-id-token>' \
    --header 'Content-Type: application/json' \
    --data-raw '{
       "workspace_name": "<workspace-name>",
       "cloud": "gcp",
       "location": "<region>",
       "cloud_resource_container": {
           "gcp": {
              "project_id": "<workspace-resource-project-id>"
           }
       },
    }
    '
    

    Substituir:

    • <google-id-token> e <google-access-token> com seu Google ID e Google access tokens.

    • <account-id> com o ID de sua conta.

    • <workspace-name> com um nome legível por humanos para seu novo workspace.

    • <region> com o nome de uma região suportada.

    • <workspace-resource-project-id> com o projeto do Google cloud que o senhor deseja usar.

    Definir parâmetros opcionais:

    • (Opcional) Para substituir o padrão do parâmetro GKE, adicione um objeto gke_config na solicitação. Por exemplo, mude para o GKE público cluster ou altere o intervalo de IP para o recurso mestre do GKE cluster. Consulte Criar um novo workspace.

    • (Opcional) Para substituir o padrão dos intervalos de IP da rede gerenciar, adicione um objeto gcp_managed_network_config na solicitação. Por exemplo, altere os intervalos de IP para pods de cluster, serviço de cluster ou o intervalo de IP no formato CIDR a ser usado para a sub-rede. Consulte Criar um novo workspace.

      Observação

      Os intervalos de IP para pods, serviço e intervalo de IP principal devem ser mutuamente exclusivos. Os intervalos de IP para esses campos não devem se sobrepor, e todos os endereços IP devem estar inteiramente dentro dos seguintes intervalos: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, 192.168.0.0/16 e 240.0.0.0/4.

    • (Opcional) O senhor pode adicionar a chave de criptografia do gerenciador de clientes para ajudar a controlar o acesso a alguns tipos de dados. Consulte Chave de gerenciamento de clientes para criptografia. Para configurar a chave com o workspace, o senhor precisa ter criado um objeto de configuração de criptografia key para que possa referenciá-lo por ID nos parâmetros storage_customer_managed_key_id (para workspace storage) ou managed_services_customer_managed_key_id (para serviço gerenciado). Consulte Configurar chave gerenciadora de clientes para obter informações sobre requisitos e contexto de criptografia.

  5. Confirme que o site workspace foi criado com sucesso. Ao lado de seu workspace na lista de espaços de trabalho, clique em Open. Para view workspace status e testar o workspace, consulte view workspace status.

  6. Prenda as caçambas do workspace's GCS. Consulte Proteger os buckets GCS do espaço de trabalho em seu projeto.

    Quando o senhor cria um workspace, o Databricks on Google Cloud cria dois buckets Google Cloud Storage (GCS) no seu projeto Google cloud. Databricks Recomenda-se enfaticamente que o senhor proteja esses GCS baldes de modo que eles não possam ser acessados de fora Databricks on Google Cloud

Durante a criação do workspace, o Databricks habilita alguns itens necessários do Google APIs no projeto, caso ainda não estejam habilitados. Consulte Ativação das APIs do Google em um projeto de espaço de trabalho.

Criar um workspace com um cliente-gerenciar VPC usando o account API

Antes de criar um workspace com um cliente-gerenciar VPC, é necessário criar um objeto Databricks chamado configuração de rede, que representa o Google cloud VPC que o senhor planeja usar, bem como objetos relacionados, como sub-redes. O senhor especifica a configuração de rede ao criar o site Databricks workspace. O senhor não pode mover um workspace existente com um Databricks-gerenciar VPC para o seu próprio VPC. Além disso, após a criação do workspace, o senhor não pode alterar o gerenciador de clientes VPC que o workspace usa.

O senhor também pode executar a tarefa descrita neste artigo usando o consoleaccount . No entanto, para configurar um cliente-gerenciar VPC, o cloud principal do Google que precisa de funções específicas nos cloud projetos do Google depende de como o senhor realiza as operações. Para usar o consoleaccount , o principal é o usuário administrador account. Para usar o account APIo principal é o serviço principal account (SA-2) que o senhor usará para a autenticação do Google ID.

O senhor pode usar o botão account API para adicionar uma configuração de rede e também para criar um workspace. O account API é um account-level API, o que significa que a autenticação é diferente da maioria dos Databricks REST APIs, que são workspace-level APIs. Para autenticação em account-level APIs, o senhor deve usar a autenticação do Google ID e criar dois tipos diferentes de tokens (tokens do Google ID e um Google access token) que são incluídos como cabeçalhos HTTP em cada solicitação account API . Para obter detalhes, consulte Autenticação com tokens de ID do Google.

Configure sua VPC

Execute os seguintes passos descritos nos artigos Configure a customer-gerenciar VPC:

  1. Analise todos os requisitos para gerenciar o cliente VPC .

  2. Crie sua VPC.

O senhor não deve realizar outros passos nesse artigo.

Adicionar funções à sua conta de serviço

O diretor que executa uma operação deve ter funções específicas exigidas para cada operação. O principal que precisa de funções específicas no projeto depende de como o senhor realiza as operações.

Um serviço account não herda automaticamente as funções do senhor como seu criador. O senhor deve adicionar funções para o serviço account no projeto.

Usando os artigos Configure a customer-gerenciar VPC, execute os seguintes passos:

  1. Analise as funções necessárias nos projetos para criar um site workspace e outras operações relacionadas.

  2. Siga as instruções para adicionar funções específicas em projetos, mas com uma modificação para o uso do account API : não especifique o endereço do usuário administrador account email como o principal. Em vez disso, especifique o principal como o endereço email do serviço principal account (SA-2) que o senhor usará para a autenticação do Google ID.

registro de uma configuração de rede

O senhor pode usar o site account API para adicionar uma configuração de rede. Para obter uma referência completa da API ou fazer o download da especificação da OpenAPI, consulte Account API.

Importante

Ambos os tipos de autenticação tokens (tokens do Google ID e Google access tokens) expiram em uma hora. Considere ler inicialmente a documentação do Google ID, mas espere para criar sua autenticação tokens até que o senhor esteja pronto para chamar account API.

  1. Habilite o cloud recurso Manager API em seu projeto de serviço account

    1. Acesse o site cloud recurso Manager API.

    2. Se necessário, use o seletor de projetos na parte superior da página para alterar o projeto para o projeto do Google cloud onde o serviço account que o senhor usará foi criado. Nos exemplos do Google ID, esse serviço principal account também é chamado de SA-2.

    3. Se o botão Enable for exibido, clique em Enable. Aguarde 1 minuto antes de prosseguir.

      Se o botão Enable não estiver visível, a API já está ativada.

  2. Se o senhor ainda não tiver feito isso ou se o seu Google ID ou access tokens tiver expirado, crie os dois tipos de tokens necessários para a autenticação do Google ID.

  3. Crie a configuração de rede usando a API REST com o seguinte comando.

    curl --location --request POST 'https://accounts.gcp.databricks.com/api/2.0/accounts/<account-id>/networks' \
    --header 'X-Databricks-GCP-SA-Access-Token: <google-access-token>' \
    --header 'Authorization: Bearer <google-id-token>' \
    --header 'Content-Type: application/json' \
    --data-raw '{
     "network_name": "<network-configuration-name>",
     "gcp_network_info": {
       "network_project_id": "<vpc-host-project-id>",
       "vpc_id": "<vpc-id>",
       "subnet_id": "<subnet-id>",
       "subnet_region": "<subnet-region>",
       "pod_ip_range_name": "<name-of-pod-secondary-range>",
       "service_ip_range_name": "<name-of-svc-secondary-range>"
     }
    }'
    
    • Substitua <google-id-token> e <google-access-token> por seu Google ID e Google access tokens.

    • Substitua <account-id> por sua ID account.

    • Substitua <network-configuration-name> por um novo nome de configuração de rede legível por humanos.

    • Substitua <vpc-host-project-id> pelo ID do projeto de sua VPC.

      Importante

      Se o senhor usar um Google cloud Shared VPC, que permite um projeto diferente do Google cloud para o seu workspace recurso, como compute recurso e armazenamento, defina isso como o ID do projeto para o seu VPC, e não o ID do projeto para o seu workspace recurso.

    • Defina os campos <vpc-id>, <subnet-id> e <subnet-region> como a ID da VPC, a ID da sub-rede e a região da sub-rede. A região da sub-rede deve corresponder à região que o senhor deseja usar com seu novo workspace.

    • Para <name-of-pod-secondary-range> e <name-of-svc-secondary-range>, substitua pela faixa secundária do pod e pela faixa secundária do serviço que o senhor criou nos passos anteriores. Se o senhor usou o exemplo anterior para criar a VPC autônoma com o comando gcloud CLI, esses intervalos de IP secundários serão denominados pod e svc.

      Os intervalos de IP para pods, serviço e intervalo de IP principal devem ser mutuamente exclusivos. Os intervalos de IP para esses campos não devem se sobrepor, e todos os endereços IP devem estar inteiramente dentro dos seguintes intervalos: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, 192.168.0.0/16 e 240.0.0.0/4.

    Isso retorna um objeto de configuração de rede formatado em JSON:

    {
      "account_id": "e11e38c5-a449-47b9-b37f-0fa36c821612",
      "creation_time": 1644388480866,
      "gcp_network_info": {
        "network_project_id": "<vpc-host-project-id>",
        "pod_ip_range_name": "<name-of-pod-secondary-range>",
        "service_ip_range_name": "<name-of-svc-secondary-range>",
        "subnet_id": "<subnet-id>",
        "subnet_region": "<subnet-region>",
        "vpc_id": "<vpc-id>"
      },
      "network_id": "<network-configuration-id",
      "network_name": "<network-configuration-name>",
      "vpc_status": "UNATTACHED"
    }
    
  4. Salve o campo network_id no resultado. Esse é o ID do seu objeto de configuração de rede. O senhor precisará dele para criar o site workspace.

Criar um workspace com um cliente-gerenciar VPC

Execute os seguintes passos para usar o account API para criar um workspace com um cliente-gerenciar VPC. Para obter uma referência completa da API ou fazer o download da especificação da OpenAPI, consulte Account API. Para criar um workspace com um Databricks-gerenciar VPC, consulte Criar um workspace com o default VPC usando o account API .

Importante

Ambos os tipos de autenticação tokens (tokens do Google ID e Google access tokens) expiram em uma hora. Considere ler inicialmente a documentação do Google ID, mas espere para criar sua autenticação tokens até que o senhor esteja pronto para chamar account API.

  1. Se o senhor ainda não tiver feito isso, ative o cloud recurso Manager API no projeto do seu serviço account. Se já tiver feito isso, pule para o próximo passo desta seção.

    1. Acesse o site cloud recurso Manager API.

    2. Se necessário, use o seletor de projetos na parte superior da página para alterar o projeto para o projeto do Google cloud onde o serviço account que o senhor usará foi criado. Nos exemplos do Google ID, esse serviço principal account também é chamado de SA-2.

    3. Se o botão Enable for exibido, clique em Enable. Aguarde 1 minuto antes de prosseguir.

  2. Certifique-se de que o serviço account que o senhor está usando tenha as permissões corretas para a criação do workspace. Esse é seu serviço principal account, chamado SA-2, conforme descrito em Autenticação com o Google ID tokens. Consulte Requisitos da função.

    Importante

    Se o senhor usar um Google cloud Shared VPC, que permite um projeto diferente do Google cloud para o seu workspace recurso, como compute recurso e armazenamento, observe que é necessário ter funções específicas em ambos os projetos.

  3. Se ainda não tiver feito isso, ou se o seu Google ID ou access tokens tiver expirado, crie os dois tokens necessários para a autenticação do Google ID neste API.

  4. Execute o seguinte comando para criar um workspace típico com GKE privado cluster:

    curl --location --request POST 'https://accounts.gcp.databricks.com/api/2.0/accounts/<account-id>/workspaces' \
    --header 'X-Databricks-GCP-SA-Access-Token: <google-access-token>' \
    --header 'Authorization: Bearer <google-id-token>' \
    --header 'Content-Type: application/json' \
    --data-raw '{
       "workspace_name": "<workspace-name>",
       "cloud": "gcp",
       "location": "<region>",
       "cloud_resource_container": {
           "gcp": {
               "project_id": "<workspace-resource-project-id>"
           }
       },
       "network_id": "<network-configuration-id>",
       "gke_config": {
           "connectivity_type": "PRIVATE_NODE_PUBLIC_MASTER",
           "master_ip_range": "10.103.0.0/28"
      }
    }
    '
    
    • Substitua <google-id-token> e <google-access-token> por seu Google ID e Google access tokens.

    • Substitua <account-id> pelo ID de sua conta.

    • Substitua <workspace-name> por um nome legível para o seu novo workspace.

    • Substitua <region> pelo nome de uma região compatível.

    • Substitua <workspace-resource-project-id> pelo projeto do Google cloud que o senhor deseja usar.

      Importante

      Se o senhor usar um Google cloud Shared VPC, que permite um projeto diferente do Google cloud para o seu workspace recurso, como compute recurso e armazenamento, defina o campo Google cloud project ID como o ID do projeto para workspace recurso, e não o ID do projeto para o seu VPC.

    • Substitua <network-configuration-id> pela ID do objeto de configuração de rede do passo anterior em que o senhor o registrou.

    • (Opcional) Para substituir o padrão do parâmetro GKE, altere o objeto gke_config na solicitação. Por exemplo, mude para um GKE cluster público ou altere o intervalo de IPs para o recurso mestre do GKE cluster. Consulte Criar um novo workspace.

      Os intervalos de IP para pods, serviço e intervalo de IP principal devem ser mutuamente exclusivos. Os intervalos de IP para esses campos não devem se sobrepor, e todos os endereços IP devem estar inteiramente dentro dos seguintes intervalos: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, 192.168.0.0/16 e 240.0.0.0/4.

    • (Opcional) O senhor pode proteger o site workspace com conectividade privada e reduzir os riscos de exfiltração de dados ativando o Google Private Service Connect (PSC) no site workspace. Para configurar isso, o senhor precisa ter criado um objeto de configurações de acesso privado e fazer referência ao seu ID no parâmetro private_access_settings_id. Antes de adicionar a configuração do PSC, o site Databricks recomenda enfaticamente a leitura dos artigos Enable Private serviço Connect for your workspace para conhecer os requisitos e o contexto.

    • (Opcional) O senhor pode adicionar a chave de criptografia do gerenciador de clientes para ajudar a controlar o acesso a alguns tipos de dados. Consulte Chave de gerenciamento de clientes para criptografia. Para configurar a chave com o workspace, o senhor precisa ter criado um objeto de configuração de criptografia key para que possa referenciá-lo por ID nos parâmetros storage_customer_managed_key_id (para workspace storage) ou managed_services_customer_managed_key_id (para serviço gerenciado). Consulte Configurar chave gerenciadora de clientes para obter informações sobre requisitos e contexto de criptografia.

  5. Confirme que o site workspace foi criado com sucesso. Ao lado de seu workspace na lista de espaços de trabalho, clique em Open. Para view workspace status e testar o workspace, consulte view workspace status.

  6. Prenda as caçambas do workspace's GCS. Consulte Proteger os buckets GCS do espaço de trabalho em seu projeto.

    Quando o senhor cria um workspace, o Databricks on Google Cloud cria dois buckets Google Cloud Storage (GCS) no seu projeto Google cloud. Databricks Recomenda-se enfaticamente que o senhor proteja esses GCS baldes para que não sejam acessíveis de fora Databricks on Google Cloud.

Durante a criação do workspace, o Databricks habilita alguns itens necessários do Google APIs no projeto, caso ainda não estejam habilitados. Consulte Ativação das APIs do Google em um projeto de espaço de trabalho.