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>
Pressione tab após --profile ou -p para exibir uma lista de perfis disponíveis.
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.
Para usar o perfil, passe-o com o sinalizador --profile ou -p em CLI comando. Por exemplo:
databricks clusters list -p <profile-name>
Pressione tab após --profile ou -p para exibir uma lista de perfis disponíveis.
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.