Устранение неполадок подключения службы удостоверения рабочей загрузки в Azure Resource Manager

Получите помощь в отладке распространенных проблем с подключениями службы идентификации рабочей нагрузки. Вы также узнаете, как вручную создать подключение к службе, если это необходимо.

Контрольный список по устранению неполадок

Используйте следующий контрольный список для устранения неполадок с подключениями сервиса идентификации рабочей нагрузки.

  • Просмотрите задачи конвейера, чтобы убедиться, что они поддерживают идентификацию рабочей нагрузки.
  • Убедитесь, что федерация идентичности нагрузки активна для клиента.
  • Проверьте правильность URL-адреса издателя и идентификатора субъекта федерации.

В следующих разделах описаны проблемы и способы их устранения.

Просмотр задач конвейера

Почти все задачи конвейеров, которые авторизуются через Microsoft Entra, поддерживают идентификацию рабочих нагрузок. В таблице ниже перечислены поддержку федерации удостоверений рабочей нагрузки для задач, включенных в Azure DevOps. Для задач, установленных из Магазина, свяжитесь с издателем дополнения для получения поддержки.

Задача Поддержка федерации удостоверений рабочей нагрузки
AutomatedAnalysis@0 У
AzureAppServiceManage@0 У
AzureAppServiceSettings@1 У
AzureCLI@1 У
AzureCLI@2 У
AzureCloudPowerShellDeployment@1 Используйте AzureCloudPowerShellDeployment@2
AzureCloudPowerShellDeployment@2 У
AzureContainerApps@0 У
AzureContainerApps@1 У
AzureFileCopy@1 Используйте AzureFileCopy@6
AzureFileCopy@2 Используйте AzureFileCopy@6
AzureFileCopy@3 Используйте AzureFileCopy@6
AzureFileCopy@4 Используйте AzureFileCopy@6
AzureFileCopy@5 Используйте AzureFileCopy@6
AzureFileCopy@6 У
AzureFunctionApp@1 У
AzureFunctionApp@2 У
AzureFunctionAppContainer@1 У
AzureFunctionOnKubernetes@0 Используйте AzureFunctionOnKubernetes@1
AzureFunctionOnKubernetes@1 У
AzureIoTEdge@2 У
AzureKeyVault@1 У
AzureKeyVault@2 У
AzureMonitor@0 Используйте AzureMonitor@1
AzureMonitor@1 У
AzureMysqlDeployment@1 У
AzureNLBManagement@1 Н
AzurePolicyCheckGate@0 У
AzurePowerShell@2 У
AzurePowerShell@3 У
AzurePowerShell@4 У
AzurePowerShell@5 У
AzureResourceGroupDeployment@2 У
AzureResourceManagerTemplateDeployment@3 У
AzureRmWebAppDeployment@3 У
AzureRmWebAppDeployment@4 У
AzureSpringCloud@0 У
AzureVmssDeployment@0 У
AzureWebApp@1 У
AzureWebAppContainer@1 У
ContainerBuild@0 У
ContainerStructureTest@0 У
Docker@0 У
Docker@1 Подключение к службе Azure: Y
Подключение службы реестра Docker: N
Docker@2 У
DockerCompose@0 У
DockerCompose@1 У
DotNetCoreCLI@2 У
HelmDeploy@0 Подключение к службе Azure: Y
HelmDeploy@1 Подключение к службе Azure: Y
InvokeRESTAPI@1 У
JavaToolInstaller@0 У
JenkinsDownloadArtifacts@1 У
Kubernetes@0 Использование Kubernetes@1
Kubernetes@1 У
KubernetesManifest@0 Используйте KubernetesManifest@1
KubernetesManifest@1 У
Maven@4 У
Notation@0 У
PackerBuild@0 Используйте PackerBuild@1
PackerBuild@1 У
PublishToAzureServiceBus@1 Использование PublishToAzureServiceBus@2 с подключением службы Azure
PublishToAzureServiceBus@2 У
ServiceFabricComposeDeploy@0 Н
ServiceFabricDeploy@1 Н
SqlAzureDacpacDeployment@1 У
VSTest@3 У

Убедитесь, что федерация идентификаций рабочих нагрузок активна

Если вы видите сообщения об ошибках AADSTS700223 или AADSTS700238, федерация удостоверений рабочей нагрузки была отключена в клиенте Microsoft Entra.

Убедитесь, что нет политик Microsoft Entra, которые блокируют федеративные учетные данные.

Проверьте URL-адрес издателя для точности

Если отображается сообщение, указывающее , что не найдена соответствующая запись федеративного удостоверения, URL-адрес издателя или тема федерации не совпадает. Для новых подключений к службе правильный URL-адрес издателя начинается с https://login.microsoftonline.com:

  Эмитент Azure DevOps Поставщик Microsoft Entra (новые подключения службы)
Issuer https://vstoken.dev.azure.com/<organization id> https://login.microsoftonline.com/<microsoft entra tenant id>/v2.0
Тема sc://<organization name>/<project name>/<service connection name> <microsoft entra prefix>/sc/<organization id>/<service connection id>

URL-адрес издателя можно исправить, изменив и сохранив подключение к службе для обновления URL-адреса издателя. Если в Azure DevOps не создано удостоверение, URL-адрес издателя следует обновить вручную. Для удостоверений Azure URL-адрес издателя обновляется автоматически.

Распространенные проблемы

В следующих разделах описываются распространенные проблемы и описываются причины и решения.

У меня нет разрешений на создание служебного принципала в клиенте Microsoft Entra.

Вы не можете использовать средство настройки подключения к службе Azure DevOps, если у вас нет необходимых разрешений. Уровень ваших разрешений недостаточен для использования средства, если у вас нет разрешений на создание субъектов-служб или если вы используете другой клиент Microsoft Entra, отличный от пользователя Azure DevOps.

Необходимо иметь разрешения в Microsoft Entra ID для создания регистраций приложений или иметь соответствующую роль (например, разработчика приложений).

Есть два способа для решения этой проблемы.

Как создать подключение службы федерации удостоверений для рабочих процессов в процессе автоматизации?

Федерация идентификаторов рабочих нагрузок определяет двунаправленную связь между идентификацией и подключением к сервису. В результате объекты необходимо создать в определенном порядке, и федеративные учетные данные можно создать только после создания подключения службы. Чтобы узнать, как автоматизировать создание подключений службы удостоверения рабочей нагрузки, перейдите к разделу Использование скриптов для автоматизации Azure Resource Manager с подключениями службы удостоверения рабочей нагрузки.

Сообщения об ошибках

В следующей таблице перечислены распространенные сообщения об ошибках и проблемы, которые могут их создать:

Сообщение Возможная проблема
не удаётся запросить токен: Get ?audience=api://AzureADTokenExchange: unsupported protocol scheme Задача не поддерживает федерацию удостоверений рабочей нагрузки.
Удостоверение не найдено Задача не поддерживает федерацию удостоверений рабочей нагрузки.
Не удалось получить маркер доступа для Azure Задача не поддерживает федерацию удостоверений рабочей нагрузки.
Не удалось получить веб-токен JSON (JWT) через идентификатор клиента служебного принципала Учетные данные удостоверения федерации неправильно настроены или клиент Microsoft Entra блокирует OpenID Connect (OIDC).
Сбой скрипта с ошибкой: unrecognizedArgumentError: нераспознанные аргументы: --federated-token Вы используете задачу AzureCLI в агенте с установленной более ранней версией Azure CLI. Для федерации удостоверений рабочей нагрузки требуется Azure CLI 2.30 или более поздней версии.
Не удалось создать приложение в идентификаторе Microsoft Entra. Ошибка: недостаточно привилегий для выполнения операции в Microsoft Graph. Убедитесь, что у пользователя есть разрешения на создание приложения Microsoft Entra. Возможность создания регистраций приложений отключена в клиенте Microsoft Entra. Назначьте пользователю, создающему подключение к службе, роль Microsoft Entra разработчика приложений. Кроме того, создайте подключение службы вручную с помощью управляемого удостоверения. Для получения дополнительной информации см. Идентификация рабочих нагрузок с управляемой идентификацией.

Note

Сведения об устранении неполадок с типом подключения службы Azure DevOps (используемым для доступа к ресурсам Azure DevOps без использования PAT) см. в статье "Устранение неполадок".

Коды ошибок Microsoft Entra ID

В следующей таблице перечислены распространенные коды ошибок Microsoft Entra ID и возможные проблемы, связанные с подключениями идентификационной службы рабочих процессов.

Сообщение Возможная проблема
AADSTS700016: приложение с идентификатором "****" не найдено Учетная запись, используемая для подключения к службе, больше не существует, могла быть удалена, или настроена неправильно. Если вы настраиваете подключение службы вручную с предварительно созданным удостоверением, убедитесь, что appID/clientId настроено правильно.
AADSTS7000215: указан недействительный секрет клиента. Вы используете подключение к службе с истекшим сроком действия секрета. Преобразуйте подключение службы в федерацию удостоверений рабочей нагрузки и замените истекший секрет учетными данными федерации.
AADSTS700024. Утверждение клиента не вписывается в допустимый временной интервал Если ошибка возникает примерно через 1 час, используйте подключение к сервису с федерацией удостоверений рабочей нагрузки и управляемыми удостоверениями. Токены управляемой идентификации имеют время существования около 24 часов.
Если ошибка возникает раньше чем через 1 час, но позже 10 минут, переместите команды, которые (неявно) запрашивают маркер доступа, например для доступа к хранилищу Azure, к началу скрипта. Маркер доступа будет кэширован для последующих команд.
Для представленного утверждения не найдена соответствующая запись федеративной идентичности. Издатель утверждения: https://app.vstoken.visualstudio.com. Федеративные учетные данные не были созданы или URL-адрес издателя не является правильным. Правильный URL-адрес издателя имеет формат https://login.microsoftonline.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX. URL издателя можно исправить, изменив его и сохранив подключение к службе. Если Azure DevOps не создал идентификатор, необходимо вручную обновить эмитента. Вы можете найти правильного издателя в диалоговом окне редактирования подключения к службе или в ответе, если вы используете REST API.
Для представленного утверждения не найдена соответствующая запись федеративной идентичности. Издатель утверждения: https://login.microsoftonline.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX. Тема утверждения: sc://<org>/<project>/<service-connection>. URL-адрес издателя или тема федерации не совпадают. Организацию или проект Azure DevOps переименовали, или вручную созданную службу подключения переименовали без обновления предмета федерации в удостоверении.
AADSTS700211: не найдена соответствующая федеративная запись данных удостоверения для представленного эмитента утверждения Федеративные учетные данные не были созданы или URL-адрес издателя не является правильным.
AADSTS700213: не найдена соответствующая федеративная запись идентичности для представленного субъекта утверждения Федеральные учетные данные не были созданы или субъект указан неверно.
AADSTS700223 Федерация удостоверений рабочей нагрузки ограничена или отключена в клиенте Microsoft Entra. В этом сценарии можно использовать управляемое удостоверение для федерации. Для получения дополнительной информации см. Идентификация рабочих нагрузок с управляемой идентификацией.
AADSTS70025. Клиент не имеет настроенных удостоверений федеративной идентификации Убедитесь, что федеративные учетные данные правильно настроены для регистрации приложения или управляемой идентичности.
Microsoft Entra отклонил токен, выданный Azure DevOps с кодом ошибки AADSTS700238 Федерация идентификаций для рабочих нагрузок ограничена в тенанте Microsoft Entra. Издатель вашей организации (https://login.microsoftonline.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX) не может использовать федерацию удостоверений рабочей нагрузки с типом удостоверения рабочей нагрузки (регистрация приложения и /или управляемое удостоверение), которое вы используете. Попросите администратора клиента Microsoft Entra или команды администрирования разрешить федерацию удостоверений рабочей нагрузки для вашей организации Azure DevOps.
AADSTS70052. Удостоверение должно быть управляемым удостоверением, однопользовательским приложением или учетной записью службы. Многотенантные регистрации приложений, которые имеют signInAudience: AzureADMultipleOrgs, в настоящее время не поддерживаются издателем Microsoft Entra. Вместо этого используйте signInAudience: AzureADMyOrg и разделите доступ к нескольким арендаторам, чтобы для каждого арендатора использовать разные подключения к службам. Если вы зависите от операций ARM, осуществляющих доступ к нескольким арендаторам в одном запросе (например, кросс-арендный пиринг виртуальных сетей), вы можете обратиться в службу поддержки, чтобы ваша организация Azure DevOps использовала издателя Azure DevOps.
AADSTS900382: конфиденциальный клиент не поддерживается в Кросс-облаке Некоторые независимые облака блокируют федерацию удостоверений рабочей нагрузки.

Вы видите ошибку AADSTS, которая не указана выше? Проверьте коды ошибок проверки подлинности и авторизации Microsoft Entra.