Поделиться через


Получение маркеров идентификатора Microsoft Entra для пользователей с помощью Azure CLI

Внимание

В этой статье описывается, как вручную создать маркеры идентификатора Microsoft Entra для пользователей с помощью Azure CLI.

Databricks не рекомендует создавать маркеры идентификатора Microsoft Entra для пользователей Azure Databricks вручную. Это связано с тем, что каждый маркер идентификатора Microsoft Entra является коротким сроком действия, обычно истекает в течение одного часа. После этого необходимо вручную создать заменяющий маркер идентификатора Microsoft Entra. Вместо этого используйте один из участвующих средств или пакетов SDK, реализующих стандарт унифицированной проверки подлинности клиента Databricks. Эти средства и пакеты SDK автоматически создают и заменяют истекшие маркеры идентификатора Microsoft Entra ID для вас, используя проверку подлинности Azure CLI.

С помощью Azure CLI можно получить маркеры доступа к идентификатору Microsoft Entra для пользователей.

Примечание.

Вы также можете определить субъект-службу в Azure Active Directory, а затем получить маркер доступа идентификатора Microsoft Entra для этого субъекта-службы вместо пользователя. См. сведения о получении маркеров идентификатора Microsoft Entra для субъектов-служб.

  1. Получите правильный идентификатор подписки Azure для учетной записи пользователя, если вы еще не знаете этот идентификатор, выполнив одно из следующих действий:

    • В верхней панели навигации рабочей области Azure Databricks щелкните имя пользователя и выберите портал Azure. На появившемся ресурсе рабочей области Azure Databricks щелкните " Обзор " на боковой панели. Затем найдите поле "Идентификатор подписки", содержащее идентификатор подписки.

    • Используйте Azure CLI для выполнения команды az databricks workspace list, используя --query параметры и -o параметры --output для сузить результаты. Замените adb-0000000000000000.0.azuredatabricks.net именем экземпляра рабочей области, не включая https://. В этом примере 00000000-0000-0000-0000-000000000000 /subscriptions/ в выходных данных используется идентификатор подписки.

      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
      

      Если появится следующее сообщение, вы вошли в неправильный клиент: The subscription of '<subscription-id>' doesn't exist in cloud 'AzureCloud'. чтобы войти в правильный клиент, необходимо выполнить az login команду еще раз, используя -t или --tenant параметр, чтобы указать правильный идентификатор клиента.

      Вы можете получить идентификатор клиента для рабочей области Azure Databricks, выполнив команду curl -v <per-workspace-URL>/aad/auth и указав выходные данные < location: https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000, где 00000000-0000-0000-0000-000000000000 находится идентификатор клиента. Кроме этого, см. статью о получении идентификаторов подписок и арендаторов на портале Azure.

      az login -t <tenant-id>
      
  2. После получения правильного идентификатора подписки Azure для учетной записи пользователя начните вход в Azure с помощью Azure CLI для выполнения команды az login . После выполнения этой команды следуйте инструкциям на экране, чтобы завершить вход с помощью учетной записи.

    az login
    
  3. Убедитесь, что вы вошли в правильную подписку для вошедшего пользователя. Для этого выполните команду az account set , используя -s или --subscription параметр, чтобы указать правильный идентификатор подписки.

    az account set -s <subscription-id>
    
  4. Создайте маркер доступа идентификатора Microsoft Entra, выполнив команду az account get-access-token . Используйте параметр --resource, чтобы указать уникальный ИД ресурса для службы Azure Databricks, которым является 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d. Значение маркера идентификатора Microsoft Entra можно отобразить в выходных данных команды с помощью --query параметров или -o --output параметров.

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

Примечание.

Azure CLI на основе MSAL использует библиотеку проверки подлинности Майкрософт (MSAL) в качестве базовой библиотеки проверки подлинности. Если вы не можете успешно использовать маркер доступа идентификатора Microsoft Entra, создаваемый Azure CLI, в качестве альтернативы можно попробовать использовать MSAL напрямую, чтобы получить маркер доступа идентификатора Microsoft Entra для пользователя. Сведения о получении маркеров идентификатора Microsoft Entra для пользователей с помощью MSAL.