Pular para o conteúdo principal

Autenticação para a CLI da Databricks

nota

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:

  1. 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.

  2. 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:

Bash
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:

Bash
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

Bash
databricks auth login --host <account-console-url> --account-id <account-id>

Para workspace-level comando

Bash
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.

nota

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:

Bash
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:

Bash
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.

    Bash
    export DATABRICKS_AUTH_STORAGE=plaintext
  • Defina a configuração auth_storage no arquivo ~/.databrickscfg do 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:

  1. 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.
  2. 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.
  3. 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_TOKEN for definida, a CLI a usará, mesmo que existam vários tokens em .databrickscfg.
  • Se nenhum DATABRICKS_TOKEN for definido e um ambiente de pacote fizer referência a um nome de perfil, como dev → perfil DEV, a CLI usará as credenciais desse perfil em .databrickscfg.
  • Se nenhum DATABRICKS_TOKEN for definido e um ambiente de pacote especificar um valor host, a CLI procurará um perfil em .databrickscfg com um host correspondente e usará seu token.

Autenticação access token pessoal (legado)​

importante

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.