Criar um workspace usando a API da conta

Você pode criar workspace usando a API da conta. A API account permite criar programaticamente vários novos workspace do Databricks associados a uma única account do Databricks. Cada workspace criado pode ter definições de configuração diferentes. Como alternativa, você pode criar um espaço de trabalho usando o consoleaccount ou o Terraform.

Por default, o Databricks cria e gerencia o ciclo de vida do VPC do workspace. Opcionalmente, você pode especificar sua própria VPC gerenciada pelo cliente. Este recurso requer o nível de preços Premium.

Crie um espaço de trabalho com a VPC padrão usando a API Account

Este tópico descreve como usar a API account para criar um workspace que tenha uma VPC gerenciada pelo Databricks. Para criar um espaço de trabalho que usa uma VPC gerenciada pelo cliente, siga as instruções em Criar um espaço de trabalho com uma VPC gerenciada pelo cliente usando a API account .

Você pode usar a API da conta para criar um workspace. A API account é uma API no nível account , o que significa que a autenticação é diferente da maioria das APIs REST do Databricks, que são APIs no nível workspace . Para autenticação em APIs no nível account , você deve usar a autenticação de ID do Google e criar dois tipos diferentes de tokens (um token de ID do Google e um access token do Google) que você inclui como cabeçalhos HTTP em cada solicitação de API de account . Consulte Autenticação com tokens de ID do Google.

Ações relacionadas:

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

  1. Certifique-se de que a account de serviço que você está usando tenha as permissões corretas para a criação do workspace. Esta é a sua account de serviço principal, chamada SA-2, conforme descrito em Autenticação com tokens de ID do Google. A account de serviço precisa de uma das seguintes funções ou grupos de funções no projeto do Google clouds em que o workspace é criado:

    • Proprietário (roles/owner)

    • Editor (roles/editor) e administrador do IAM do projeto (roles/resourcemanager.projectIamAdmin).

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

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

    3. Se a account de serviço já tiver funções neste projeto, você poderá encontrá-la nesta página e revisar suas funções na coluna Função .

    4. Para adicionar novos papéis à account de serviço neste projeto:

      1. Na parte superior da página do IAM, clique em ADICIONAR.

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

      3. Clique no campo Selecionar uma função . Escolha uma função necessária. Para as funções Proprietário, Visualizador e Editor, você pode encontrá-las no seletor na categoria Básica .

      4. Para adicionar outras funções, clique em ADICIONAR OUTRA FUNÇÃO e repita os passos anteriores em “Para adicionar funções”.

      5. Clique em Salvar.

  2. Se você ainda não fez isso ou se seu ID do Google ou access token expirou, crie os dois tipos de tokens para autenticação do ID do Google na API da account .

  3. Calcule as sub-redes do GKE usadas pelo seu workspace do Databricks. Você não pode alterá-los após a implantação do seu workspace . Se os intervalos de endereços das suas sub-redes do Databricks forem demasiado pequenos, o workspace esgota o seu espaço IP, o que faz com que o seu Job do Databricks falhe. Para determinar os tamanhos de intervalo de endereços necessários, use a calculadora fornecida pelo Databricks.

  4. Crie um default workspace usando o comando a seguir.

    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 ID do Google e access token do Google .

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

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

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

    • <workspace-resource-project-id> com o projeto clouds do Google que você deseja usar.

    Defina parâmetros opcionais:

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

    • (Opcional) Para substituir o gerenciamento dos intervalos IP da rede default, adicione um objeto gcp_managed_network_config na solicitação. Por exemplo, altere os intervalos de IP para pods clusters , serviço clusters 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 mestre 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 gerenciar 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 se seu workspace foi criado com sucesso. Ao lado do seu workspace na lista de workspace, clique em Abrir. Para view o status do espaço de trabalho e testar o espaço de trabalho, consulte view o status do espaço de trabalho.

  6. Proteja os buckets do GCS do workspace. Consulte Proteja os buckets do GCS do workspace no seu projeto.

    Quando você cria um workspace, Databricks on Google clouds cria dois buckets do Google clouds Storage (GCS) em seu projeto clouds do Google. A Databricks recomenda fortemente que você proteja esses buckets do GCS para que eles não sejam acessíveis de fora Databricks on Google Cloud

Durante a criação workspace , o Databricks habilita algumas APIs do Google necessárias no projeto, caso ainda não estejam habilitadas. Consulte Ativação de APIs do Google em um projeto de espaço de trabalho.

Crie um espaço de trabalho com uma VPC gerenciada pelo cliente usando a API da conta

Antes de criar um workspace com uma VPC gerenciada pelo cliente, você deve criar um objeto Databricks chamado configuração de rede, que representa a VPC clouds do Google que você planeja usar, bem como objetos relacionados, como sub-redes. Você especifica a configuração de rede ao criar o workspace do Databricks. Não é possível mover um workspace existente com uma VPC gerenciada pelo Databricks para sua própria VPC. Além disso, após a criação workspace , você não poderá alterar qual VPC gerenciada pelo cliente que o workspace usa.

Você também pode realizar a tarefa descrita neste artigo usando o consoleaccount . No entanto, para configurar uma VPC gerenciada pelo cliente, o clouds principal do Google que precisa de funções específicas nos clouds projetos do Google depende de como você realiza as operações. Para usar o consoleaccount , o principal é sua account de usuário administrador. Para usar a API Account, o principal é a conta de serviço principal (SA-2) que você usará para autenticação do ID do Google.

Você pode usar a API da conta para adicionar uma configuração de rede e também para criar um workspace. A API account é uma API no nível account , o que significa que a autenticação é diferente da maioria das APIs REST do Databricks, que são APIs no nível workspace . Para autenticação em APIs no nível account , você deve usar a autenticação de ID do Google e criar dois tipos diferentes de tokens (token de ID do Google e access token do Google) que você inclui como cabeçalhos HTTP em cada solicitação de API account . Para obter detalhes, consulte Autenticação com tokens de ID do Google.

Configure sua VPC

Execute as seguintes etapas descritas nos artigos Configurar uma VPC gerenciada pelo cliente:

  1. Revise todos os requisitos de VPC gerenciados pelo cliente.

  2. Crie sua VPC.

Não execute outros passos nesses artigos.

Adicione papéis à sua conta de serviço

O principal que realiza uma operação deve ter funções específicas exigidas para cada operação. O principal que necessita de funções específicas no projeto depende de como você realiza as operações.

Uma account de serviço não herda automaticamente funções suas como criador. Você precisa adicionar papéis à account de serviço no projeto.

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

  1. Revise as funções necessárias em projetos para criar um 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 account uso da API : não especifique account email o endereço de da sua de usuário administrador como principal. Em vez disso, especifique o principal como o endereço email da account de serviço principal (SA-2) que você usará para autenticação do ID do Google.

registrar uma configuração de rede

Você pode usar a API account para adicionar uma configuração de rede. Para obter uma referência completa da API ou fazer downloads da especificação OpenAPI, consulte API de conta.

Importante

Ambos os tipos de tokens de autenticação (token de ID do Google e access token do Google) expiram em uma hora. Considere inicialmente a leitura da documentação do ID do Google, mas espere para criar seus tokens de autenticação até estar pronto para chamar a API account .

  1. Habilite a API clouds Recurso Manager no projeto da sua accountde serviço

    1. Acesse a API do Gerenciador de recursosclouds .

    2. Se necessário, use o seletor de projetos na parte superior da página para alterar o projeto para o projeto Google clouds onde a account de serviço que você usará foi criada. Nos exemplos de ID do Google, essa account de serviço principal também é chamada de SA-2.

    3. Se você vir o botão Ativar , clique em Ativar. Aguarde 1 minuto antes de continuar.

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

  2. Se você ainda não fez isso ou se seu ID do Google ou access token expirou, crie os dois tipos de tokens necessários para a autenticação do ID do Google.

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

    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> pelo seu ID do Google e access token do Google .

    • Substitua <account-id> pelo ID da sua account .

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

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

      Importante

      Se você usar uma VPC compartilhada do Google clouds , que permite um projeto diferente do Google clouds para seu recurso de workspace , como recurso compute e armazenamento, defina-o como o ID do projeto para sua VPC, não o ID do projeto para seu recurso workspace .

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

    • Para <name-of-pod-secondary-range> e <name-of-svc-secondary-range>, substitua pelo intervalo secundário do pod e pelo intervalo secundário de serviço que você criou nos passos anteriores. Se você usou o exemplo anterior para criar a VPC independente com o comando da CLI gcloud , esses intervalos de IP secundários serão denominados pod e svc.

      Os intervalos de IP para pods, serviço e intervalo de IP mestre 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. Este é o ID do seu objeto de configuração de rede. Você precisará dele para criar o workspace.

Crie um espaço de trabalho com uma VPC gerenciada pelo cliente

Execute as etapas a seguir para usar a API account para criar um workspace com uma VPC gerenciada pelo cliente. Para obter uma referência completa da API ou fazer downloads da especificação OpenAPI, consulte API de conta. Para criar um espaço de trabalho com uma VPC gerenciada pelo Databricks, consulte Criar um espaço de trabalho com a VPC padrão usando a API account .

Importante

Ambos os tipos de tokens de autenticação (token de ID do Google e access token do Google) expiram em uma hora. Considere inicialmente a leitura da documentação do ID do Google, mas espere para criar seus tokens de autenticação até estar pronto para chamar a API account .

  1. Caso ainda não tenha feito isso, habilite a API clouds Resource Manager no projeto da sua accountde serviço. Se você já fez isso, pule para a próxima etapa desta seção.

    1. Acesse a API do Gerenciador de recursosclouds .

    2. Se necessário, use o seletor de projetos na parte superior da página para alterar o projeto para o projeto Google clouds onde a account de serviço que você usará foi criada. Nos exemplos de ID do Google, essa account de serviço principal também é chamada de SA-2.

    3. Se você vir o botão Ativar , clique em Ativar. Aguarde 1 minuto antes de continuar.

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

    Importante

    Se você usar uma VPC compartilhada do Google clouds , que permite um projeto de Google clouds diferente para seu recurso workspace , como recurso compute e armazenamento, observe que você precisa de funções específicas em ambos os projetos.

  3. Se você ainda não fez isso ou se seu ID do Google ou access token expirou, crie os dois tokens necessários para a autenticação do ID do Google para esta API.

  4. Execute o seguinte comando para criar um workspace típico com clusters privados do GKE:

    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> pelo seu ID do Google e access token do Google .

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

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

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

    • Substitua <workspace-resource-project-id> pelo projeto clouds do Google que você deseja usar.

      Importante

      Se você usar uma VPC compartilhada do Google clouds , que permite um projeto diferente do Google clouds para seu recurso workspace , como recurso compute e armazenamento, defina o campo ID do projeto do Google clouds como o ID do projeto para o recurso de workspace , e não o ID do projeto para sua VPC.

    • Substitua <network-configuration-id> pelo ID do objeto de configuração de rede da etapa anterior onde você o registrou.

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

      Os intervalos de IP para pods, serviço e intervalo de IP mestre 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) Você pode proteger um workspace com conectividade privada e mitigar os riscos de exfiltração de dados ativando o Google Private serviço Connect (PSC) no workspace. Para configurar isso, você precisa ter criado um objeto de configurações de acesso privado e referenciar seu ID no parâmetro private_access_settings_id . Antes de adicionar a configuração do PSC, a Databricks recomenda fortemente a leitura dos artigos Habilitar serviço privado Connect para seu workspace para obter requisitos e 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 gerenciar 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 se seu workspace foi criado com sucesso. Ao lado do seu workspace na lista de workspace, clique em Abrir. Para view o status do espaço de trabalho e testar o espaço de trabalho, consulte view o status do espaço de trabalho.

  6. Proteja os buckets do GCS do workspace. Consulte Proteja os buckets do GCS do workspace no seu projeto.

    Quando você cria um workspace, Databricks on Google clouds cria dois buckets do Google clouds Storage (GCS) em seu projeto clouds do Google. A Databricks recomenda fortemente que você proteja esses buckets do GCS para que eles não possam ser acessados de fora Databricks on Google Cloud.

Durante a criação workspace , o Databricks habilita algumas APIs do Google necessárias no projeto, caso ainda não estejam habilitadas. Consulte Ativação de APIs do Google em um projeto de espaço de trabalho.