Устранение неполадок подключения службы удостоверений рабочей нагрузки Azure Resource Manager
Получите справку по отладке распространенных проблем с подключениями службы удостоверений рабочей нагрузки. Вы также узнаете, как вручную создать подключение к службе, если это необходимо.
Контрольный список по устранению неполадок
Используйте следующий контрольный список для устранения неполадок с подключениями службы удостоверений рабочей нагрузки:
- Просмотрите задачи конвейера, чтобы убедиться, что они поддерживают удостоверение рабочей нагрузки.
- Убедитесь, что федерация удостоверений рабочей нагрузки активна для клиента.
- Проверьте URL-адрес издателя и тему федерации для точности.
В следующих разделах описаны проблемы и способы их устранения.
Просмотр задач конвейера
Не все задачи конвейеров поддерживают удостоверение рабочей нагрузки. В частности, только свойства подключения службы Azure Resource Manager для задач используют федерацию удостоверений рабочей нагрузки. В таблице ниже перечислены поддержку федерации удостоверений рабочей нагрузки для задач, включенных в Azure DevOps. Для задач, установленных из Магазина, обратитесь за поддержкой к издателю расширения.
Задача | Поддержка федерации удостоверений рабочей нагрузки |
---|---|
AutomatedAnalysis@0 | Y |
AzureAppServiceManage@0 | Y |
AzureAppServiceSettings@1 | Y |
AzureCLI@1 | Y |
AzureCLI@2 | Y |
AzureCloudPowerShellDeployment@1 | Использование AzureCloudPowerShellDeployment@2 |
AzureCloudPowerShellDeployment@2 | Y |
AzureContainerApps@0 | Y |
AzureContainerApps@1 | Y |
AzureFileCopy@1 | Использование AzureFileCopy@6 |
AzureFileCopy@2 | Использование AzureFileCopy@6 |
AzureFileCopy@3 | Использование AzureFileCopy@6 |
AzureFileCopy@4 | Использование AzureFileCopy@6 |
AzureFileCopy@5 | Использование AzureFileCopy@6 |
AzureFileCopy@6 | Y |
AzureFunctionApp@1 | Y |
AzureFunctionApp@2 | Y |
AzureFunctionAppContainer@1 | Y |
AzureFunctionOnKubernetes@0 | Использование AzureFunctionOnKubernetes@1 |
AzureFunctionOnKubernetes@1 | Y |
AzureIoTEdge@2 | Y |
AzureKeyVault@1 | Y |
AzureKeyVault@2 | Y |
AzureMonitor@0 | Использование AzureMonitor@1 |
AzureMonitor@1 | Y |
AzureMysqlDeployment@1 | Y |
AzureNLBManagement@1 | N |
AzurePolicyCheckGate@0 | Y |
AzurePowerShell@2 | Y |
AzurePowerShell@3 | Y |
AzurePowerShell@4 | Y |
AzurePowerShell@5 | Y |
AzureResourceGroupDeployment@2 | Y |
AzureResourceManagerTemplateDeployment@3 | Y |
AzureRmWebAppDeployment@3 | Y |
AzureRmWebAppDeployment@4 | Y |
AzureSpringCloud@0 | Y |
AzureVmssDeployment@0 | Y |
AzureWebApp@1 | Y |
AzureWebAppContainer@1 | Y |
ContainerBuild@0 | Y |
ContainerStructureTest@0 | Y |
Docker@0 | Y |
Docker@1 | Подключение к службе Azure: Y Подключение службы реестра Docker: N |
Docker@2 | Y |
DockerCompose@0 | Y |
DockerCompose@1 | Y |
DotNetCoreCLI@2 | Y |
HelmDeploy@0 | Подключение к службе Azure: Y |
HelmDeploy@1 | Подключение к службе Azure: Y |
InvokeRESTAPI@1 | Y |
JavaToolInstaller@0 | Y |
JenkinsDownloadArtifacts@1 | Y |
Kubernetes@0 | Использование Kubernetes@1 |
Kubernetes@1 | Y |
KubernetesManifest@0 | Использование KubernetesManifest@1 |
KubernetesManifest@1 | Y |
Maven@4 | Y |
Notation@0 | Y |
PackerBuild@0 | Использование PackerBuild@1 |
PackerBuild@1 | Y |
PublishToAzureServiceBus@1 | Использование PublishToAzureServiceBus@2 с подключением службы Azure |
PublishToAzureServiceBus@2 | Y |
ServiceFabricComposeDeploy@0 | N |
ServiceFabricDeploy@1 | N |
SqlAzureDacpacDeployment@1 | Y |
VSTest@3 | Y |
Убедитесь, что федерация удостоверений рабочей нагрузки активна
Если вы видите сообщения об ошибках AADSTS700223 или AADSTS700238, федерация удостоверений рабочей нагрузки была отключена в клиенте Microsoft Entra.
Убедитесь, что нет политик Microsoft Entra, которые блокируют федеративные учетные данные.
Проверьте URL-адрес издателя для точности
Если отображается сообщение, указывающее , что не найдена соответствующая запись федеративного удостоверения, URL-адрес издателя или тема федерации не совпадает. Корректный URL-адрес издателя начинается с https://vstoken.dev.azure.com
.
URL-адрес издателя можно исправить, изменив и сохранив подключение к службе для обновления URL-адреса издателя. Если в Azure DevOps не создано удостоверение, URL-адрес издателя следует обновить вручную. Для удостоверений Azure URL-адрес издателя обновляется автоматически.
Распространенные проблемы
В следующих разделах описываются распространенные проблемы и описываются причины и решения.
У меня нет разрешений на создание субъекта-службы в клиенте Microsoft Entra
Вы не можете использовать средство настройки подключения к службе Azure DevOps, если у вас нет необходимых разрешений. Уровень ваших разрешений недостаточен для использования средства, если у вас нет разрешений на создание субъектов-служб или если вы используете другой клиент Microsoft Entra, отличный от пользователя Azure DevOps.
Необходимо иметь разрешения в Microsoft Entra ID для создания регистраций приложений или иметь соответствующую роль (например, разработчика приложений).
Есть два способа для решения этой проблемы.
- Решение 1. Вручную настройте удостоверение рабочей нагрузки с помощью проверки подлинности управляемого удостоверения
- Решение 2. Настройка удостоверения рабочей нагрузки вручную с помощью проверки подлинности регистрации приложения
Сообщения об ошибках
В следующей таблице перечислены распространенные сообщения об ошибках и проблемы, которые могут их создать:
Сообщение | Возможная проблема |
---|---|
не удается запросить маркер: Get ?audience=api://AzureADTokenExchange: unsupported protocol scheme |
Задача не поддерживает федерацию удостоверений рабочей нагрузки. |
Удостоверение не найдено | Задача не поддерживает федерацию удостоверений рабочей нагрузки. |
Не удалось получить маркер доступа для Azure | Задача не поддерживает федерацию удостоверений рабочей нагрузки. |
AADSTS700016: приложение с идентификатором "****" не найдено | Удостоверение, используемое для подключения к службе, больше не существует, может быть удалено из подключения службы или неправильно настроено. Если вы настраиваете подключение службы вручную с предварительно созданным удостоверением, убедитесь, что appID /clientId настроено правильно. |
AADSTS7000215: указан недопустимый секрет клиента. | Вы используете подключение к службе с истекшим сроком действия секрета. Преобразуйте подключение службы в федерацию удостоверений рабочей нагрузки и замените истекший срок действия федеративными учетными данными. |
AADSTS700024. Утверждение клиента не находится в допустимом диапазоне времени | Если ошибка возникает примерно через 1 час, используйте подключение к службе с федерацией удостоверений рабочей нагрузки и управляемым удостоверением . Маркеры управляемого удостоверения имеют время существования около 24 часов. Если ошибка возникает до 1 часа, но через 10 минут переместите команды, которые (неявно) запрашивают маркер доступа, например доступ к хранилищу Azure к началу скрипта. Маркер доступа будет кэширован для последующих команд. |
AADSTS70021: для представления утверждения не найдена соответствующая федеративная запись удостоверения. Издатель утверждения: https://app.vstoken.visualstudio.com . |
Федеративные учетные данные не были созданы или URL-адрес издателя не является правильным. Правильный URL-адрес издателя имеет формат https://vstoken.dev.azure.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX . Url-адрес издателя можно исправить, изменив и сохранив подключение к службе. Если Azure DevOps не создали удостоверение, необходимо вручную обновить издателя. Правильный издатель можно найти в диалоговом окне редактирования подключения службы или в ответе (в параметрах авторизации), если вы используете REST API. |
AADSTS70021: для представления утверждения не найдена соответствующая федеративная запись удостоверения. Издатель утверждения: https://vstoken.dev.azure.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://vstoken.dev.azure.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX ) не может использовать федерацию удостоверений рабочей нагрузки. Попросите администратора клиента Microsoft Entra или команды администрирования разрешить федерацию удостоверений рабочей нагрузки для вашей организации Azure DevOps. |
AADSTS900382: конфиденциальный клиент не поддерживается в Кросс-облаке | Некоторые независимые облака блокируют федерацию удостоверений рабочей нагрузки. |
Не удалось получить веб-токен 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 разработчика приложений. Кроме того, создайте подключение службы вручную с помощью управляемого удостоверения. Дополнительные сведения см. в разделе Удостоверение рабочей нагрузки с управляемым удостоверением. |
Отображается ли ошибка AADSTS, указанная выше? Проверьте коды ошибок проверки подлинности и авторизации Microsoft Entra.