Partilhar via


Autenticação para a CLI do Databricks

Nota

Essas informações se aplicam às versões 0.205 e superiores da CLI do Databricks, que estão em Visualização Pública. Para encontrar sua versão da CLI do Databricks, execute databricks -v.

Este artigo descreve como configurar a autenticação entre a CLI do Databricks e suas contas e espaços de trabalho do Azure Databricks. Consulte O que é a CLI do Databricks?.

Este artigo pressupõe que você já tenha instalado a CLI do Databricks. Consulte Instalar ou atualizar a CLI do Databricks.

Antes de executar comandos da CLI do Databricks, você deve configurar a autenticação entre a CLI do Databricks e suas contas, espaços de trabalho ou uma combinação destes do Azure Databricks, dependendo dos tipos de comandos da CLI que deseja executar.

Você deve autenticar a CLI do Databricks nos recursos relevantes em tempo de execução para executar comandos de automação do Azure Databricks em uma conta ou espaço de trabalho do Azure Databricks. Dependendo se você deseja chamar comandos no nível do espaço de trabalho do Azure Databricks, comandos no nível da conta do Azure Databricks ou ambos, você deve autenticar no espaço de trabalho do Azure Databricks, na conta ou em ambos. Para obter uma lista dos grupos de comandos da CLI no nível do espaço de trabalho e na conta do Azure Databricks, execute o comando databricks -h. Para obter uma lista das operações da API REST no nível do espaço de trabalho e na conta do Azure Databricks que os comandos da CLI do Databricks cobrem, consulte a API REST do Databricks.

Para obter informações sobre a autenticação do Microsoft Entra para Databricks com o Azure DevOps especificamente, consulte Autenticar com o Azure DevOps no Databricks.

As seções a seguir fornecem informações sobre como configurar a autenticação entre a CLI do Databricks e o Azure Databricks:

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

A autenticação do token de acesso pessoal do Azure Databricks usa um token de acesso pessoal do Azure Databricks para autenticar a entidade de destino do Azure Databricks, como uma conta de usuário do Azure Databricks. Consulte Autenticação de token de acesso pessoal do Azure Databricks.

Nota

Não é possível usar a autenticação de token de acesso pessoal do Azure Databricks para autenticação com uma conta do Azure Databricks, pois os comandos no nível da conta do Azure Databricks não usam tokens de acesso pessoal do Azure Databricks para autenticação. Para autenticar com uma conta do Azure Databricks, considere usar um dos seguintes tipos de autenticação:

Para criar um token de acesso pessoal, faça o seguinte:

  1. No seu espaço de trabalho do Azure Databricks, clique no seu nome de utilizador do Azure Databricks na barra superior e, em seguida, selecione Definições na lista pendente.
  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 o 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 tempo de vida (não recomendado), deixe a caixa Tempo de vida (dias) vazia (em branco).
  6. Clique em Generate (Gerar).
  7. Copie o token exibido para um local seguro e clique em Concluído.

Nota

Certifique-se de salvar o token copiado em um local seguro. Não partilhe o seu token copiado com outras pessoas. Se você perder o token copiado, não poderá regenerar exatamente o mesmo token. Em vez disso, você deve repetir esse procedimento para criar um novo token. Se você perder o token copiado ou acreditar que o token foi comprometido, o Databricks recomenda que você exclua imediatamente esse token do seu espaço de trabalho clicando no ícone da lixeira (Revogar) ao lado do token na página de tokens do Access.

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

Para configurar e usar a autenticação de token de acesso pessoal do Azure Databricks, faça o seguinte:

Nota

O procedimento a seguir cria um perfil de configuração do Azure Databricks com o nome DEFAULT. Se você já tiver um perfil de DEFAULT configuração que deseja usar, ignore este procedimento. Caso contrário, este procedimento substituirá o perfil de configuração existente DEFAULT . Para exibir os nomes e hosts de quaisquer perfis de configuração existentes, execute o comando databricks auth profiles.

Para criar um perfil de configuração com um nome diferente de DEFAULT, adicione --profile <configuration-profile-name> ou -p <configuration-profile-name> ao final do comando a seguir databricks configure , substituindo <configuration-profile-name> pelo nome do novo perfil de configuração.

  1. Use a CLI do Databricks para executar o seguinte comando:

    databricks configure
    
  2. Para o prompt Databricks Host, insira sua URL do Azure Databricks por espaço de trabalho, por exemplohttps://adb-1234567890123456.7.azuredatabricks.net.

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

    Depois de inserir seu token de acesso pessoal do Azure Databricks, um perfil de configuração correspondente é adicionado ao seu .databrickscfg arquivo. Se a CLI do Databricks não conseguir encontrar esse arquivo em seu local padrão, ela criará esse arquivo primeiro para você e, em seguida, adicionará esse perfil de configuração ao novo arquivo. O local padrão para este arquivo é na sua ~ pasta (sua casa do usuário) no Unix, Linux ou macOS, ou na sua %USERPROFILE% pasta (sua casa do usuário) no Windows.

  4. Agora você pode usar a CLI do Databricks --profile ou -p a opção seguida do nome do seu perfil de configuração, como parte da chamada de comando da CLI do Databricks, por exemplo databricks clusters list -p <configuration-profile-name>.

Autenticação OAuth máquina-a-máquina (M2M)

Em vez de autenticar com o Azure Databricks usando a autenticação de token de acesso pessoal do Azure Databricks, você pode usar a autenticação OAuth. O OAuth fornece tokens com tempos de expiração mais rápidos do que os tokens de acesso pessoal do Azure Databricks e oferece melhor invalidação e escopo de sessão do lado do servidor. Como os tokens de acesso OAuth expiram em menos de uma hora, isso reduz o risco associado à verificação acidental de tokens no controle do código-fonte. Consulte também Autenticar o acesso ao Azure Databricks com uma entidade de serviço usando OAuth (OAuth M2M).

Para configurar e usar a autenticação OAuth M2M, faça o seguinte:

  1. Conclua as instruções de configuração de autenticação OAuth M2M. Consulte Autenticar o acesso ao Azure Databricks com uma entidade de serviço usando OAuth (OAuth M2M)

  2. Crie ou identifique um perfil de configuração do Azure Databricks com os seguintes campos em seu .databrickscfg arquivo. Se você criar o perfil, substitua os espaços reservados pelos valores apropriados.

    Para comandos no nível da conta, defina os seguintes valores no arquivo .databrickscfg :

    [<some-unique-configuration-profile-name>]
    host          = <account-console-url>
    account_id    = <account-id>
    client_id     = <service-principal-client-id>
    client_secret = <service-principal-oauth-secret>
    

    Para comandos no nível do espaço de trabalho, defina os seguintes valores no arquivo .databrickscfg :

    [<some-unique-configuration-profile-name>]
    host          = <workspace-url>
    client_id     = <service-principal-client-id>
    client_secret = <service-principal-oauth-secret>
    

    Nota

    O local padrão para o .databrickscfg arquivo está no diretório inicial do usuário. Isto é ~ para Linux e macOS, e %USERPROFILE% para Windows.

  3. Use a CLI do Databricks --profile ou -p a opção seguida do nome do seu perfil de configuração como parte da chamada de comando da CLI do Databricks, por exemplo, databricks account groups list -p <configuration-profile-name> ou databricks clusters list -p <configuration-profile-name>.

    Gorjeta

    Pressione Tab depois --profile ou -p para exibir uma lista de perfis de configuração disponíveis existentes para escolher, em vez de inserir o nome do perfil de configuração manualmente.

Autenticação OAuth user-to-machine (U2M)

Em vez de autenticar com o Azure Databricks usando a autenticação de token, você pode usar a autenticação OAuth. O OAuth fornece tokens com tempos de expiração mais rápidos do que os tokens de acesso pessoal do Azure Databricks e oferece melhor invalidação e escopo de sessão do lado do servidor. Como os tokens de acesso OAuth expiram em menos de uma hora, isso reduz o risco associado à verificação acidental de tokens no controle do código-fonte. Consulte também Autenticar o acesso ao Azure Databricks com uma conta de usuário usando OAuth (OAuth U2M).

Para configurar e usar a autenticação OAuth U2M, faça o seguinte:

  1. Antes de chamar qualquer comando no nível da conta do Azure Databricks, você deve iniciar o gerenciamento de token OAuth localmente executando o seguinte comando. Esse comando deve ser executado separadamente para cada conta na qual você deseja executar comandos. Se você não quiser chamar nenhuma operação no nível da conta, pule para a etapa 5.

    No comando a seguir, substitua os seguintes espaços reservados:

    databricks auth login --host <account-console-url> --account-id <account-id>
    
  2. A CLI do Databricks solicita que você salve a URL do console da conta e a ID da conta localmente como um perfil de configuração do Azure Databricks. Pressione Enter para aceitar o nome de perfil sugerido ou digite o nome de um perfil novo ou existente. Qualquer perfil existente com o mesmo nome é substituído pelo URL e ID da conta do console da conta.

    Para obter uma lista de quaisquer perfis existentes, em um terminal ou prompt de comando separado, execute o comando databricks auth profiles. Para visualizar as configurações existentes de um perfil específico, execute o comando databricks auth env --profile <profile-name>.

  3. No navegador da Web, conclua as instruções na tela para fazer logon na sua conta do Azure Databricks.

  4. Para exibir o valor atual do token OAuth e o carimbo de data/hora de expiração futuro, execute o comando databricks auth token --host <account-console-url> --account-id <account-id>.

  5. Antes de chamar qualquer comando no nível do espaço de trabalho do Azure Databricks, você deve iniciar o gerenciamento de token OAuth localmente executando o seguinte comando. Esse comando deve ser executado separadamente para cada espaço de trabalho contra o qual você deseja executar comandos.

    No comando a seguir, substitua <workspace-url> pela URL do Azure Databricks por espaço de trabalho, por exemplohttps://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  6. A CLI do Databricks solicita que você salve a URL do espaço de trabalho localmente como um perfil de configuração do Azure Databricks. Pressione Enter para aceitar o nome de perfil sugerido ou digite o nome de um perfil novo ou existente. Qualquer perfil existente com o mesmo nome é substituído por este URL de espaço de trabalho.

    Para obter uma lista de quaisquer perfis existentes, em um terminal ou prompt de comando separado, execute o comando databricks auth profiles. Para visualizar as configurações existentes de um perfil específico, execute o comando databricks auth env --profile <profile-name>.

  7. No navegador da Web, conclua as instruções na tela para fazer logon no espaço de trabalho do Azure Databricks.

  8. Para exibir o valor atual do token OAuth e o carimbo de data/hora de expiração futuro, execute o comando databricks auth token --host <workspace-url>.

  9. Use a CLI do Databricks --profile ou -p a opção seguida do nome do seu perfil de configuração, como parte da chamada de comando da CLI do Databricks, por exemplo databricks account groups list -p <configuration-profile-name> ou databricks clusters list -p <configuration-profile-name>.

    Gorjeta

    Você pode pressionar Tab depois --profile ou -p para exibir uma lista de perfis de configuração disponíveis existentes para escolher, em vez de inserir o nome do perfil de configuração manualmente.

Autenticação de identidades gerenciadas do Azure

A autenticação de identidades gerenciadas do Azure usa identidades gerenciadas para recursos do Azure (anteriormente Identidades de Serviço Gerenciado (MSI)) para autenticação. Veja O que são identidades geridas para os recursos do Azure? Consulte também Autenticação de identidades gerenciadas do Azure.

Para criar uma identidade gerenciada atribuída pelo usuário do Azure, faça o seguinte:

  1. Crie ou identifique uma VM do Azure e instale a CLI do Databricks nela e, em seguida, atribua sua identidade gerenciada à sua VM do Azure e às suas contas, espaços de trabalho ou ambos do Azure Databricks de destino. Consulte Configurar e usar a autenticação de identidades gerenciadas do Azure para automação do Azure Databricks.

  2. Na VM do Azure, crie ou identifique um perfil de configuração do Azure Databricks com os seguintes campos em seu .databrickscfg arquivo. Se você criar o perfil, substitua os espaços reservados pelos valores apropriados.

    Para comandos no nível da conta, defina os seguintes valores no arquivo .databrickscfg :

    [<some-unique-configuration-profile-name>]
    host            = <account-console-url>
    account_id      = <account-id>
    azure_client_id = <azure-managed-identity-application-id>
    azure_use_msi   = true
    

    Para comandos no nível do espaço de trabalho, defina os seguintes valores no arquivo .databrickscfg :

    [<some-unique-configuration-profile-name>]
    host            = <workspace-url>
    azure_client_id = <azure-managed-identity-application-id>
    azure_use_msi   = true
    

    Para comandos no nível do espaço de trabalho, se a identidade de destino ainda não tiver sido adicionada ao espaço de trabalho, especifique azure_workspace_resource_id junto com a ID do recurso do Azure, em vez de junto com a URL do espaço de host trabalho. Nesse caso, a identidade de destino deve ter pelo menos permissões de Colaborador ou Proprietário no recurso do Azure.

    Nota

    O local padrão para o .databrickscfg arquivo está no diretório inicial do usuário. Isto é ~ para Linux e macOS, e %USERPROFILE% para Windows.

  3. Na VM do Azure, use a CLI do Databricks --profile ou -p a opção seguida do nome do seu perfil de configuração para definir o perfil a ser usado pelo Databricks, por exemplo, databricks account groups list -p <configuration-profile-name> ou databricks clusters list -p <configuration-profile-name>.

    Gorjeta

    Você pode pressionar Tab depois --profile ou -p para exibir uma lista de perfis de configuração disponíveis existentes para escolher, em vez de inserir o nome do perfil de configuração manualmente.

Autenticação da entidade de serviço do Microsoft Entra ID

A autenticação da entidade de serviço do Microsoft Entra ID usa as credenciais de uma entidade de serviço do Microsoft Entra ID para autenticar. Para criar e gerenciar entidades de serviço para o Azure Databricks, consulte Gerenciar entidades de serviço. Consulte também a autenticação da entidade de serviço do MS Entra.

Para configurar e usar a autenticação da entidade de serviço do Microsoft Entra ID, você deve ter a autenticação da CLI do Azure instalada localmente. Você também deve fazer o seguinte:

  1. Crie ou identifique um perfil de configuração do Azure Databricks com os seguintes campos em seu .databrickscfg arquivo. Se você criar o perfil, substitua os espaços reservados pelos valores apropriados.

    Para comandos no nível da conta, defina os seguintes valores no arquivo .databrickscfg :

    [<some-unique-configuration-profile-name>]
    host                = <account-console-url>
    account_id          = <account-id>
    azure_tenant_id     = <azure-service-principal-tenant-id>
    azure_client_id     = <azure-service-principal-application-id>
    azure_client_secret = <azure-service-principal-client-secret>
    

    Para comandos no nível do espaço de trabalho, defina os seguintes valores no arquivo .databrickscfg :

    [<some-unique-configuration-profile-name>]
    host                = <workspace-url>
    azure_tenant_id     = <azure-service-principal-tenant-id>
    azure_client_id     = <azure-service-principal-application-id>
    azure_client_secret = <azure-service-principal-client-secret>
    

    Para comandos no nível do espaço de trabalho, se a entidade de serviço de ID do Microsoft Entra de destino ainda não tiver sido adicionada ao espaço de trabalho, especifique azure_workspace_resource_id junto com a ID do recurso do Azure, em vez de junto com a URL do espaço de host trabalho. Nesse caso, a entidade de serviço Microsoft Entra ID de destino deve ter pelo menos permissões de Colaborador ou Proprietário no recurso do Azure.

    Nota

    O local padrão para o .databrickscfg arquivo está no diretório inicial do usuário. Isto é ~ para Linux e macOS, e %USERPROFILE% para Windows.

  2. Use a CLI do Databricks --profile ou -p a opção seguida do nome do seu perfil de configuração, como parte da chamada de comando da CLI do Databricks, por exemplo databricks account groups list -p <configuration-profile-name> ou databricks clusters list -p <configuration-profile-name>.

    Gorjeta

    Você pode pressionar Tab depois --profile ou -p para exibir uma lista de perfis de configuração disponíveis existentes para escolher, em vez de inserir o nome do perfil de configuração manualmente.

Autenticação da CLI do Azure

A autenticação da CLI do Azure usa a CLI do Azure para autenticar a entidade conectada. Consulte também a autenticação da CLI do Azure.

Para configurar a autenticação da CLI do Azure, você deve fazer o seguinte:

  1. Tenha a CLI do Azure instalada localmente.

  2. Use a CLI do Azure para fazer logon no Azure Databricks executando o az login comando. Consulte Logon da CLI do Azure com uma conta de usuário do Azure Databricks.

  3. Crie ou identifique um perfil de configuração do Azure Databricks com os seguintes campos em seu .databrickscfg arquivo. Se você criar o perfil, substitua os espaços reservados pelos valores apropriados.

    Para comandos no nível da conta, defina os seguintes valores no arquivo .databrickscfg :

    [<some-unique-configuration-profile-name>]
    host       = <account-console-url>
    account_id = <account-id>
    

    Para comandos no nível do espaço de trabalho, defina os seguintes valores no arquivo .databrickscfg :

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

    Nota

    O local padrão para o .databrickscfg arquivo está no diretório inicial do usuário. Isto é ~ para Linux e macOS, e %USERPROFILE% para Windows.

  4. Use a CLI do Databricks --profile ou -p a opção seguida do nome do seu perfil de configuração, como parte da chamada de comando da CLI do Databricks, por exemplo databricks account groups list -p <configuration-profile-name> ou databricks clusters list -p <configuration-profile-name>.

    Gorjeta

    Você pode pressionar Tab depois --profile ou -p para exibir uma lista de perfis de configuração disponíveis existentes para escolher, em vez de inserir o nome do perfil de configuração manualmente.

Ordem de autenticação da avaliação

Sempre que a CLI do Databricks precisar reunir as configurações necessárias para tentar autenticar com um espaço de trabalho ou conta do Azure Databricks, ela procurará essas configurações nos seguintes locais, na seguinte ordem.

  1. Para qualquer comando executado a partir do diretório de trabalho do bundle (a raiz do bundle e qualquer caminho aninhado), os valores dos campos dentro dos arquivos de configuração do bundle de um projeto. (Os arquivos de configuração de pacote não suportam a inclusão direta de valores de credenciais de acesso.)
  2. Os valores das variáveis de ambiente, conforme listado neste artigo e em Variáveis de ambiente e campos para autenticação unificada do cliente.
  3. Valores de campo de perfil de configuração dentro do .databrickscfg arquivo, conforme listado anteriormente neste artigo.

Sempre que a CLI do Databricks encontra as configurações necessárias de que precisa, ela para de pesquisar em outros locais. Por exemplo:

  • A CLI do Databricks precisa do valor de um token de acesso pessoal do Azure Databricks. Uma DATABRICKS_TOKEN variável de ambiente é definida e o .databrickscfg arquivo também contém vários tokens de acesso pessoal. Neste exemplo, a CLI do Databricks usa o valor da variável de DATABRICKS_TOKEN ambiente e não pesquisa o .databrickscfg arquivo.
  • O databricks bundle deploy -t dev comando precisa do valor de um token de acesso pessoal do Azure Databricks. Uma DATABRICKS_TOKEN variável de ambiente não está definida e o arquivo contém vários tokens de .databrickscfg acesso pessoal. O arquivo de configurações de pacote do projeto contém uma declaração de dev ambiente que faz referência através de seu profile campo a um perfil de configuração chamado DEV. Neste exemplo, a CLI do Databricks pesquisa no .databrickscfg arquivo um perfil chamado DEV e usa o valor do campo desse token perfil.
  • O databricks bundle run -t dev hello-job comando precisa do valor de um token de acesso pessoal do Azure Databricks. Uma DATABRICKS_TOKEN variável de ambiente não está definida e o arquivo contém vários tokens de .databrickscfg acesso pessoal. O arquivo de configurações de pacote do projeto contém uma declaração de dev ambiente que faz referência por meio de seu host campo a uma URL específica do espaço de trabalho do Azure Databricks. Neste exemplo, a CLI do Databricks procura nos perfis de configuração dentro do .databrickscfg arquivo um perfil que contenha um host campo com uma URL de espaço de trabalho correspondente. A CLI do Databricks localiza um campo correspondente host e, em seguida, usa o valor de campo desse token perfil.