Compartilhar via


Autenticação da CLI do Databricks

Observação

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 explica como configurar a autenticação entre a CLI do Databricks e suas contas de Azure Databricks e workspaces. Ele pressupõe que você já instalou a CLI do Databricks. Confira Instalar ou atualizar a CLI do Databricks.

Antes de executar os comandos da CLI do Databricks, você deve configurar a autenticação para as contas ou workspaces que pretende usar. A configuração necessária depende se você deseja executar comandos no nível do workspace , comandos no nível da conta ou ambos.

Para exibir grupos de comandos da CLI disponíveis, execute databricks -h. Para obter a lista de operações de API REST correspondentes, consulte a API REST do Databricks.

Para obter informações sobre a autenticação do Microsoft Entra no Databricks com Azure DevOps especificamente, consulte Autenticar com Azure DevOps no Azure Databricks.

Autenticação M2M (de computador para computador) do OAuth

A autenticação M2M (máquina a máquina) com o OAuth permite que serviços, scripts ou aplicativos acessem recursos do Databricks sem entrada interativa do usuário. Em vez de depender de tokens de acesso pessoal (PATs) ou credenciais de usuário, a autenticação máquina a máquina (M2M) usa um principal 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 de autenticação do OAuth M2M. Consulte Autorizar o acesso do principal ao Azure Databricks com OAuth.

  2. Crie um perfil de configuração de Azure Databricks com os campos a seguir no arquivo .

    Para comandos no nível da conta

    [<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 da área de trabalho

    [<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 nos comandos da CLI. Por exemplo:

databricks account groups list -p <profile-name>

Pressione Tab depois --profile ou -p para mostrar uma lista de perfis disponíveis.

Autenticação U2M (usuário para computador) do OAuth

Com a autenticação U2M (usuário para máquina) do OAuth, você faz login interativamente e a CLI gerencia tokens de curto prazo em seu nome. Os tokens OAuth expiram em menos de uma hora, o que reduz o risco se um token for exposto acidentalmente. Consulte Authorize o acesso do usuário ao Azure Databricks com o OAuth.

Para fazer logon:

Para comandos no nível da conta

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

Para comandos no nível do workspace

databricks auth login --host <workspace-url>

A CLI orienta você por meio de um fluxo de logon baseado em navegador. Quando você termina, a CLI salva as credenciais como um perfil de configuração. Você pode aceitar o nome de perfil sugerido ou inserir o seu próprio.

Para usar o perfil, passe-o com a flag --profile ou -p nos comandos da CLI. Por exemplo:

databricks clusters list -p <profile-name>

Pressione Tab depois --profile ou -p para mostrar uma lista de perfis disponíveis.

Autenticação de identidades gerenciadas do Azure

Identidades gerenciadas do Azure usa identidades gerenciadas para recursos do Azure (anteriormente, Identidades de Serviço Gerenciadas (MSI)) para autenticação. Consulte O que são identidades gerenciadas para recursos de Azure?. Consulte também Autenticar com identidades gerenciadas do Azure.

Para criar uma identidade gerenciada atribuída pelo usuário Azure, faça o seguinte:

  1. Crie ou identifique uma VM Azure e instale a CLI do Databricks nela e, em seguida, atribua sua identidade gerenciada à VM Azure e suas contas de Azure Databricks de destino, workspaces ou ambas. Consulte o uso de identidades gerenciadas do Azure com o Azure Databricks.

  2. Na VM Azure, crie ou identifique um perfil de configuração do Azure Databricks com os campos a seguir no arquivo .databrickscfg. 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 seu 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 workspace, defina os seguintes valores no seu arquivo .databrickscfg:

    [<some-unique-configuration-profile-name>]
    host            = <workspace-url>
    azure_client_id = <azure-managed-identity-application-id>
    azure_use_msi   = true
    

    O Databricks recomenda usar host e atribuir explicitamente a identidade ao workspace. Como alternativa, use azure_workspace_resource_id com a ID do recurso Azure. Essa abordagem requer permissões de Colaborador ou Proprietário no recurso Azure ou uma função personalizada com permissões de Azure Databricks específicas.

  3. Na VM Azure, use a opção --profile ou -p da CLI do Databricks seguida pelo nome do seu perfil de configuração para definir o perfil do Databricks a ser usado, por exemplo, databricks account groups list -p <configuration-profile-name> ou databricks clusters list -p <configuration-profile-name>.

    Dica

    Pressione Tab depois de --profile ou -p para visualizar uma lista de perfis de configuração disponíveis existentes para sua escolha, em vez de inserir o nome do perfil de configuração manualmente.

autenticação do service principal do Microsoft Entra ID

Microsoft Entra ID principal de serviço é um método de autenticação no qual a autenticação utiliza as credenciais de um principal de serviço Microsoft Entra ID. Para criar e gerenciar entidades de serviço para Azure Databricks, consulte Service principals. Consulte também Authenticate com entidades de serviço Microsoft Entra.

Para configurar e usar a autenticação de entidade de serviço do Microsoft Entra ID, você deve ter o Autenticar com o CLI do Azure instalado localmente. Você também deve fazer o seguinte:

  1. Crie ou identifique um perfil de configuração do Azure Databricks com os campos a seguir no arquivo .databrickscfg. 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 seu 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 workspace, defina os seguintes valores no seu 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>
    

    O Databricks recomenda usar host e atribuir explicitamente o principal de serviço Microsoft Entra ID ao workspace. Como alternativa, use azure_workspace_resource_id com a ID do recurso Azure. Essa abordagem requer permissões de Colaborador ou Proprietário no recurso Azure ou uma função personalizada com permissões de Azure Databricks específicas.

  2. Use a opção --profile ou -p do CLI do Databricks, seguida pelo nome do seu perfil de configuração, como parte da chamada de comando do CLI do Databricks, por exemplo, databricks account groups list -p <configuration-profile-name> ou databricks clusters list -p <configuration-profile-name>.

    Dica

    Pressione Tab depois de --profile ou -p para visualizar uma lista de perfis de configuração disponíveis existentes para sua escolha, em vez de inserir o nome do perfil de configuração manualmente.

Autenticação do CLI do Azure

A autenticação via CLI do Azure utiliza o CLI do Azure para autenticar a entidade autenticada. Consulte também Authenticate com o CLI do Azure.

Para configurar CLI do Azure autenticação, faça o seguinte:

  1. Instale o CLI do Azure localmente.

  2. Use o CLI do Azure para fazer logon no Azure Databricks executando o comando az login. Consulte Entrar com o CLI do Azure.

  3. Crie ou identifique um perfil de configuração do Azure Databricks com os campos a seguir no arquivo .databrickscfg. 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 seu arquivo .databrickscfg:

    [<some-unique-configuration-profile-name>]
    host       = <account-console-url>
    account_id = <account-id>
    

    Para comandos no nível do workspace, defina os seguintes valores no seu arquivo .databrickscfg:

    [<some-unique-configuration-profile-name>]
    host = <workspace-url>
    
  4. Use a opção --profile ou -p do CLI do Databricks, seguida pelo nome do seu perfil de configuração, como parte da chamada de comando do CLI do Databricks, por exemplo, databricks account groups list -p <configuration-profile-name> ou databricks clusters list -p <configuration-profile-name>.

    Dica

    Pressione Tab depois de --profile ou -p para visualizar uma lista de perfis de configuração disponíveis existentes para sua escolha, 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 se autentica em um Azure Databricks workspace ou conta, ele procura as configurações necessárias na seguinte ordem:

  1. Arquivos de configurações de pacote, para comandos executados a partir de um diretório de trabalho do pacote. Os arquivos de configurações de pacote não podem conter valores de credencial diretamente.
  2. Variáveis de ambiente, conforme listado neste artigo e em variáveis de ambiente e campos para autenticação unificada.
  3. Perfis de configuração no .databrickscfg arquivo.

Assim que a CLI encontrar a configuração necessária, ela interromperá a pesquisa em outros locais.

Exemplos:

  • Se uma DATABRICKS_TOKEN variável de ambiente for definida, a CLI a usará, mesmo que existam vários tokens em .databrickscfg.
  • Se nenhum DATABRICKS_TOKEN estiver 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 que corresponda a host e usará seu token.

Autenticação de token de acesso pessoal (herdado)

Importante

Sempre que possível, Azure Databricks recomenda usar o OAuth em vez de PATs para autenticação de conta de usuário porque o OAuth fornece segurança mais forte. Considere os seguintes métodos de autenticação:

A autenticação de token de acesso pessoal do Azure Databricks utiliza um token de acesso pessoal do Azure Databricks para autenticar a entidade de destino no Azure Databricks, como uma conta de usuário do Azure Databricks. Consulte Autenticar com tokens de acesso pessoal do Azure Databricks (legado).

Para criar um token de acesso pessoal, siga as etapas em Criar tokens de acesso pessoal para usuários do workspace.