Partilhar via


Obter tokens de ID do Microsoft Entra para usuários usando a CLI do Azure

Importante

Este artigo descreve como criar manualmente tokens de ID do Microsoft Entra para usuários usando a CLI do Azure.

O Databricks não recomenda que você crie tokens de ID do Microsoft Entra para usuários do Azure Databricks 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, deverá gerar manualmente um token de ID do Microsoft Entra substituto. 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, aproveitando a autenticação da CLI do Azure .

Você pode usar o Azure CLI para obter tokens de acesso do Microsoft Entra ID para usuários.

Observação

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

  1. Obtenha a ID de assinatura do Azure correta para sua conta de usuário, se você 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 o ID de subscrição.

    • Use o Azure CLI 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 seu espaço de trabalho, sem incluir o https://. Neste exemplo, o 00000000-0000-0000-0000-000000000000 após o /subscriptions/ na saída é o ID da subscrição.

      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, está ligado ao tenant errado: The subscription of '<subscription-id>' doesn't exist in cloud 'AzureCloud'. Para entrar no tenant correto, deve executar o comando az login novamente, usando a opção -t ou --tenant para especificar o ID de tenant 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 verificando a saída < location: https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000, onde 00000000-0000-0000-0000-000000000000 é a ID do locatário. Consulte Obter IDs de subscrição e tenant no portal do Azure.

      az login -t <tenant-id>
      
  2. Depois de ter o ID de subscrição do Azure correto para a sua conta de utilizador, inicie sessão no Azure utilizando a Azure CLI para executar o comando az login. Depois de executar este comando, siga as instruções apresentadas no ecrã para terminar o processo de início de sessão com a sua conta.

    az login
    
  3. Confirme que tem sessão iniciada na subscrição correta para o seu utilizador. Para fazer isso, execute o comando az account set, usando a opção -s ou --subscription para especificar o ID de assinatura correto.

    az account set -s <subscription-id>
    
  4. Gere seu token de acesso do Microsoft Entra ID executando o comando az account get-access-token. Use a opção --resource para especificar a ID de recurso única para o serviço Azure Databricks, que é 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d. Pode exibir o valor apenas do token de ID do Microsoft Entra 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 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 um usuário. Consulte Obter tokens de ID do Microsoft Entra para utilizadores usando o MSAL.