Share via


Obtenha tokens do Microsoft Entra ID (anteriormente Azure Ative Directory) para entidades de serviço do Microsoft Entra ID usando a CLI do Azure

Importante

Este artigo descreve como criar manualmente tokens do Microsoft Entra ID (anteriormente Azure Ative Directory) para entidades de serviço do Microsoft Entra ID usando a CLI do Azure.

As entidades de serviço gerenciado do Azure Databricks são gerenciadas diretamente no Azure Databricks. As entidades de serviço gerenciadas do Microsoft Entra ID são gerenciadas no Microsoft Entra ID, o que requer permissões adicionais. O Databricks recomenda que você use entidades de serviço gerenciado do Azure Databricks para a maioria dos casos de uso. No entanto, o Databricks recomenda que você use entidades de serviço gerenciado do Microsoft Entra ID nos casos em que você deve se autenticar com o Azure Databricks e outros recursos do Azure ao mesmo tempo.

Para criar uma entidade de serviço gerenciado do Azure Databricks em vez de uma entidade de serviço gerenciado do Microsoft Entra ID, consulte Gerenciar entidades de serviço.

O Databricks não recomenda que você crie tokens do Microsoft Entra ID (anteriormente Azure Ative Directory) para entidades de serviço do Microsoft Entra ID manualmente. Isso ocorre porque cada token de ID do Microsoft Entra é de curta duração, normalmente expirando dentro de uma hora. Após esse período, você deve gerar manualmente um token de ID do Microsoft Entra de substituição. Em vez disso, use uma das ferramentas participantes ou SDKs que implementam o padrão de autenticação unificada do cliente Databricks. Essas ferramentas e SDKs geram e substituem automaticamente tokens de ID do Microsoft Entra expirados para você, aproveitando os seguintes tipos de autenticação Databricks:

Você pode usar a CLI do Azure para obter tokens de acesso do Microsoft Entra ID para entidades de serviço do Microsoft Entra ID.

  1. Recolha as seguintes informações:

    Parâmetro Description
    Tenant ID O Directory (tenant) ID para o aplicativo relacionado registrado no Microsoft Entra ID.
    Client ID O Application (client) ID para o aplicativo relacionado registrado no Microsoft Entra ID.
    Client secret O Value segredo do cliente para o aplicativo relacionado registrado no Microsoft Entra ID.
  2. Obtenha a ID de assinatura do Azure correta para a entidade de serviço do Microsoft Entra ID, se ainda não souber essa ID, seguindo um destes procedimentos:

    • Na barra de navegação superior do seu espaço de trabalho do Azure Databricks, clique no seu nome de utilizador e, em seguida, clique em Portal do Azure. Na página de recursos do espaço de trabalho do Azure Databricks exibida, clique em Visão geral na barra lateral. Em seguida, procure o campo ID da assinatura, que contém a ID da assinatura.

    • Use a CLI do Azure para executar o comando az databricks workspace list, usando as --query opções e ou --output-o para restringir os resultados. Substitua adb-0000000000000000.0.azuredatabricks.net pelo nome da instância do espaço de trabalho, não incluindo o https://arquivo . Neste exemplo, o 00000000-0000-0000-0000-000000000000 depois /subscriptions/ na saída é o ID da assinatura.

      az databricks workspace list --query "[?workspaceUrl==\`adb-0000000000000000.0.azuredatabricks.net\`].{id:id}" -o tsv
      
      # /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.Databricks/workspaces/my-ws
      

      Se a seguinte mensagem for exibida, você está conectado ao locatário errado: The subscription of '<subscription-id>' doesn't exist in cloud 'AzureCloud'. Para entrar no locatário correto, você deve executar o az login comando novamente, usando a -t opção ou --tenant para especificar o ID de locatário correto.

      Você pode obter a ID do locatário para um espaço de trabalho do Azure Databricks executando o comando curl -v <per-workspace-URL>/aad/auth e procurando na saída < location: https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000, onde 00000000-0000-0000-0000-000000000000 é a ID do locatário. Consulte também Obter IDs de assinatura e locatário no portal do Azure.

      az login -t <tenant-id>
      
  3. Depois de ter a ID de locatário do Azure, a ID do cliente, o segredo do cliente e a ID de assinatura corretos para sua entidade de serviço do Microsoft Entra ID, entre no Azure usando a CLI do Azure para executar o comando az login. Use a --service-principal opção junto com a especificação dos valores para os parâmetros de Tenant ID (Directory (tenant) ID), Client ID (Application (client) ID) e Client secret (Value) para o aplicativo relacionado registrado no Microsoft Entra ID (anteriormente Azure Ative Directory).

    az login \
    --service-principal \
    -t <Tenant-ID> \
    -u <Client-ID> \
    -p <Client-secret>
    
  4. Confirme que você está conectado à assinatura correta para sua entidade de serviço Microsoft Entra ID conectada. Para fazer isso, execute o comando az account set , usando a -s opção ou --subscription para especificar o ID de assinatura correto.

    az account set -s <subscription-id>
    
  5. Gere o token de acesso do Microsoft Entra ID para a entidade de serviço do Microsoft Entra ID conectada executando o comando az account get-access-token . Use a --resource opção para especificar a ID de recurso exclusiva para o serviço Azure Databricks, que é 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d. Você pode exibir apenas o valor do token do Microsoft Entra ID (anteriormente Azure Ative Directory) na saída do comando usando as --query opções e -o ou --output .

    az account get-access-token \
    --resource 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d \
    --query "accessToken" \
    -o tsv
    

Nota

A CLI do Azure baseada em MSAL usa a Biblioteca de Autenticação da Microsoft (MSAL) como a biblioteca de autenticação subjacente. Se você não conseguir usar com êxito o token de acesso do Microsoft Entra ID gerado pela CLI do Azure, como alternativa, você pode tentar usar o MSAL diretamente para obter um token de acesso do Microsoft Entra ID para uma entidade de serviço do Microsoft Entra ID. Consulte Obter tokens do Microsoft Entra ID (anteriormente Azure Ative Directory) para entidades de serviço.