Pular para o conteúdo principal

Autenticar com access tokens pessoal Databricks (legado)

Databricks Os access tokens pessoais (PATs) permitem que o senhor se autentique em recurso e APIs no nível workspace. O senhor pode armazená-los em perfis de configuração variável de ambiente ou Databricks. Cada PAT é válido apenas para um workspace, e um usuário pode criar até 600 PATs por workspace. A Databricks revoga automaticamente os PATs que não foram usados por 90 dias.

importante

Sempre que possível, Databricks recomenda o uso OAuth em vez de PATs para autenticação account de usuário, pois OAuth oferece maior segurança. Para aprender como autenticar com uma account de usuário Databricks usando OAuth, consulte Autorizar o acesso do usuário ao Databricks com OAuth.

Para saber se os tokens do Google ID são compatíveis com suas ferramentas, SDKs, scripts e aplicativos, consulte a documentação do seu provedor.

Você não pode usar access tokens pessoal para automatizar a funcionalidade de nível deaccount Databricks . Em vez disso, use tokens de ID do Google de administradores de nível account Databricks , que são contas de serviço do Google com direitos de administrador. Consulte Autenticar com tokensde ID do Google e a APIda conta. Veja também:

Crie access tokens pessoais para usuários workspace​

Para criar um access token pessoal para o usuário do seu workspace Databricks , faça o seguinte:

  1. No seu workspace Databricks , clique no seu nome de usuário na barra superior e selecione Configurações .
  2. Clique em Desenvolvedor .
  3. Ao lado de Access tokens , clique em Gerenciar .
  4. Clique em Gerar novo token .
  5. Insira um nome que ajude você a identificar esses tokens posteriormente.
  6. Defina a duração do token em dias. Consulte Definir o tempo de vida máximo dos novos access tokenspessoal.
  7. Selecione um tipo de escopo e adicione escopos de API. Selecione FerramentasBI para ferramentas que se conectam a data warehouses Databricks SQL como Tableau ou Power BI, ou selecione Outras APIs para escolher os escopos manualmente. Consulte access tokenspessoal com escopo.
  8. Para habilitar o escopo automático para este tokens, ative Auto-scope tokens . O escopo automático restringe automaticamente os escopos dos tokens às APIs que ele usa, aplicando o escopo all-apis temporariamente durante o período de observação. Esta opção aparece apenas quando um administrador ativa a visualização do escopo automático para o seu workspace, e o escopo automático se aplica apenas a tokens com tempo de vida superior a 30 dias. Consulte Escopo automático para tokens de acesso pessoal.
  9. Clique em Gerar .
  10. Copie os tokens exibidos para um local seguro e clique em Concluído . Salve os tokens com segurança e não os compartilhe. Se você perdê-lo, deverá criar novos tokens.

Se você não consegue criar ou usar tokens, o administrador do seu workspace pode ter desabilitado tokens ou não lhe concedido permissão. Consulte o administrador do seu workspace ou o seguinte:

access tokenspessoal com escopo definido​

access tokens pessoal com escopo restringem as permissões de um token a operações específicas API . Em vez de conceder acesso total workspace , você atribui um ou mais escopos API , como sql, unity-catalog ou scim, que limitam quais operações API REST os tokens podem chamar.

atenção

Tokens com escopo authentication podem criar novos tokens com qualquer escopo. Conceda essa permissão apenas aos tokens que precisam gerenciar outros tokens.

Para criar tokens com escopo na interface do usuário workspace , selecione um tipo de escopo e adicione escopos API ao gerar novos tokens. Selecione FerramentasBI para ferramentas que se conectam a data warehouses Databricks SQL como Tableau ou Power BI, ou selecione Outras APIs para escolher os escopos manualmente.

Para obter uma lista completa dos escopos e suas respectivas operações de API, consulte Escopos de API.

Escopo automático para access tokens pessoais​

O escopo automático restringe automaticamente as permissões de um token apenas às APIs usadas ativamente por ele. O Databricks observa o uso da API do token por um período de 30 dias e, em seguida, aplica os escopos inferidos. O escopo automático é executado uma vez por tokens. Durante o período de observação, o token mantém o acesso total ao workspace (o escopo all-apis). O Databricks envia um email de lembrete 7 dias antes da aplicação e um email de aplicação quando os escopos inferidos são aplicados.

Controles de escopo automático​

  • Workspace preview (controlada pelo administrador): um administrador ativa ou desativa a prévia de escopo automático para todo o workspace no console da account ou na página Prévias do workspace. Consulte Gerenciar prévias do Databricks.
  • Configuração por token (autoscope_enabled): quando a visualização estiver habilitada, cada token opta por participar ou não individualmente no momento da criação.

O escopo automático se aplica apenas a tokens com tempo de vida superior a 30 dias. Isso inclui novos tokens criados com o escopo automático ativado e tokens de longa duração existentes. Para um token elegível existente, o período de observação de 30 dias começa quando um administrador habilita a pré-visualização. O Databricks aplica os escopos inferidos no final desse período e envia um email de lembrete 7 dias antes da imposição, o mesmo programar de um token com escopo automático recém-criado.

Cancelar a participação no escopo automático​

  • Um token, antes da aplicação : defina o token para escopos específicos na interface do usuário do workspace ( Settings > Developer > Access Tokens > gerenciar e clique em Update token ) ou com a API de Token (consulte Atualizar os escopos de um token de acesso pessoal). A definição de escopos específicos interrompe permanentemente o escopo automático para esse tokens. Definir o token de volta para o escopo all-apis (uma matriz scopes vazia) é uma operação nula e não interrompe o escopo automático. Para manter um token com acesso total a all-apis que nunca passe por escopo automático, crie um novo token com o escopo automático desativado.
  • Todo o workspace : solicite a um administrador que desative a visualização de escopo automático na página Previews . Consulte Gerenciar prévias do Databricks.

Após a conclusão da aplicação, não há nova execução do escopo automático para esse token, de modo que você pode definir seus escopos livremente, inclusive retornando a all-apis.

nota

A desativação da IU do workspace funciona apenas para um tokens de sua propriedade. Para desativar o token de um Service Principal, defina seus escopos com a solicitação PATCH /api/2.0/token/{token_id_sha256}.

Para revisar o status do escopo automático e os escopos deduzidos para os seus tokens, consulte Revisar o status do escopo automático de tokens.

Crie access tokens pessoal para entidade de serviço​

Um administrador workspace cria o PAT inicial para uma entidade de serviço e, em seguida, a entidade de serviço pode criar tokens adicionais para si mesma.

o passo 1: Crie um PAT para sua entidade de serviço​

Como administrador workspace , crie um access token pessoal Databricks em nome de uma entidade de serviço:

  1. Configure a autenticação para o Databricks CLI se ainda não estiver configurada.

  2. Obtenha o ID do aplicativo para a entidade de serviço Databricks :

    1. Clique no seu nome de usuário na barra superior e depois clique em Configurações .
    2. No espaço de trabalho admin , clique em Identidade e acesso > gerenciar (ao lado de entidade de serviço ).
    3. Clique no nome da entidade de serviço Databricks para abrir sua página de configurações.
    4. Na guia Configurações , observe o valor da ID do aplicativo .
  3. execute o seguinte comando para gerar o access token:

    Bash
    databricks token-management create-obo-token \
    <application-id> \
    --lifetime-seconds <lifetime-seconds> \
    -p <profile-name>

    Substitua os seguintes valores:

    • <application-id>: O ID do aplicativo entidade de serviço Databricks .
    • <lifetime-seconds>: tempo de vida dos tokens em segundos, como 86400 por 1 dia. padrão para o máximo workspace (normalmente 730 dias).
    • <profile-name>: Perfil de configuração com informações de autenticação. padrão para DEFAULT.
  4. Na resposta, copie o token_value, que é o access token para sua entidade de serviço Databricks . Salve os tokens com segurança e não os compartilhe. Se você perdê-lo, deverá criar novos tokens.

Se você não consegue criar ou usar tokens, o administrador do seu workspace pode ter desabilitado tokens ou não lhe concedido permissão. Consulte o administrador do seu workspace ou o seguinte:

Etapa 2: Crie PATs adicionais para sua entidade de serviço​

Use o PAT existente para criar tokens adicionais para a entidade de serviço.

  1. execute o seguinte comando para gerar um access token:

    Bash
    databricks tokens create \
    --lifetime-seconds <lifetime-seconds> \
    -p <profile-name>

    Substitua os seguintes valores:

    • <lifetime-seconds>: tempo de vida dos tokens em segundos, como 86400 por 1 dia. padrão para o máximo workspace (normalmente 730 dias).
    • <profile-name>: Perfil de configuração com informações de autenticação. padrão para DEFAULT.
  2. Copie o token_value da resposta, que é o access token para sua entidade de serviço Databricks . Salve os tokens com segurança e não os compartilhe. Se você perdê-lo, deverá criar novos tokens.

Se você não consegue criar ou usar tokens, o administrador do seu workspace pode ter desabilitado tokens ou não lhe concedido permissão. Consulte o administrador do seu workspace ou o seguinte:

Executar autenticação access token pessoal​

Para configurar a autenticação access token pessoal Databricks , defina a seguinte variável de ambiente associada, campos .databrickscfg , campos Terraform ou campos Config :

  • O Databricks host, especificado como o Databricks workspace URL de destino, por https://1234567890123456.7.gcp.databricks.com exemplo,.
  • O token de acesso pessoal do Databricks para a conta de usuário do Databricks.

Para executar a autenticação de access token pessoal do Databricks, integre o seguinte em seu código, com base na ferramenta ou SDK participante:

Para usar a variável de ambiente para um tipo específico de autenticação Databricks com uma ferramenta ou SDK, consulte Autorizar acesso ao recurso Databricks ou a documentação da ferramenta ou do SDK. Veja também variável de ambiente e campos para autenticação unificada e a prioridade do método de autenticação.

Defina as seguintes variáveis de ambiente:

  • DATABRICKS_HOST, definido Databricks workspace https://1234567890123456.7.gcp.databricks.comcomo o URL, por exemplo,.
  • DATABRICKS_TOKENdefinido como as cadeias de tokens.

Usar a API REST da Databricks para emitir tokens de acesso pessoal​

Databricks fornece um REST endpoint /api/2.0/token/create para emitir PATs. Consulte Criar tokens de usuário para obter detalhes em API.

No exemplo a seguir, defina estes valores:

  • <databricks-instance>: URL do seu workspace Databricks . Por exemplo, dbc-abcd1234-5678.cloud.databricks.com.
  • <your-existing-access-token>: Um PAT válido existente (strings) que tem permissões para criar novos tokens.
  • <lifetime-seconds>: O tempo de vida dos tokens em segundos.
  • <scopes>: uma lista de escopos a ser atribuída aos tokens ou um array vazio ([]) para conceder acesso total ao Workspace (o escopo all-apis). Consulte Tokens de acesso pessoal com escopo definido.
Bash
curl -X POST https://<databricks-instance>/api/2.0/token/create \
-H "Authorization: Bearer <your-existing-access-token>" \
-H "Content-Type: application/json" \
-d '{
"lifetime_seconds": <lifetime-seconds>,
"scopes": [
"sql",
"authentication"
],
"autoscope_enabled": true
}'

Se for bem-sucedido, isso resultará em uma carga de resposta semelhante a:

JSON
{
"token_value": "<your-newly-issued-pat>",
"token_info": {
"token_id": "<token-id>",
"creation_time": <creation-timestamp>,
"expiry_time": <expiry-timestamp>,
"comment": "<comment>",
"scopes": ["authentication", "sql"],
"last_accessed_time": 0
}
}

Forneça os novos tokens da resposta no cabeçalho Authorization das chamadas subsequentes para Databricks REST APIs. Por exemplo:

Bash
# This example uses a simple GET. For POST or other REST verbs, you may need to provide additional parameters.
curl -X GET "https://<databricks-instance>/api/2.0/<path-to-endpoint>" \
-H "Authorization: Bearer <your-new-pat>"
Python
import requests

headers = {
'Authorization': 'Bearer <your-new-pat>'
}
# This example is for an HTTP GET operation.
response = requests.get('https://<databricks-instance>/api/2.0/<path-to-endpoint>', headers=headers)

Atualize os escopos de um access tokenpessoal.​

Se um token com escopo não possuir o escopo necessário para uma chamada API , a solicitação falhará com um erro indicando a ausência do escopo. Para atualizar os escopos de um token, use o endpoint REST /api/2.0/token/<token_id>. Os tokens de chamada devem ter o escopo authentication , que permite o gerenciamento de outros tokens. Use o campo update_mask para especificar quais campos de tokens devem ser atualizados.

Bash
curl -X PATCH https://<databricks-instance>/api/2.0/token/<token_id> \
-H "Authorization: Bearer <your-existing-access-token>" \
-H "Content-Type: application/json" \
-d '{
"token": {
"scopes": ["sql", "unity-catalog"]
},
"update_mask": "scopes"
}'

Para conceder a um tokens acesso total ao workspace (o escopo all-apis), defina scopes como uma matriz vazia ("scopes": []). A string literal all-apis não é um valor de escopo aceito.

nota

O Databricks recomenda atribuir escopos específicos em vez de conceder acesso a all-apis. Consulte Escopo automático para personal access token.

As alterações de escopo podem levar até dez minutos para serem propagadas.

Para view todos os escopos disponíveis, use GET /api/2.0/token-scopes.