Autenticação de access token pessoal do Databricks

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

Databricks revoga automaticamente o site pessoal access tokens que não tenha sido usado em 90 dias ou mais.

Importante

Databricks recomenda o uso do OAuth em vez de PATs para autenticação e autorização do cliente account do usuário devido à maior segurança do OAuth. Para saber como usar OAuth para realizar a autenticação de cliente com um usuário Databricks account, consulte Autenticar o acesso a Databricks com um usuário account usando OAuth (OAuth U2M) (para autenticação de usuário account ).

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

Para automatizar a funcionalidade em nível de account do Databricks, você não pode usar access tokens pessoais do Databricks. Em vez disso, você deve usar OAuth tokens para usuários administradores de accounts do Databricks ou entidades de serviço. Para mais informações, veja:

Access tokens pessoais do Databricks para usuários do workspace

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

  1. No seu workspace do Databricks, clique no seu nome de usuário na barra superior e selecione Configurações no menu suspenso.

  2. Clique em Desenvolvedor.

  3. Ao lado de Access tokens, clique em Gerenciar.

  4. Clique em Gerar novo token.

  5. (Opcional) Insira um comentário que ajude a identificar esse token no futuro e altere o tempo de vida padrão do token de 90 dias. Para criar um token sem vida útil (não recomendado), deixe a caixa Duração (dias) vazia (em branco).

  6. Clique em Gerar.

  7. Copie o token exibido em um local seguro e clique em Concluído.

Observação

É importante que você salve o token copiado em um local seguro. Não compartilhe seu token copiado com outras pessoas. Se você perder o token, não poderá gerar o mesmo novamente. Em vez disso, você deverá repetir o procedimento para criar outro token. Se você perder o token copiado ou acreditar que o token foi comprometido, o Databricks recomenda que você exclua imediatamente esse token do workspace clicando no ícone da lixeira (Revogar) ao lado do token na página Access tokens .

Se o senhor não conseguir criar ou usar o site tokens no seu workspace, isso pode ocorrer porque o administrador do workspace desativou o tokens ou não lhe deu permissão para criar ou usar o tokens. Consulte o administrador do site workspace ou os tópicos a seguir:

Access tokens pessoais do Databricks para entidades de serviço

o passo 1: Como administrador do site Databricks, crie um PAT para sua entidade de serviço Databricks a partir do CLI

Um administrador do workspace pode criar um Databricks pessoal access tokens em nome de uma entidade de serviço usando o CLI, da seguinte forma:

  1. Configure a autenticação para o Databricks CLI, caso ainda não tenha feito isso.

  2. Obtenha o ID do aplicativo para a entidade do serviço Databricks, caso ainda não o tenha disponível:

    1. Se o console de administração do seu workspace ainda não estiver aberto, clique no seu nome de usuário na barra superior do workspace e clique em Configurações.

    2. Em Administração do workspace, clique em Identidade e acesso.

    3. Ao lado de Entidades de serviço, clique em Gerenciar.

    4. Clique no nome da entidade de serviço do Databricks para abrir sua página de configurações. Se o nome não estiver visível, use Filtrar entidades de serviço para localizá-la.

    5. Na guia Configurações, observe o valor da ID do aplicativo.

  3. Use a CLI do Databricks para executar o comando a seguir, que gera o token de acesso para a entidade de serviço do Databricks.

    executar o seguinte comando:

    databricks token-management create-obo-token <application-id> --lifetime-seconds <lifetime-seconds> --comment <comment> -p <profile-name>
    
    • Substitua <application-id> pela ID do aplicativo da entidade de serviço do Databricks.

    • --lifetime-seconds: Substitua <lifetime-seconds> pelo número de segundos pelo qual o access token é válido. Por exemplo, 1 dia equivale a 86.400 segundos. Se a opção --lifetime-seconds não for especificada, o site access token será definido para nunca expirar (não recomendado).

    • --comment: Substitua <comment> por um comentário significativo sobre a finalidade do site access token. Se a opção --comment não for especificada, nenhum comentário será gerado.

    • --profile-name: Substitua <profile-name> pelo nome de um perfil de configuração Databricks que contenha informações de autenticação para a Databricks entidade de serviço e o destino workspace. Se a opção -p não for especificada, a CLI do Databricks tentará localizar e usar um perfil de configuração denominado DEFAULT.

  4. Na resposta, copie o valor de token_value, que é o token de acesso para sua entidade de serviço do Databricks.

    Certifique-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á gerar de novo exatamente o mesmo token. Em vez disso, você deverá repetir o procedimento para criar outro token.

    Se você não conseguir criar ou usar tokens no seu workspace, isso pode ser porque o administrador desativou os tokens ou não concedeu permissão para que você crie ou use tokens. Consulte o administrador do workspace ou o seguinte:

o passo 2: Criar PATs adicionais para sua entidade de serviço

Após a criação de um PAT para a sua Databricks entidade de serviço, o senhor pode usar esse PAT para criar Databricks pessoais adicionais access tokens para a entidade de serviço, conforme segue:

Esse procedimento pressupõe que você já gerou o primeiro token de acesso pessoal do Databricks para a entidade de serviço do Databricks. Use esse token de acesso para configurar a CLI do Databricks para autenticar a entidade de serviço do Databricks para que possa gerar tokens de acesso adicionais para si mesmo. Consulte Autenticação de token de acesso pessoal do Databricks.

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

    executar o seguinte comando:

    databricks tokens create --comment <comment> --lifetime-seconds <lifetime-seconds> -p <profile-name>
    
    • --comment: Substitua <comment> por um comentário significativo sobre a finalidade do site access token. Se a opção --comment não for especificada, nenhum comentário será gerado.

    • --lifetime-seconds: Substitua <lifetime-seconds> pelo número de segundos pelo qual o access token é válido. Por exemplo, 1 dia equivale a 86.400 segundos. Se a opção --lifetime-seconds não for especificada, o site access token será definido para nunca expirar (não recomendado).

    • --profile-name: Substitua <profile-name> pelo nome de um perfil de configuração Databricks que contenha informações de autenticação para a Databricks entidade de serviço e o destino workspace. Se a opção -p não for especificada, a CLI do Databricks tentará localizar e usar um perfil de configuração denominado DEFAULT.

  2. Na resposta, copie o valor de token_value, que é o token de acesso para a entidade de serviço do Databricks.

    Certifique-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á gerar de novo exatamente o mesmo token. Em vez disso, você deverá repetir o procedimento para criar outro token.

    Se você não conseguir criar ou usar tokens no seu workspace, isso pode ser porque o administrador desativou os tokens ou não concedeu permissão para que você crie ou use tokens. Consulte o administrador do workspace ou o seguinte:

Executar autenticação de access tokens pessoais do Databricks

Para configurar a autenticação de access tokens pessoais do Databricks, você deve definir as seguintes variáveis de ambiente associadas, campos .databrickscfg, campos Terraform ou campos Config :

  • O host do Databricks, especificado como a URL do workspace do Databricks de destino, por exemplo https://dbc-a1b2345c-d6e7.cloud.databricks.com.

  • O access token pessoal do Databricks, para a account de usuário do Databricks ou entidade de serviço 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 Autenticar o acesso a Databricks recurso ou a documentação da ferramenta ou SDK. Consulte também variável de ambiente e campos para autenticação unificada de cliente e os métodos padrão para autenticação unificada de cliente.

Defina as seguintes variáveis de ambiente:

  • DATABRICKS_HOST, definido como a URL do workspace do Databricks, por exemplo https://dbc-a1b2345c-d6e7.cloud.databricks.com.

  • DATABRICKS_TOKENdefinido como as cadeias de tokens.

Crie ou identifique um perfil de configuração do Databricks com os seguintes campos em 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 Autenticar o acesso a Databricks recurso ou a documentação da ferramenta ou SDK. Consulte também variável de ambiente e campos para autenticação unificada de cliente e os métodos padrão para autenticação unificada de cliente.

Defina os seguintes valores no arquivo .databrickscfg . Neste caso, o host é o URL do workspace do Databricks, por exemplo https://dbc-a1b2345c-d6e7.cloud.databricks.com:

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

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

Observação

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

Para verificar se você já tem um perfil de configuração DEFAULT e para ver as configurações desse perfil, se ele 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 comando databricks configure a seguir por um nome diferente para o perfil de configuração.

  1. Use o Databricks CLI para criar um perfil de configuração do Databricks com o nome DEFAULT que utiliza autenticação por access token pessoal do Databricks. Para fazer isso, execute o seguinte comando:

    databricks configure --profile DEFAULT
    
  2. Para o prompt Databricks Host, insira o URL da instância do seu workspace do Databricks, por exemplo https://dbc-a1b2345c-d6e7.cloud.databricks.com.

  3. 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 host do Databricks, especificado como a URL do workspace do Databricks de destino, por exemplo https://dbc-a1b2345c-d6e7.cloud.databricks.com.

  • O access token pessoal do Databricks, para a account de usuário do Databricks ou entidade de serviço do Databricks.

Para obter mais detalhes, consulte Autenticação de access token pessoal do Databricks.

Observação

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 Scala, Databricks Connect para Databricks Runtime 13.3 LTS e acima.

Para o Databricks Connect, você pode usar o Databricks CLI para definir os valores no seu arquivo .databrickscfg, para operações em nível de workspace do Databricks, conforme especificado na seção "Perfil" deste artigo, da seguinte maneira:

Observação

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

Para verificar se você já tem um perfil de configuração DEFAULT e para ver as configurações desse perfil, se ele 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 comando databricks configure como mostrado na etapa seguinte, com um nome diferente para o perfil de configuração.

  1. Use o Databricks CLI para criar um perfil de configuração do Databricks com o nome DEFAULT que utiliza autenticação por access token pessoal do Databricks. Para fazer isso, execute o seguinte comando:

    databricks configure --configure-cluster --profile DEFAULT
    
  2. Para o prompt Databricks Host, insira o URL da instância do seu workspace do Databricks, por exemplo https://dbc-a1b2345c-d6e7.cloud.databricks.com.

  3. Para o prompt Access token pessoal, insira o access token pessoal do Databricks para seu workspace

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

Utilize o endereço Databricks REST API para emitir um e-mail pessoal access tokens

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

O senhor deve fornecer valores específicos para a API REST. No exemplo a seguir, defina esses valores:

  • Substitua <databricks-instance> pelo URL Databricks workspace . Por exemplo, dbc-abcd1234-5678.cloud.databricks.com.

  • Substitua <your-existing-access-token> por um PAT (strings) válido existente que tenha permissões para criar novos tokens.

Forneça os valores para esses parâmetros:

  • comment: Uma descrição para os novos tokens.

  • lifetime_seconds: O tempo de vida dos tokens 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 sinalizador -d fornece o payload 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 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)