Autenticação para a CLI da Databricks
Essas informações se aplicam ao site Databricks CLI versões 0.205 e superiores. A CLI da Databricks está em visualização pública.
Databricks CLI O uso está sujeito à LicençaDatabricks e ao Aviso de PrivacidadeDatabricks, incluindo qualquer provisionamento de Dados de Uso.
Este artigo descreve como configurar a autenticação entre o Databricks CLI e sua conta e espaço de trabalho Databricks. Ele pressupõe que o senhor já tenha instalado a CLI da Databricks. Consulte Instalar ou atualizar a CLI da Databricks.
Antes de executar o Databricks CLI comando, é necessário configurar a autenticação entre o Databricks CLI e sua conta Databricks, espaço de trabalho ou uma combinação desses, dependendo dos tipos de CLI comando que deseja executar.
O senhor deve autenticar o Databricks CLI no recurso relevante no momento da execução para poder executar o comando de automação Databricks em um Databricks account ou workspace. Dependendo se Databricks o senhor deseja workspacechamar -level comando, Databricks account-level comando, ou ambos, deve se autenticar no Databricks workspace account,, ou ambos. Para obter uma lista dos grupos de comando Databricks workspace-level e account-level CLI, execute o comando databricks -h
. Para obter uma lista de Databricks workspace-level e account-level REST API operações que o Databricks CLI comando cobre, consulte o Databricks REST API.
As seções a seguir fornecem informações sobre como configurar a autenticação entre a CLI do Databricks e o Databricks:
- Autenticação de access tokens pessoais do Databricks
- Autenticação OAuth machine-to-machine (M2M)
- Autenticação OAuth user-to-machine (U2M)
- Ordem de avaliação de autenticação
Databricks autenticação de tokens de acesso pessoal
Databricks A autenticação de tokens de acesso pessoal usa tokens de acesso pessoal Databricks para autenticar a entidade de destino Databricks, como um usuário Databricks account ou uma entidade de serviço Databricks. Consulte também Databricks autenticação de tokens de acesso pessoal.
Você não pode usar a autenticação com access tokens pessoais do Databricks para autenticar com uma account do Databricks, pois os comandos de nível de account não utilizam access tokens pessoais do Databricks para autenticação. Para autenticar com uma account do Databricks, considere usar um dos seguintes tipos de autenticação:
A autenticação básica usando um nome de usuário e senha da Databricks chegou ao fim da vida útil em 10 de julho de 2024. Consulte End of life para Databricks-gerenciar senhas.
Para criar tokens de acesso pessoal, siga as etapas em Databricks personal access tokens para usuários workspace.
O procedimento a seguir cria um perfil de configuração do Databricks com o nome DEFAULT
. Se você já tiver um perfil de configuração DEFAULT
que deseja usar, ignore este procedimento. Caso contrário, esse procedimento substituirá o perfil de configuração do DEFAULT
existente. Para exibir os nomes e hosts de qualquer perfil de configuração existente, 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 databricks configure
a seguir, substituindo <configuration-profile-name>
pelo nome do novo perfil de configuração.
Para configurar e usar a autenticação por access token pessoal do Databricks, faça o seguinte:
-
Use a CLI do Databricks para executar o seguinte comando:
Bashdatabricks configure
-
No prompt Databricks Host, digite o Databricks workspace URL da instância, por
https://dbc-a1b2345c-d6e7.cloud.databricks.com
exemplo,. -
Para o prompt Access token pessoal , insira o access token pessoal do Databricks para seu workspace
Depois de inserir seu access token pessoal do Databricks, um perfil de configuração correspondente é adicionado ao seu arquivo
.databrickscfg
. Se a CLI do Databricks não conseguir encontrar esse arquivo em seu local padrão, ele criará esse arquivo para você primeiro e depois adicionará esse perfil de configuração ao novo arquivo. O local padrão desse arquivo é na sua pasta~
(sua página inicial de usuário) no Unix, Linux ou macOS, ou sua pasta%USERPROFILE%
(sua página inicial de usuário) no Windows. -
Agora você pode usar a opção
--profile
ou-p
da CLI do Databricks seguida pelo nome do seu perfil de configuração, como parte do 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 se autenticar com Databricks usando a autenticação de tokens de acesso pessoalDatabricks, o senhor 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 da Databricks e oferece melhor invalidação e escopo de sessão no 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 de origem. Consulte também Autorizar o acesso autônomo a Databricks recurso com uma entidade de serviço usando OAuth.
Para configurar e usar a autenticação OAuth M2M, faça o seguinte:
-
Conclua as instruções de configuração da autenticação OAuth M2M. Consulte Autorizar acesso autônomo a Databricks recurso com uma entidade de serviço usando OAuth
-
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 account-level comando, defina os seguintes valores em seu 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 workspace-level comando, defina os seguintes valores em seu arquivo
.databrickscfg
:[<some-unique-configuration-profile-name>]
host = <workspace-url>
client_id = <service-principal-client-id>
client_secret = <service-principal-oauth-secret>
O local default para o arquivo .databrickscfg
é o diretório home do usuário. Este é o site ~
para Linux e macOS e %USERPROFILE%
para Windows.
- Use a opção
--profile
ou-p
da CLI do Databricks seguida pelo 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>
.
Pressione Tab
após --profile
ou -p
para exibir uma lista de perfis de configuração disponíveis, em vez de digitar o nome do perfil de configuração manualmente.
Autenticação OAuth de usuário para máquina (U2M)
Em vez de se autenticar com Databricks usando a autenticação de tokens, o senhor 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 Databricks e oferece melhor invalidação e escopo de sessão no 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 de origem. Consulte também Autorizar o acesso interativo a Databricks recurso com um usuário account usando OAuth.
Para configurar e usar a autenticação OAuth U2M, faça o seguinte:
-
Antes de chamar quaisquer comandos de nível de account do Databricks, você deve iniciar o gerenciamento de tokens OAuth localmente, executando o seguinte comando. Esse comando deve ser executado separadamente para cada account em que você deseja executar comandos. Se você não quiser chamar nenhuma operação de nível de account, pule para o passo 5.
No comando a seguir, substitua os seguintes espaços reservados:
- Substitua
<account-console-url>
pelo seu Databricks https://accounts.cloud.databricks.com. - Substitua
<account-id>
pelo seu Databricks account ID. Consulte Localizar sua account ID.
Bashdatabricks auth login --host <account-console-url> --account-id <account-id>
- Substitua
-
O Databricks CLI solicita que o usuário salve o account URL do console e o account ID localmente como um Databricks perfil de configuração. Pressione
Enter
para aceitar o nome de perfil sugerido ou insira o nome de um perfil novo ou existente. Qualquer perfil existente com o mesmo nome é substituído por esse URL do console account e pelo ID account.Para obter uma lista de todos os 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 seu navegador, siga as instruções na tela para fazer login na sua account do Databricks.
-
Para ver o valor atual do token OAuth e a data e hora de expiração futura, execute o comando
databricks auth token --host <account-console-url> --account-id <account-id>
. -
Antes de chamar qualquer comando no nível do workspace do Databricks, você deve iniciar o gerenciamento de tokens OAuth localmente executando o seguinte comando. Este comando deve ser executado separadamente para cada workspace no qual você deseja executar comandos.
No comando a seguir, substitua
<workspace-url>
pelo Databricks workspace URL da instância, porhttps://dbc-a1b2345c-d6e7.cloud.databricks.com
exemplo,.Bashdatabricks auth login --host <workspace-url>
-
O Databricks CLI solicita que o senhor salve o workspace URL localmente como um Databricks perfil de configuração. Pressione
Enter
para aceitar o nome de perfil sugerido ou insira o nome de um perfil novo ou existente. Qualquer perfil existente com o mesmo nome é substituído por esse URL workspace.Para obter uma lista de todos os 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 log in no workspace do Databricks.
-
Para ver o valor atual do token OAuth e a data e hora de expiração futura, execute o comando
databricks auth token --host <workspace-url>
. -
Use a opção
--profile
ou-p
da CLI do Databricks, seguida pelo 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>
.
Você pode pressionar Tab
após --profile
ou -p
para exibir a 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 avaliação de autenticação
Sempre que a CLI do Databricks precisa reunir as configurações necessárias para tentar se autenticar com um workspace ou account do Databricks, ela procura 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 do pacote não admitem a inclusão direta de valores de credenciais de acesso.)
- Os valores de variável de ambiente, conforme listados neste artigo e em variável de ambiente e campos para autenticação unificada de cliente.
- Valores do campo de perfil de configuração no arquivo
.databrickscfg
, conforme indicado anteriormente neste artigo.
Sempre que a CLI do Databricks encontra as configurações necessárias, ele interrompe a pesquisa em outros locais. Por exemplo:
- A CLI do Databricks precisa do valor de um access token pessoal do Databricks. Uma variável de ambiente
DATABRICKS_TOKEN
é definida e o arquivo.databrickscfg
também contém vários tokens de acesso pessoal. Neste exemplo, a CLI do Databricks utiliza o valor da variável de ambienteDATABRICKS_TOKEN
e não pesquisa o arquivo.databrickscfg
. - O comando
databricks bundle deploy -t dev
precisa do valor de um access token pessoal do Databricks. Uma variável de ambienteDATABRICKS_TOKEN
não é definida e o arquivo.databrickscfg
contém vários access tokens pessoais. O arquivo de configurações do pacote do projeto contém uma declaração de ambientedev
que faz referência, por meio do campoprofile
, a um perfil de configuração denominadoDEV
. Neste exemplo, a CLI do Databricks pesquisa o arquivo.databrickscfg
em busca de um perfil denominadoDEV
e utiliza o valor do campotoken
desse perfil. - O comando
databricks bundle run -t dev hello-job
precisa do valor de um access token pessoal do Databricks. Uma variável de ambienteDATABRICKS_TOKEN
não é definida e o arquivo.databrickscfg
contém vários access tokens pessoais. O arquivo de configurações do pacote do projeto contém uma declaração de ambientedev
que faz referência, por meio do campohost
, a uma URL específica do workspace do Databricks. Neste exemplo, a CLI do Databricks pesquisa os perfis de configuração no arquivo.databrickscfg
em busca de um perfil que contenha um campohost
com uma URL de workspace correspondente. A CLI do Databricks localiza um campohost
correspondente e usa o valor do campotoken
desse perfil.