Compartilhar via


Autenticação de token de acesso pessoal do Azure Databricks

Os tokens de acesso pessoal (PATs) do Azure Databricks são usados para autenticar o acesso a recursos e APIs no nível do workspace do Azure Databricks. Muitos mecanismos de armazenamento para credenciais e informações relacionadas, como variáveis de ambiente e perfis de configuração do Azure Databricks, oferecem suporte para tokens de acesso pessoal do Azure Databricks. Embora os usuários possam ter vários tokens de acesso pessoal em um workspace do Azure Databricks, cada token de acesso pessoal funciona apenas para um único workspace do Azure Databricks. O número de tokens de acesso pessoal por usuário é limitado a 600 por workspace.

O Databricks revoga automaticamente os tokens de acesso pessoal que não são usados há 90 dias ou mais.

Importante

O Databricks recomenda usar OAuth em vez de PATs para autenticação e autorização de clientes de conta de usuário devido à segurança aprimorada oferecida pelo OAuth. Para saber como usar o OAuth para realizar a autenticação do cliente com uma conta de usuário do Databricks, consulte Autenticar o acesso ao Azure Databricks com uma conta de usuário usando OAuth (OAuth M2M) (para autenticação de conta de usuário).

A autenticação básica (não baseada em token) usando um nome de usuário e senha do Azure Databricks chegou ao fim da vida útil em 10 de julho de 2024.

Para automatizar a funcionalidade no nível da conta do Azure Databricks, você não pode usar tokens de acesso pessoal do Azure Databricks. Em vez disso, use tokens do Microsoft Entra ID dos administradores de conta do Azure Databricks. Os administradores de conta do Azure Databricks podem ser usuários ou entidades de serviço. Para obter mais informações, consulte:

Tokens de acesso pessoal do Azure Databricks para usuários do workspace

Para criar um token de acesso pessoal do Azure Databricks para o usuário do workspace do Azure Databricks, faça o seguinte:

  1. No workspace do Azure Databricks, clique no nome de usuário do Azure Databricks na barra superior e selecione Configurações na lista suspensa.
  2. Clique em Desenvolvedor.
  3. Ao lado de Tokens de acesso, clique em Gerenciar.
  4. Clique em Gerar novo token.
  5. (Opcional) Insira um comentário que ajude você a identificar esse token no futuro e altere o tempo de vida padrão do token de 90 dias. Para criar um token sem tempo de vida (não recomendado), deixe a caixa Tempo de vida (dias) vazia (em branco).
  6. Clique em Gerar.
  7. Copie o token exibido para um local seguro e clique em Concluído.

Observação

Lembre-se de salvar o token copiado em um local seguro. Não compartilhe seu token copiado com outras pessoas. Se você perder o token copiado, não poderá regenerar exatamente aquele mesmo token. Em vez disso, será necessário repetir esse procedimento para criar um novo token. Caso você tenha perdido o token copiado ou acredite que ele tenha sido comprometido, o Databricks recomenda que você exclua imediatamente esse token do seu workspace clicando no ícone de lixeira (Revogar) ao lado do token na página de Tokens de acesso.

Se você não conseguir criar ou usar tokens em seu workspace, isso pode ocorrer porque o administrador do workspace desabilitou tokens ou não deu permissão para criar ou usar tokens. Consulte o administrador do espaço de trabalho ou os seguintes tópicos:

Tokens de acesso pessoal do Azure Databricks para entidades de serviço

Uma entidade de serviço pode criar tokens de acesso pessoal Databricks para si mesma, da seguinte maneira:

Este procedimento pressupõe que você esteja usando a autenticação OAuth máquina-a-máquina (M2M) ou a autenticação de entidade de serviço do Microsoft Entra ID para configurar a CLI do Databricks para autenticar a entidade de serviço para gerar tokens de acesso pessoal do Azure Databricks para si mesmo. Consulte Autenticação OAuth máquina-a-máquina (M2M) ou Autenticação da entidade de serviço do Microsoft Entra ID.

  1. Use a CLI do Databricks para executar o seguinte comando, que gera outro token de acesso para a entidade de serviço.

    Execute o comando a seguir:

    databricks tokens create --comment <comment> --lifetime-seconds <lifetime-seconds> -p <profile-name>
    
    • --comment: substitua <comment> por um comentário significativo sobre a finalidade do token de acesso. Se a opção --comment não for especificada, nenhum comentário será gerado.
    • --lifetime-seconds: substitua <lifetime-seconds> pelo número de segundos durante os quais o token de acesso será válido. Por exemplo, 1 dia corresponde a 86.400 segundos. Se a opção --lifetime-seconds não for especificada, o token de acesso estará definido para nunca expirar (não recomendado).
    • --profile-name: substitua <profile-name> pelo nome de um perfil de configuração do Azure Databricks que contenha informações de autenticação para a entidade de segurança e o espaço de trabalho de destino. Se a opção -p não for especificada, a CLI do Databricks tentará encontrar e usar um perfil de configuração chamado DEFAULT.
  2. Na resposta, copieo valor de token_value, que é o token de acesso da entidade de serviço.

    Lembre-se de salvar o token copiado em um local seguro. Não compartilhe seu token copiado com outras pessoas. Se você perder o token copiado, não poderá regenerar exatamente aquele mesmo token. Em vez disso, será necessário repetir esse procedimento para criar um novo token.

    Se você não conseguir criar ou usar tokens em seu workspace, isso pode ocorrer porque o administrador do workspace desabilitou tokens ou não deu permissão para criar ou usar tokens. Veja o administrador do workspace ou o seguinte:

Realizar autenticação do token de acesso pessoal do Azure Databricks

Para configurar a autenticação de token de acesso pessoal do Azure Databricks, você deve definir as seguintes variáveis de ambiente, campos de .databrickscfg, campos do Terraform ou campos de Config associados:

  • O host do Azure Databricks, especificado como a URL por espaço de trabalho de destino do Azure Databricks, por exemplo https://adb-1234567890123456.7.azuredatabricks.net.
  • O token de acesso pessoal do Azure Databricks para a conta de usuário do Azure Databricks.

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

Ambiente

Para usar variáveis de ambiente para um tipo de autenticação do Azure Databricks específico com uma ferramenta ou SDK, consulte Autenticar o acesso a recursos do Azure Databricks ou a documentação da ferramenta ou SDK. Consulte também Variáveis de ambiente e campos para autenticação unificada do cliente e Métodos padrão para autenticação unificada do cliente.

Defina as seguintes variáveis de ambiente:

  • DATABRICKS_HOST, defina a URL por workspace do Azure Databricks, por exemplo https://adb-1234567890123456.7.azuredatabricks.net.
  • DATABRICKS_TOKEN, definido como a cadeia de caracteres do token.

Perfil

Crie ou identifique um perfil de configuração do Azure Databricks com os seguintes campos em seu arquivo do .databrickscfg. Se você criar o perfil, substitua os espaços reservados pelos valores apropriados. Para usar o perfil com uma ferramenta ou SDK, consulte Autenticar o acesso a recursos do Azure Databricks ou a documentação da ferramenta ou SDK. Consulte também Variáveis de ambiente e campos para autenticação unificada do cliente e Métodos padrão para autenticação unificada do cliente.

Defina os seguintes valores em seu arquivo .databrickscfg. Nesse caso, o host é a URL por workspace do Azure Databricks, por exemplo https://adb-1234567890123456.7.azuredatabricks.net:

[<some-unique-configuration-profile-name>]
host  = <workspace-url>
token = <token>

Em vez de definir manualmente os valores anteriores no seu arquivo .databrickscfg, você pode usar a CLI do Databricks para definir esses valores da seguinte maneira:

Observação

O procedimento a seguir usa a CLI do Databricks para criar um perfil de configuração do Azure Databricks com o nome DEFAULT. Se você já tiver um perfil de configuração DEFAULT, esse procedimento irá substituir seu perfil de configuração DEFAULT existente.

Para verificar se você já tem um perfil de configuração do DEFAULT e para exibir as configurações desse perfil, se existir, use a CLI do Databricks 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 seguinte comando databricks configure por um nome diferente do perfil de configuração.

  1. Use a CLI do Databricks para criar um perfil de configuração do Azure Databricks chamado DEFAULT que esteja usando a autenticação de token de acesso pessoal do Azure Databricks. Para fazer isso, execute o seguinte comando:

    databricks configure --profile DEFAULT
    
  2. Para o prompt de Host do Databricks, insira sua URL de por workspace do Azure Databricks, por exemplo, https://adb-1234567890123456.7.azuredatabricks.net.

  3. Para o prompt Token de Acesso Pessoal, insira o token de acesso pessoal do Azure Databricks para seu espaço de trabalho.

CLI

Para a CLI da Databricks, execute o comando databricks configure. Nas solicitações, insira as seguintes configurações:

  • O host do Azure Databricks, especificado como a URL por espaço de trabalho de destino do Azure Databricks, por exemplo https://adb-1234567890123456.7.azuredatabricks.net.
  • O token de acesso pessoal do Azure Databricks para a conta de usuário do Azure Databricks.

Para obter detalhes, confira Autenticação de token de acesso pessoal do Azure Databricks.

Conectar

Observação

A autenticação do token de acesso pessoal do Azure Databricks tem suporte nas seguintes versões do Databricks Connect:

  • Para Python, o Databricks Connect para Databricks Runtime 13.3 LTS e versões superiores.
  • No caso do Scala, o Databricks Connect para Databricks Runtime 13.3 LTS e superior.

No caso do Databricks Connect, você pode usar a CLI do Databricks para definir os valores no seu arquivo .databrickscfg para operações no nível do workspace do Azure Databricks, conforme especificado na seção "Perfil" deste artigo, como se segue:

Observação

O procedimento a seguir usa a CLI do Databricks para criar um perfil de configuração do Azure Databricks com o nome DEFAULT. Se você já tiver um perfil de configuração DEFAULT, esse procedimento irá substituir seu perfil de configuração DEFAULT existente.

Para verificar se você já tem um perfil de configuração do DEFAULT e para exibir as configurações desse perfil, se existir, use a CLI do Databricks para executar o comando databricks auth env --profile DEFAULT.

Para criar um perfil de configuração com um nome diferente do DEFAULT, substitua a parte DEFAULT do --profile DEFAULT no comando databricks configure por um nome diferente para o perfil de configuração, conforme mostrado na etapa a seguir.

  1. Use a CLI do Databricks para criar um perfil de configuração do Azure Databricks chamado DEFAULT que utilize a autenticação do token de acesso pessoal do Azure Databricks. Para fazer isso, execute o seguinte comando:

    databricks configure --configure-cluster --profile DEFAULT
    
  2. Para o prompt de Host do Databricks, insira sua URL de por workspace do Azure Databricks, por exemplo, https://adb-1234567890123456.7.azuredatabricks.net.

  3. Para o prompt Token de Acesso Pessoal, insira o token de acesso pessoal do Azure Databricks para seu espaço de trabalho.

  4. Na lista de clusters disponíveis que aparece, use suas teclas de seta para cima e para baixo para selecionar o cluster de destino do Azure Databricks no seu workspace e, a seguir, pressione Enter. Você também pode digitar qualquer parte do nome de exibição do cluster para filtrar a lista de clusters disponíveis.

Usar a API REST do Azure Databricks para emitir tokens de acesso pessoal

O Azure Databricks fornece um ponto de extremidade /api/2.0/token/create REST para emitir PATs. Consulte Criar um token de usuário para obter detalhes da API.

Você deve fornecer valores específicos para a API REST. No exemplo a seguir, defina estes valores:

  • Substitua <databricks-instance> pela URL do workspace do Databricks. Por exemplo, dbc-abcd1234-5678.cloud.databricks.com.
  • Substitua <your-existing-access-token> por um PAT válido existente (cadeia de caracteres) que tenha permissões para criar novos tokens.

Forneça os valores para estes parâmetros:

  • comment: Uma descrição para o novo token.
  • lifetime_seconds: O tempo de vida do token em segundos.
curl -X POST https://<databricks-instance>/api/2.0/token/create \
-H "Authorization: Bearer <your-existing-access-token>" \
-H "Content-Type: application/json" \
-d '{
  "comment": "New PAT using DB API",
  "lifetime_seconds": <lifetime-of-pat-in-seconds>
}'

O -d sinalizador fornece a carga JSON para a solicitação.

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

{
  "access_token": "<your-newly-issued-pat>",
  "token_type": "Bearer",
  "expires_in": <the-duration-of-the-new-pat>
}

Forneça o novo token da resposta no cabeçalho de autorização de chamadas subsequentes para APIs REST do Databricks. 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)