Autenticação para a CLI do Databricks
Nota
Essas informações se aplicam às versões 0.205 e superiores da CLI do Databricks. A CLI do Databricks está em Visualização Pública.
O uso da CLI do Databricks está sujeito à Licença do Databricks e ao Aviso de Privacidade do Databricks, incluindo quaisquer disposições de Dados de Uso.
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 do token de acesso pessoal do Azure Databricks
- Autenticação máquina a máquina (M2M) OAuth
- Autenticação OAuth user-to-machine (U2M)
- Autenticação de identidades gerenciadas do Azure
- Autenticação ddo principal de serviço do Microsoft Entra ID
- Autenticação da CLI do Azure
- Ordem de autenticação da avaliação
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, siga as etapas em Tokens de acesso pessoal do Azure Databricks para usuários do espaço de trabalho.
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.
Para configurar e usar a autenticação de token de acesso pessoal do Azure Databricks, faça o seguinte:
Use a CLI do Databricks para executar o seguinte comando:
databricks configure
Para o prompt Databricks Host, insira sua URL do Azure Databricks por espaço de trabalho, por exemplo
https://adb-1234567890123456.7.azuredatabricks.net
.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.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 exemplodatabricks 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:
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)
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.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>
oudatabricks 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:
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:
- Substitua
<account-console-url>
pelo Azure Databricks https://accounts.azuredatabricks.net. - Substitua
<account-id>
pela ID da sua conta do Azure Databricks. Consulte Localizar o ID da sua conta.
databricks auth login --host <account-console-url> --account-id <account-id>
- Substitua
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 comandodatabricks auth env --profile <profile-name>
.No navegador da Web, conclua as instruções na tela para fazer logon na sua conta do Azure Databricks.
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>
.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>
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 comandodatabricks auth env --profile <profile-name>
.No navegador da Web, conclua as instruções na tela para fazer logon no espaço de trabalho do Azure Databricks.
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>
.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 exemplodatabricks account groups list -p <configuration-profile-name>
oudatabricks 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:
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.
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 dehost
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.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>
oudatabricks 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:
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 dehost
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.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 exemplodatabricks account groups list -p <configuration-profile-name>
oudatabricks 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:
Tenha a CLI do Azure instalada localmente.
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.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.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 exemplodatabricks account groups list -p <configuration-profile-name>
oudatabricks 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.
- 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.)
- 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.
- 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 deDATABRICKS_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. UmaDATABRICKS_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 dedev
ambiente que faz referência através de seuprofile
campo a um perfil de configuração chamadoDEV
. Neste exemplo, a CLI do Databricks pesquisa no.databrickscfg
arquivo um perfil chamadoDEV
e usa o valor do campo dessetoken
perfil. - O
databricks bundle run -t dev hello-job
comando precisa do valor de um token de acesso pessoal do Azure Databricks. UmaDATABRICKS_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 dedev
ambiente que faz referência por meio de seuhost
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 umhost
campo com uma URL de espaço de trabalho correspondente. A CLI do Databricks localiza um campo correspondentehost
e, em seguida, usa o valor de campo dessetoken
perfil.