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.
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:
- No seu workspace Databricks , clique no seu nome de usuário na barra superior e selecione Configurações .
- Clique em Desenvolvedor .
- Ao lado de Access tokens , clique em Gerenciar .
- Clique em Gerar novo token .
- Insira um nome que ajude você a identificar esses tokens posteriormente.
- Defina a duração do token em dias. Consulte Definir o tempo de vida máximo dos novos access tokenspessoal.
- 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.
- 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-apistemporariamente 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. - Clique em Gerar .
- 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:
- Ativar ou desativar a autenticação de access tokens pessoais para o workspace
- Permissões de access token pessoal
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.
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 matrizscopesvazia) é uma operação nula e não interrompe o escopo automático. Para manter um token com acesso total aall-apisque 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.
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:
-
Configure a autenticação para o Databricks CLI se ainda não estiver configurada.
-
Obtenha o ID do aplicativo para a entidade de serviço Databricks :
- Clique no seu nome de usuário na barra superior e depois clique em Configurações .
- No espaço de trabalho admin , clique em Identidade e acesso > gerenciar (ao lado de entidade de serviço ).
- Clique no nome da entidade de serviço Databricks para abrir sua página de configurações.
- Na guia Configurações , observe o valor da ID do aplicativo .
-
execute o seguinte comando para gerar o access token:
Bashdatabricks 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 paraDEFAULT.
-
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:
- Ativar ou desativar a autenticação de access tokens pessoais para o workspace
- Permissões de access token pessoal
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.
-
execute o seguinte comando para gerar um access token:
Bashdatabricks 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 paraDEFAULT.
-
Copie o
token_valueda 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:
- Ativar ou desativar a autenticação de access tokens pessoais para o workspace
- Permissões de access token pessoal
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.comexemplo,. - 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:
- Environment
- Profile
- CLI
- Connect
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 workspacehttps://1234567890123456.7.gcp.databricks.comcomo o URL, por exemplo,.DATABRICKS_TOKENdefinido como as cadeias de tokens.
Crie ou identifique um perfil de configuração do Databricks com os seguintes campos no seu arquivo .databrickscfg . Se você criar o perfil, substitua os espaços reservados pelos valores apropriados. Para usar o perfil 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 os seguintes valores em seu arquivo .databrickscfg. Nesse caso, o host é o Databricks workspace URL, por https://1234567890123456.7.gcp.databricks.com exemplo,:
[<some-unique-configuration-profile-name>]
host = <workspace-url>
token = <token>
Em vez de definir manualmente os valores, você pode usar a CLI do Databricks para definir estes valores:
O procedimento a seguir usa a CLI do Databricks para criar um perfil de configuração do Databricks com o nome DEFAULT. Se você já tiver um perfil de configuração DEFAULT, esse procedimento substitui seu perfil de configuração DEFAULT existente.
Para verificar se o senhor já tem um perfil de configuração DEFAULT e para view as configurações desse perfil, caso ele exista, use o link Databricks CLI para executar o comando databricks auth env --profile DEFAULT.
Para criar um perfil de configuração com um nome diferente de DEFAULT, substitua a parte DEFAULT de --profile DEFAULT no comando databricks configure a seguir por um nome diferente para o perfil de configuração.
-
Use o para criar Databricks CLI um Databricks perfil de configuração chamado
DEFAULTque usa a Databricks autenticação de tokens de acesso pessoal. Para fazer isso, execute o seguinte comando:Bashdatabricks configure --profile DEFAULT -
No prompt Databricks Host, digite o Databricks workspace URL da instância, por
https://1234567890123456.7.gcp.databricks.comexemplo,. -
Para o prompt Access token pessoal , insira o access token pessoal do Databricks para seu workspace
Para a CLI do Databricks, execute o comando databricks configure. Nos prompts, insira as seguintes configurações:
- O Databricks host, especificado como o Databricks workspace URL de destino, por
https://1234567890123456.7.gcp.databricks.comexemplo,. - O token de acesso pessoal do Databricks para a conta de usuário do Databricks.
Para obter mais informações, consulte Autenticação access token pessoal (legado).
A autenticação do access token pessoal da Databricks é compatível com as seguintes versões do Databricks Connect:
- Para Python, Databricks Connect for Databricks Runtime 13.3 LTS e acima.
- Para o Scala, Databricks Connect para Databricks Runtime 13.3 LTS e superior.
Para Databricks Connect, use o Databricks CLI para definir os valores no seu arquivo .databrickscfg , para operações de nívelworkspace Databricks , conforme especificado na seção Perfil.
O procedimento a seguir cria um perfil de configuração do Databricks chamado DEFAULT, que substitui qualquer perfil DEFAULT existente. Para verificar se existe um perfil DEFAULT , execute databricks auth env --profile DEFAULT. Se existir, use um nome de perfil diferente.
-
execute o seguinte comando para criar um perfil de configuração Databricks chamado
DEFAULTque usa autenticação access token pessoal.Bashdatabricks configure \
--configure-cluster \
--profile DEFAULT -
No prompt Databricks Host, digite o Databricks workspace URL da instância, por
https://1234567890123456.7.gcp.databricks.comexemplo,. -
Para o prompt Token de acesso pessoal , insira o access token pessoal para seu workspace.
-
Na lista de clusters disponíveis, selecione o cluster de destino Databricks no seu workspace. Você pode digitar qualquer parte do nome de exibição do cluster para filtrar a lista de clusters disponíveis.
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 escopoall-apis). Consulte Tokens de acesso pessoal com escopo definido.
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:
{
"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:
# 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>"
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.
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.
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.