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.

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:

Observação

Não é possível usar a interface do usuário do Azure Databricks para gerar tokens de acesso pessoal do Azure Databricks para entidades de serviço. Esse processo usa a CLI do Databricks versão 0.205 ou posteriores para gerar um token de acesso para uma entidade de serviço. Se você ainda não tiver a CLI do Databricks instalada, confira Instalar ou atualizar a CLI do Databricks.

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

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.

Outras abordagens com suporte para o Databricks Connect incluem o seguinte:

  • Defina manualmente 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. Defina também a variável de ambiente cluster_id no seu perfil como a URL por workspace, por exemplo, https://adb-1234567890123456.7.azuredatabricks.net.
  • Defina as variáveis de ambiente para operações no nível do workspace do Azure Databricks, conforme especificado na seção "Ambiente" deste artigo. Defina também a variável de ambiente DATABRICKS_CLUSTER_ID como a URL por workspace, por exemplo, https://adb-1234567890123456.7.azuredatabricks.net.

Os valores do arquivo .databrickscfg sempre têm precedência sobre as variáveis de ambiente.

Para inicializar o cliente do Databricks Connect com essas variáveis de ambiente ou esses valores no arquivo .databrickscfg, confira um dos seguintes artigos:

Código VS

Na extensão do Databricks para Visual Studio Code, faça o seguinte:

  1. Defina os valores em seu arquivo .databrickscfg para operações no nível do workspace do Azure Databricks, conforme especificado na seção "Perfil" deste artigo.
  2. No painel Configuração da extensão do Databricks para Visual Studio Code, clique em Configurar o Databricks.
  3. Na Paleta de Comandos, em Host do Databricks, insira a URL por workspace, por exemplo, https://adb-1234567890123456.7.azuredatabricks.net, e pressione Enter.
  4. Na Paleta de Comandos, selecione o nome do perfil de destino na lista da URL.

Para obter mais detalhes, confira Configuração de autenticação da extensão do Databricks para Visual Studio Code.

Terraform

Para autenticação padrão:

provider "databricks" {
  alias = "workspace"
}

Para configuração direta (substitua os espaços reservados retrieve por sua própria implantação para recuperar os valores do console ou de algum outro repositório de configurações, como HashiCorp Vault. Confira também Provedor de Cofres). Nesse caso, o host é a URL por workspace do Azure Databricks, por exemplo https://adb-1234567890123456.7.azuredatabricks.net:

provider "databricks" {
  alias = "workspace"
  host  = <retrieve-workspace-url>
  token = <retrieve-token>
}

Para obter mais informações sobre como autenticar com o provedor Terraform do Databricks, consulte Autenticação.

Python

Para autenticação padrão:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()
# ...

Para a configuração direta (substitua os espaços reservados retrieve por sua própria implantação para recuperar os valores do console ou de algum outro repositório de configurações, como o Azure KeyVault). Nesse caso, o host é a URL por workspace do Azure Databricks, por exemplo https://adb-1234567890123456.7.azuredatabricks.net:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient(
  host  = retrieve_workspace_url(),
  token = retrieve_token()
)
# ...

Para obter mais informações sobre como autenticar com as ferramentas e SDKs do Databricks que usam o Python e que implementam a autenticação unificada do cliente do Databricks, consulte:

Java

Para autenticação padrão:

import com.databricks.sdk.WorkspaceClient;
// ...
WorkspaceClient w = new WorkspaceClient();
// ...

Para a configuração direta (substitua os espaços reservados retrieve por sua própria implantação para recuperar os valores do console ou de algum outro repositório de configurações, como o Azure KeyVault). Nesse caso, o host é a URL por workspace do Azure Databricks, por exemplo https://adb-1234567890123456.7.azuredatabricks.net:

import com.databricks.sdk.WorkspaceClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
  .setHost(retrieveWorkspaceUrl())
  .setToken(retrieveToken());
WorkspaceClient w = new WorkspaceClient(cfg);
// ...

Para obter mais informações sobre como autenticar com as ferramentas e SDKs do Databricks que usam Java e que implementam a autenticação unificada do cliente do Databricks, consulte:

Go

Para autenticação padrão:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...

Para a configuração direta (substitua os espaços reservados retrieve por sua própria implantação para recuperar os valores do console ou de algum outro repositório de configurações, como o Azure KeyVault). Nesse caso, o host é a URL por workspace do Azure Databricks, por exemplo https://adb-1234567890123456.7.azuredatabricks.net:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
  Host:  retrieveWorkspaceUrl(),
  Token: retrieveToken(),
}))
// ...

Para obter mais informações sobre como autenticar com as ferramentas e SDKs do Databricks que usam o Go e que implementam a autenticação unificada do cliente do Databricks, consulte Autenticar o SDK do Databricks para o Go com sua conta ou espaço de trabalho do Azure Databricks.