Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Получите помощь в отладке распространенных проблем с подключениями службы идентификации рабочей нагрузки. Вы также узнаете, как вручную создать подключение к службе, если это необходимо.
Контрольный список по устранению неполадок
Используйте следующий контрольный список для устранения неполадок с подключениями сервиса идентификации рабочей нагрузки.
- Просмотрите задачи конвейера, чтобы убедиться, что они поддерживают идентификацию рабочей нагрузки.
- Убедитесь, что федерация идентичности нагрузки активна для клиента.
- Проверьте правильность 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 для создания регистраций приложений или иметь соответствующую роль (например, разработчика приложений).
Есть два способа для решения этой проблемы.
- Решение 1. Вручную настройте удостоверение рабочей нагрузки с помощью аутентификации управляемой идентичности
- Решение 2. Настройка удостоверения рабочей нагрузки вручную с помощью проверки подлинности регистрации приложения
Как создать подключение службы федерации удостоверений для рабочих процессов в процессе автоматизации?
Федерация идентификаторов рабочих нагрузок определяет двунаправленную связь между идентификацией и подключением к сервису. В результате объекты необходимо создать в определенном порядке, и федеративные учетные данные можно создать только после создания подключения службы. Чтобы узнать, как автоматизировать создание подключений службы удостоверения рабочей нагрузки, перейдите к разделу Использование скриптов для автоматизации 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.