Autenticação para a CLI da Databricks
Databricks CLI O uso está sujeito à LicençaDatabricks e ao Aviso de PrivacidadeDatabricks, incluindo qualquer provisionamento de Dados de Uso.
Este artigo explica 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 comando Databricks CLI , é necessário configurar a autenticação para a conta ou o espaço de trabalho que o senhor planeja usar. A configuração necessária depende de se o senhor deseja executar workspace-level comando, account-level comando ou ambos.
Para view grupos de comando CLI disponíveis, execute databricks -h. Para obter a lista de operações correspondentes da API REST, consulte API REST da Databricks.
Autenticação OAuth máquina a máquina (M2M)
A autenticação máquina a máquina (M2M) com OAuth permite que serviços, scripts ou aplicativos acessem Databricks recurso sem o login interativo do usuário. Em vez de depender de tokens de acesso pessoal (PATs) ou credenciais de usuário, a autenticação M2M usa uma entidade de serviço e um fluxo de credenciais de cliente OAuth para solicitar e gerenciar tokens.
Para configurar e usar a autenticação OAuth M2M:
-
Conclua as etapas de configuração da autenticação OAuth M2M. Consulte Autorizar o acesso da entidade de serviço ao Databricks com o OAuth.
-
Crie um perfil de configuração do Databricks com os seguintes campos em seu arquivo
.databrickscfg.Para account-level comando
[<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
[<some-unique-configuration-profile-name>]
host = <workspace-url>
client_id = <service-principal-client-id>
client_secret = <service-principal-oauth-secret>
Para usar o perfil, passe-o com o sinalizador --profile ou -p em CLI comando. Por exemplo:
databricks account groups list -p <profile-name>
Para listar os perfis disponíveis, pressione Tab após --profile ou -p para exibir os perfis para escolha, ou execute o seguinte:
databricks auth profiles -o text
Autenticação OAuth de usuário para máquina (U2M)
Com a autenticação OAuth user-to-machine (U2M), o senhor log in interativamente e o CLI gerencia o tokens de curta duração em seu nome. OAuth tokens expiram em menos de uma hora, o que reduz o risco se um token for acidentalmente exposto. Consulte Autorizar o acesso do usuário ao Databricks com o OAuth.
Para log in:
Para account-level comando
databricks auth login --host <account-console-url> --account-id <account-id>
Para workspace-level comando
databricks auth login --host <workspace-url>
A CLI o guia por um fluxo de login baseado em navegador. Quando você terminar, a CLI salva um perfil de configuração com seu host de workspace e nome de perfil. É possível aceitar o nome de perfil sugerido ou inserir o seu próprio.
Se você tiver a permissão Assume em uma ou mais funções, ou a função Service Principal Manager em uma ou mais Service Principal, poderá escolher se deseja autenticar como sua própria identidade de usuário, uma função ou uma Service Principal no navegador da Web como parte do fluxo de autenticação. O perfil resultante autoriza comandos como a identidade selecionada. Consulte CLI e Autenticar como uma Service Principal usando OAuth OBO.
Para usar o perfil, passe-o com o sinalizador --profile ou -p em CLI comando. Por exemplo:
databricks clusters list -p <profile-name>
Para listar os perfis disponíveis, pressione Tab após --profile ou -p para exibir os perfis para escolha, ou execute o seguinte:
databricks auth profiles -o text
Armazenamento de tokens
Por default, a partir da versão 1.0.0 da CLI do Databricks, Os tokens U2M são armazenados em armazenamento seguro nativo do SO: Keychain no macOS, Gerenciador de Credenciais no Windows e Serviço Secreto D-Bus no Linux. Seu .databrickscfg arquivo contém apenas configurações não secretas, como nome do host e nome do perfil. O token em si nunca se escreve lá.
Cada perfil tem seu próprio token em cache. Se houver vários perfis apontando para o mesmo workspace, sair de um não desconecta dos outros.
Se o seu ambiente não suportar armazenamento seguro nativo do SO (por exemplo, um servidor sem monitor ou ambiente de CI), você pode recorrer a armazenamento de tokens em texto sem formatação.
Para solucionar problemas de erros de armazenamento seguro, consulte Solucionar problemas da CLI do Databricks.
Use o fallback de texto simples
Se seu ambiente não oferece suporte a armazenamento seguro, ou se você depende do armazenamento de tokens baseado em arquivo (por exemplo, sincronizando o arquivo de credenciais por SSH), você pode configurar a CLI para usar o arquivo JSON simples com uma das seguintes opções. Depois de definir uma das opções, execute databricks auth login novamente.
-
Configure a variável de ambiente
DATABRICKS_AUTH_STORAGE.Bashexport DATABRICKS_AUTH_STORAGE=plaintext -
Defina a configuração
auth_storageno arquivo~/.databrickscfgdo perfil de configuração do Databricks.ini[__settings__]
auth_storage = plaintext
A variável de ambiente tem precedência sobre a configuração do perfil.
Ordem de avaliação de autenticação
Sempre que o Databricks CLI se autentica em um Databricks workspace ou account, ele procura as configurações necessárias na seguinte ordem:
- Arquivos de configuração do pacote , para execução do comando a partir de um diretório de trabalho do pacote. Os arquivos de configurações do pacote não podem conter valores de credenciais diretamente.
- O senhor pode usar os campos para autenticação unificada, conforme listado neste artigo e em variável de ambiente e campos para autenticação unificada.
- Perfis de configuração no arquivo
.databrickscfg.
Assim que a CLI encontra a configuração necessária, ela para de procurar em outros locais.
Exemplos:
- Se uma variável de ambiente
DATABRICKS_TOKENfor definida, a CLI a usará, mesmo que existam vários tokens em.databrickscfg. - Se nenhum
DATABRICKS_TOKENfor definido e um ambiente de pacote fizer referência a um nome de perfil, comodev→ perfilDEV, a CLI usará as credenciais desse perfil em.databrickscfg. - Se nenhum
DATABRICKS_TOKENfor definido e um ambiente de pacote especificar um valorhost, a CLI procurará um perfil em.databrickscfgcom umhostcorrespondente e usará seutoken.
Autenticação access token pessoal (legado)
Sempre que possível, Databricks recomenda o uso OAuth em vez de PATs para autenticação account de usuário, pois OAuth oferece maior segurança. Considere os seguintes métodos de autenticação:
A autenticação access token pessoal Databricks usa um access token pessoal Databricks para autenticar a entidade de destino Databricks , como uma account de usuário Databricks ou uma entidade de serviço Databricks . Consulte Autenticar com access tokens pessoal Databricks (legado).
Para criar um access token pessoal, siga os passos em Criar access tokens pessoais para usuários workspace.