Получите токены Microsoft Entra ID для принципалов служб Microsoft Entra ID, используя Azure CLI
Внимание
В этой статье описывается, как вручную создать маркеры идентификатора Microsoft Entra для субъектов-служб Microsoft Entra ID с помощью Azure CLI.
Управляемые субъекты-службы Azure Databricks управляются непосредственно в Azure Databricks. Управляемые субъекты-службы идентификатора Microsoft Entra управляются в идентификаторе Microsoft Entra, для которого требуются дополнительные разрешения. Databricks рекомендует использовать управляемые субъекты-службы Azure Databricks для большинства вариантов использования. Однако Databricks рекомендует использовать управляемые учетные данные Microsoft Entra ID в случаях, когда необходимо одновременное выполнение аутентификации с помощью Azure Databricks и других ресурсов Azure.
Сведения о создании управляемого субъекта-службы Azure Databricks вместо управляемого субъекта-службы идентификатора Microsoft Entra см. в статье "Управление субъектами-службами".
Databricks не рекомендует создавать маркеры идентификатора Microsoft Entra для субъектов-служб Microsoft Entra ID вручную. Это связано с тем, что каждый маркер идентификатора Microsoft Entra является коротким сроком действия, обычно истекает в течение одного часа. После этого необходимо вручную создать заменяющий маркер идентификатора Microsoft Entra. Вместо этого используйте один из участвующих средств или пакетов SDK, реализующих стандарт унифицированной проверки подлинности клиента Databricks. Эти инструменты и пакеты SDK автоматически создают и заменяют истекшие токены Microsoft Entra ID, используя следующие типы аутентификации Databricks:
Вы можете использовать Azure CLI для получения токенов доступа для субъектов-служб Microsoft Entra ID.
Соберите следующие сведения:
Параметр Описание Tenant ID
Для Directory (tenant) ID
связанного приложения, зарегистрированного в идентификаторе Microsoft Entra.Client ID
Для Directory (tenant) ID
связанного приложения, зарегистрированного в идентификаторе Microsoft Entra.Client secret
Секрет Value
клиента для связанного приложения, зарегистрированного в идентификаторе Microsoft Entra.Получите правильный идентификатор подписки Azure для учетной записи службы Microsoft Entra ID, если вы еще не знаете его, выполнив одно из следующих действий:
В верхней панели навигации рабочей области 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>
После получения правильного идентификатора клиента Azure, идентификатора клиента, секрета клиента и идентификатора подписки для субъекта-службы Идентификатора Microsoft Entra ID войдите в Azure с помощью Azure CLI для выполнения команды az login . Используйте параметр
--service-principal
вместе с указанием значений параметровTenant ID
(Directory (tenant) ID
),Client ID
(Application (client) ID
) иClient secret
(Value
) для связанного приложения, зарегистрированного в идентификаторе Microsoft Entra.az login \ --service-principal \ -t <Tenant-ID> \ -u <Client-ID> \ -p <Client-secret>
Убедитесь, что вы вошли в правильную подписку для субъекта-службы идентификатора Microsoft Entra ID. Для этого выполните команду az account set, используя параметр
-s
или--subscription
, чтобы указать правильный идентификатор подписки.az account set -s <subscription-id>
Сгенерируйте токен доступа для учетной записи службы Microsoft Entra ID, выполнив команду 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 ID, созданный Azure CLI, то в качестве альтернативы можно попробовать напрямую использовать MSAL для получения токена доступа Microsoft Entra ID для учетной записи службы Microsoft Entra ID. См. получение токенов идентификатора Microsoft Entra для служебных принципалов.