Autenticação para a CLI do Databricks

Nota

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 Databricks e as suas contas e espaços de trabalho Azure Databricks. Assume que já instalaste a CLI do Databricks. Consulte Instalar ou atualizar a CLI do Databricks.

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

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

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

Autenticação OAuth entre máquinas (M2M)

A autenticação máquina-a-máquina (M2M) com OAuth permite que serviços, scripts ou aplicativos acessem recursos do Databricks sem 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 de autenticação OAuth M2M. Ver Autorizar o acesso do principal de serviço ao Azure Databricks com OAuth.

  2. Crie um perfil de configuração do Azure Databricks com os seguintes campos no seu ficheiro .

    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 do espaço 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 OAuth utilizador-para-máquina (U2M)

Com a autenticação OAuth de utilizador para máquina (U2M), efetua-se o login interativo e a CLI gere tokens de curta duração em seu nome. Os tokens OAuth expiram em menos de uma hora, o que reduz o risco se um token for exposto acidentalmente. Veja Autorizar o acesso dos utilizadores a Azure Databricks com OAuth.

Para iniciar sessão:

Para comandos no nível da conta

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

Para comandos no nível do espaço de trabalho

databricks auth login --host <workspace-url>

A CLI orienta você através de um fluxo de login baseado em navegador. Quando você terminar, a CLI salvará as credenciais como um perfil de configuração. Pode aceitar o nome de perfil sugerido ou introduzir o seu próprio.

Para usar o perfil, passe-o com o sinalizador --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 geridas no Azure

A autenticação de identidades geridas do Azure utiliza identidades geridas para recursos do Azure (anteriormente Identidades de Serviço Geridas (MSI)) para autenticação. Veja o que são identidades geridas para recursos do Azure?. Ver também Autenticar com identidades Azure geridas.

Para criar uma identidade gerida atribuída pelo utilizador no Azure, faça o seguinte:

  1. Crie ou identifique uma VM Azure e instale a CLI Databricks nela, depois atribua a sua identidade gerida à sua VM Azure e às suas contas Azure Databricks, workspaces, ou ambos. Veja Utilize identidades geridas do Azure com o Azure Databricks.

  2. Na VM Azure, crie ou identifique um perfil Azure Databricks configuration com os seguintes campos no seu ficheiro .databrickscfg. Se criar o perfil, substitua os marcadores de posição pelos valores apropriados.

    Para os comandos de nível de conta , defina os seguintes valores no ficheiro .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 espaço de trabalho , defina os seguintes valores no 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 espaço de trabalho. Alternativamente, use azure_workspace_resource_id com o ID de recurso Azure. Esta abordagem requer permissões de Contribuidor ou Proprietário no recurso Azure, ou um papel personalizado com permissões específicas do Azure Databricks.

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

    Gorjeta

    Você pode pressionar Tab após --profile ou -p para exibir uma lista de perfis de configuração disponíveis existentes para escolher, em vez de inserir o nome do perfil de configuração manualmente.

Microsoft Entra ID autenticação do principal de serviço

O processo de autenticação Microsoft Entra ID principal de serviço utiliza as credenciais de um principal de serviço do Microsoft Entra ID para a autenticação. Para criar e gerir princípios de serviço para Azure Databricks, veja Princípios de serviço. Consulte também Autenticar com principais de serviço do Microsoft Entra.

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

  1. Crie ou identifique um perfil de configuração do Azure Databricks com os seguintes campos no seu ficheiro . Se criar o perfil, substitua os marcadores de posição pelos valores apropriados.

    Para os comandos de nível de conta , defina os seguintes valores no ficheiro .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 espaço de trabalho , defina os seguintes valores no 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 espaço de trabalho. Alternativamente, use azure_workspace_resource_id com o ID de recurso Azure. Esta abordagem requer permissões de Contribuidor ou Proprietário no recurso Azure, ou um papel personalizado com permissões específicas do Azure Databricks.

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

    Gorjeta

    Você pode pressionar Tab após --profile ou -p para exibir uma lista de perfis de configuração disponíveis existentes para escolher, em vez de inserir o nome do perfil de configuração manualmente.

Autenticação Azure CLI

A autenticação Azure CLI utiliza o Azure CLI para autenticar a entidade autenticada. Ver também Autenticar com a Azure CLI.

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

  1. Instale o Azure CLI localmente.

  2. Use o Azure CLI para iniciar sessão no Azure Databricks executando o comando az login. Veja Iniciar sessão com a Azure CLI.

  3. Crie ou identifique um perfil de configuração do Azure Databricks com os seguintes campos no seu ficheiro . Se criar o perfil, substitua os marcadores de posição pelos valores apropriados.

    Para os comandos de nível de conta , defina os seguintes valores no ficheiro .databrickscfg:

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

    Para comandos no nível do espaço de trabalho , defina os seguintes valores no arquivo .databrickscfg :

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

    Gorjeta

    Você pode pressionar Tab após --profile ou -p para exibir uma 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 autenticação da avaliação

Sempre que a CLI do Databricks se autentica num espaço de trabalho ou conta do Azure Databricks, procura as definições necessárias pela seguinte ordem:

  1. Arquivos de configurações do pacote, para comandos executados 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. 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 para de pesquisar outros locais.

Examples:

  • Se uma variável de DATABRICKS_TOKEN ambiente for definida, a CLI a usará, mesmo que existam vários tokens no .databrickscfg.
  • Se nenhum DATABRICKS_TOKEN estiver definido e um ambiente utilizar um nome de perfil, como dev → perfil DEV, a CLI usará as credenciais desse perfil no .databrickscfg.
  • Caso nenhum DATABRICKS_TOKEN esteja definido e um ambiente de bundle especifique um valor host, a CLI procurará um perfil em .databrickscfg com um host correspondente e utilizará o seu token.

Autenticação por token de acesso pessoal (legado)

Importante

Sempre que possível, o Azure Databricks recomenda usar OAuth em vez de PATs para autenticação de contas de utilizador, pois o OAuth oferece segurança mais forte. Considere os seguintes métodos de autenticação:

A autenticação do token de acesso pessoal Azure Databricks utiliza um token de acesso pessoal do Azure Databricks para autenticar a entidade Azure Databricks alvo, como uma conta de utilizador 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 espaço de trabalho.