Compartilhar via


Obtenha tokens do Microsoft Entra ID (anteriormente Azure Active Directory) para usuários usando a CLI do Azure

Importante

Este artigo descreve como criar manualmente tokens do Microsoft Entra ID (antigo Azure Active Directory) para usuários por meio da CLI do Azure.

O Databricks não recomenda que você crie tokens do Microsoft Entra ID (antigo Azure Active Directory) para usuários do Azure Databricks manualmente. Isso ocorre porque cada token do Microsoft Entra ID tem curta duração, normalmente expirando em uma hora. Após esse tempo, você precisará gerar manualmente um token de substituição do Microsoft Entra ID. Em vez disso, use uma das ferramentas ou SDKs participantes que implementam o padrão de autenticação unificada do cliente Databricks. Essas ferramentas e SDKs geram e substituem automaticamente tokens expirados do Microsoft Entra ID para você, aproveitando a autenticação da CLI do Azure.

Você pode usar a CLI do Azure para receber o token de acesso do Microsoft Entra ID para usuários.

Observação

Você também pode definir uma entidade de serviço no Azure Active Directory e, em seguida, obter um token de acesso do Microsoft Entra ID para essa entidade de serviço, em vez de um usuário. Veja Obter tokens do Microsoft Entra ID (antigo Azure Active Directory) para entidades de serviço.

  1. Obtenha a ID de assinatura correta do Azure para sua conta de usuário, se você ainda não conhece essa ID, fazendo um dos seguintes procedimentos:

    • Na barra de navegação superior do workspace do Azure Databricks, clique em seu nome de usuário e clique no Portal do Azure. Na página de recursos do workspace 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 opções --query e -o ou --output para restringir os resultados. Substitua adb-0000000000000000.0.azuredatabricks.net pelo nome da instância do workspace, sem incluir o https://. Neste exemplo, o 00000000-0000-0000-0000-000000000000 após /subscriptions/ na saída é a 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 é 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, execute o comando az login novamente usando a opção -t ou --tenant para especificar a ID de locatário correta.

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

      az login -t <tenant-id>
      
  2. Depois de ter a ID de assinatura correta do Azure para sua conta de usuário, comece a entrar no Azure usando a CLI do Azure para executar o comando az login. Depois de executar esse comando, siga as instruções na tela para concluir a entrada com sua conta.

    az login
    
  3. Confirme se você está conectado à assinatura correta para o usuário conectado. Para fazer isso, execute o comando az account set, usando a opção -s ou --subscription para especificar a ID da assinatura correta.

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

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

Observação

A CLI do Azure baseada em MSAL usa a MSAL (Biblioteca de Autenticação da Microsoft) como a biblioteca de autenticação subjacente. Se você não conseguir usar com sucesso o token de acesso do Microsoft Entra ID que a CLI do Azure gera, como alternativa, você poderá tentar usar a MSAL diretamente para obter um token de acesso do Microsoft Entra ID para um usuário. Consulte Obter os tokens do Microsoft Entra ID (anteriormente Azure Active Directory) para usuários com a MSAL.