Устранение неполадок подключений к службе Azure Resource Manager
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
В этой статье представлены распространенные сценарии устранения неполадок, которые помогут устранить проблемы, которые могут возникнуть при создании подключения службы Azure Resource Manager. Сведения о создании, изменении и защите подключений к службам см. в статье "Управление подключениями к службе".
Что происходит при создании подключения службы Azure Resource Manager
Если у вас нет подключения к службе, можно создать его следующим образом:
В проекте выберите параметры проекта, а затем выберите подключения службы.
Выберите новое подключение службы, чтобы добавить новое подключение к службе, а затем выберите Azure Resource Manager. Нажмите кнопку "Далее", когда вы закончите.
Выберите Регистрация приложений (автоматическая) в качестве типа удостоверения и удостоверение федерации рабочей нагрузки в качестве учетных данных.
Выберите подписку и выберите свою подписку из раскрывающегося списка. Заполните оставшуюся часть формы и нажмите кнопку "Сохранить " после завершения.
При сохранении нового подключения к службе Azure Resource Manager Azure DevOps выполняет следующие действия:
- Подключается к клиенту Microsoft Entra для выбранной подписки.
- Создание приложения в Microsoft Entra ID от имени пользователя.
- Назначает приложение участником выбранной подписки.
- Создается подключение к службе Azure Resource Manager с помощью сведений об этом приложении.
Примечание.
Чтобы создать подключения к службе, необходимо назначить роль Создателя или Администратора для группы "Создателей конечных точек" в параметрах проекта: Параметры проекта>Подключения к службе>Дополнительные действия>Безопасность. Участники проекта добавляются в эту группу по умолчанию.
Сценарии устранения неисправностей
При создании подключений к службе могут возникнуть следующие проблемы:
- У пользователя есть только гостевой разрешение в каталоге.
- Пользователь не авторизован для добавления приложений в каталог
- Не удалось получить маркер доступа или действительный маркер обновления не найден
- Не удалось назначить роль участника
- Подписка не указана при создании подключения к службе
- Некоторые подписки отсутствуют в списке подписок
- Истек срок действия маркера субъекта-службы
- Не удалось получить веб-токен JSON (JWT) с помощью идентификатора клиента основного принципала
- Подписка Azure не передается из предыдущей выходных данных задачи
- Какие механизмы проверки подлинности поддерживаются? Как работают управляемые удостоверения?
У пользователя есть только гостевой разрешение в каталоге.
Войдите в портал Azure с помощью учетной записи администратора. Учетная запись должна быть владельцем
или администратором учетной записи пользователя Выберите идентификатор Microsoft Entra в левой панели навигации.
Убедитесь, что вы редактировать соответствующий каталог, соответствующий подписке пользователя. В противном случае выберите "Переключить каталог " и войдите с помощью соответствующих учетных данных при необходимости.
Выберите "Пользователи" в разделе "Управление ".
Выберите Параметры пользователя.
Выберите "Управление параметрами внешней совместной работы" в разделе "Внешние пользователи".
Изменение разрешений гостевого пользователя ограничено значением "Нет".
Кроме того, если вы готовы предоставить разрешения на уровне администратора пользователя, вы можете сделать пользователя членом роли администратора. Выполните следующие действия:
Предупреждение
Назначение пользователям роли глобального администратора позволяет им читать и изменять все административные параметры в организации Microsoft Entra. Рекомендуется назначить эту роль менее пяти человек в организации.
Войдите в портал Azure с помощью учетной записи администратора. Учетная запись должна быть владельцем или администратором учетной записи пользователя.
Выберите Microsoft Entra ID в левой области навигации.
Убедитесь, что вы редактировать соответствующий каталог, соответствующий подписке пользователя. В противном случае выберите "Переключить каталог " и войдите с помощью соответствующих учетных данных при необходимости.
Выберите "Пользователи" в разделе "Управление ".
Используйте поле поиска для поиска пользователя, которым требуется управлять.
Выберите роль каталога в разделе "Управление " и измените ее. Выберите Сохранить, когда вы закончите.
Обычно для глобального применения изменений требуется от 15 до 20 минут. Затем пользователь может попытаться восстановить подключение к службе.
Пользователь не авторизован для добавления приложений в каталог
Необходимо иметь разрешения на добавление интегрированных приложений в каталог. Администратор каталога имеет разрешения на изменение этого параметра.
Выберите идентификатор Microsoft Entra в области навигации слева.
Убедитесь, что вы редактировать соответствующий каталог, соответствующий подписке пользователя. В противном случае выберите "Переключить каталог " и войдите с помощью соответствующих учетных данных при необходимости.
Выберите "Пользователи" и выберите "Параметры пользователя".
В разделе Регистрация приложений и измените параметр "Пользователи" для регистрации приложений на "Да".
Вы также можете создать субъект-службу с существующим пользователем, у которого уже есть необходимые разрешения в идентификаторе Microsoft Entra. Дополнительные сведения см. в статье Создание подключения к службе Azure Resource Manager с помощью имеющегося субъекта-службы.
Не удалось получить маркер доступа или действительный маркер обновления не найден
Эти ошибки обычно возникают при истечении срока действия сеанса. Чтобы устранить эти проблемы, выполните следующие действия.
- Выйдите из Azure DevOps.
- Откройте окно браузера InPrivate или инкогнито и перейдите к Azure DevOps.
- Войдите с помощью соответствующих учетных данных.
- Выберите свою организацию и проект.
- Создайте подключение к службе.
Ошибка: Похоже, у вас нет активной подписки Azure при попытке изменить или создать подключение к службе.
Эта ошибка обычно возникает, когда вы являетесь частью нескольких арендаторов Entra ID. Выполните приведенные ниже действия, чтобы проверить и устранить проблему.
Проверьте наличие нескольких клиентов.
Выберите каждого арендатора и повторите проверку подлинности.
Попробуйте создать подключение к службе, а затем проверьте, загружается ли подписка.
Не удалось назначить роль участника
Эта ошибка обычно возникает, если у вас нет разрешения на запись для выбранной подписки Azure.
Чтобы устранить эту проблему, попросите администратора подписки назначить соответствующую роль в идентификаторе Microsoft Entra.
Подписка не указана при создании подключения к службе
Не более 50 подписок Azure, перечисленных в различных раскрывающихся меню подписки Azure (выставление счетов, подключение к службе и т. д.): Если вы настраиваете подключение к службе и у вас более 50 подписок Azure, некоторые из ваших подписок не перечислены. В этом сценарии выполните следующие действия.
- Создайте нового собственного пользователя Microsoft Entra в экземпляре Microsoft Entra, к которому относится ваша подписка Azure.
- Настройте пользователя Microsoft Entra так, чтобы он имел разрешения для настройки выставления счетов или создания подключений к службам. Дополнительные сведения см. в статье Добавление пользователя, который может настраивать выставление счетов для Azure DevOps.
- Добавьте пользователя Microsoft Entra в организацию Azure DevOps с уровнем доступа заинтересованных лиц, а затем добавьте его в группу администраторов коллекции проектов (для выставления счетов) или убедитесь, что у пользователя есть достаточные разрешения в командном проекте для создания подключений к службе.
- Войдите в Azure DevOps с помощью новых учетных данных пользователя и настройте выставление счетов. В списке отображается только одна подписка Azure.
Старый маркер пользователя, кэшированный в Azure DevOps Services: если подписка Azure не указана при создании подключения службы Azure Resource Manager (ARM), это может быть связано со старым маркером пользователя, кэшируемым в Azure DevOps Services. Этот сценарий не сразу очевиден, так как экран списка подписок Azure не отображает никаких ошибок или предупреждений, указывающих, что маркер пользователя устарел. Чтобы устранить эту проблему, вручную обновите кэшированный маркер пользователя в Azure DevOps Services, выполнив следующие действия.
- Выйдите из Azure DevOps Services и войдите обратно. Это действие может обновить маркер пользователя.
- Снимите кэш браузера и файлы cookie, чтобы убедиться, что старые маркеры удалены.
- На портале Azure DevOps перейдите к подключениям к службе и повторно выполните проверку подлинности подключения к Azure. На этом шаге Azure DevOps будет предложено использовать новый токен.
Некоторые подписки отсутствуют в списке подписок
Изменение параметров типов учетных записей поддержки. Эта проблема может быть устранена, изменив параметры поддерживаемых типов учетных записей и определив, кто может использовать приложение. Выполните следующие действия:
Войдите на портал Azure.
Если у вас есть доступ к нескольким клиентам, используйте фильтр каталога и подписки в верхнем меню, чтобы выбрать клиент, в котором требуется зарегистрировать приложение.
Выберите идентификатор Microsoft Entra в левой области.
Щелкните Регистрация приложений.
Выберите приложение из списка зарегистрированных приложений.
В разделе "Проверка подлинности" выберите поддерживаемые типы учетных записей.
В разделе "Поддерживаемые типы учетных записей", кто может использовать это приложение или получить доступ к этому API? Выберите учетные записи в любом каталоге организации.
Выберите Сохранить, когда вы закончите.
Старый маркер пользователя, кэшированный в Azure DevOps Services: если подписка Azure не указана при создании подключения службы Azure Resource Manager (ARM), это может быть связано со старым маркером пользователя, кэшируемым в Azure DevOps Services. Этот сценарий не сразу очевиден, так как экран списка подписок Azure не отображает никаких ошибок или предупреждений, указывающих, что маркер пользователя устарел. Чтобы устранить эту проблему, вручную обновите кэшированный маркер пользователя в Azure DevOps Services, выполнив следующие действия.
- Выйдите из Azure DevOps Services и войдите обратно. Это действие может обновить маркер пользователя.
- Снимите кэш браузера и файлы cookie, чтобы убедиться, что старые маркеры удалены.
- На портале Azure DevOps перейдите к подключениям к службе и повторно выполните проверку подлинности подключения к Azure. На этом шаге Azure DevOps будет предложено использовать новый токен.
Истек срок действия маркера субъекта-службы
Проблема, которая часто возникает с учетными записями служб или секретами, которые создаются автоматически, заключается в том, что срок действия токена истекает, и его необходимо обновить. Если у вас возникла проблема с обновлением токена, см. раздел Не удалось получить токен доступа или действительный токен обновления не найден.
Если срок действия маркера истек, вы можете увидеть одно из сообщений об ошибках:
AADSTS7000215: Invalid client secret is provided
AADSTS7000222: The provided client secret keys for app '***' are expired
Invalid client id or client secret
Чтобы обновить токен доступа для автоматически созданного сервисного принципала или секрета:
Перейдите к подключениям> службы параметров проекта и выберите подключение службы, которое требуется изменить.
Выберите "Изменить" в правом верхнем углу и нажмите кнопку "Проверить".
Выберите Сохранить.
Токен для вашего служебного принципала или секрета был обновлён ещё на три месяца.
Примечание.
Эта операция доступна, даже если срок действия маркера субъекта-службы не истек. Убедитесь, что пользователь, выполняющий операцию, имеет соответствующие разрешения на подписку и идентификатор Microsoft Entra, так как он обновит секрет приложения, зарегистрированного для субъекта-службы. Дополнительные сведения см. в статье "Создание подключения службы Azure Resource Manager с помощью автоматической безопасности " и "Что происходит при создании подключения к службе Resource Manager?"
Не удалось получить JWT с помощью идентификатора клиента субъекта-службы
Эта проблема возникает при попытке проверить подключение службы с истекшим сроком действия секретного ключа или если на уровне идентификатора Entra возникают некоторые другие проблемы.
Для разрешения этой проблемы:
Перейдите к подключениям> службы параметров проекта и выберите подключение службы, которое требуется изменить.
Выберите "Изменить " в правом верхнем углу и внесите любое изменение в подключение к службе. Самое простое и рекомендуемое изменение — добавить описание.
Нажмите кнопку "Сохранить", чтобы сохранить подключение к службе.
Примечание.
Выберите Сохранить. Не пытайтесь проверить подключение службы на этом шаге.
Закройте окно редактирования подключения службы и обновите страницу подключений к службе.
Выберите "Изменить" в правом верхнем углу и выберите "Проверить".
Нажмите кнопку "Сохранить", чтобы сохранить подключение к службе.
Примечание.
Если возникает ошибка, например Failed to obtain the Json Web Token(JWT) using service principal client ID. Exception message: AADSTS7000112: Application is disabled.
, необходимо работать с командой идентификатора записи, чтобы убедиться, что параметр Включено, чтобы пользователи въехали в корпоративном приложении, связанном с субъектом-службой, не отключены.
Подписка Azure не передается из предыдущей выходных данных задачи
При динамической настройке подписки Azure для конвейера выпуска и необходимости использования выходной переменной из предыдущей задачи может возникнуть эта проблема.
Чтобы устранить проблему, убедитесь, что значения определены в разделе переменных конвейера. Затем эту переменную можно передать между задачами конвейера.
Какие механизмы проверки подлинности поддерживаются? Как работают управляемые удостоверения?
Подключение службы Azure Resource Manager может подключаться к подписке Azure с помощью проверки подлинности субъекта-службы (SPA) или проверки подлинности управляемого удостоверения.
Подключение службы Azure Resource Manager может подключаться к подписке Azure, группе управления или рабочей области машинного обучения с помощью следующих способов:
- Регистрация приложения (рекомендуется): вы можете пройти проверку подлинности подключения с помощью федерации удостоверений рабочей нагрузки или секрета.
- Управляемое удостоверение: управляемые удостоверения для ресурсов Azure предоставляют службам Azure автоматически управляемую идентичность в Microsoft Entra ID. Вы также можете использовать управляемое удостоверение, назначенное агентом.
При настройке подключения службы с использованием управляемого удостоверения как метода аутентификации, процесс не создает новое управляемое удостоверение — он лишь устанавливает подключение службы. Для правильного функционирования этого должны быть выполнены определенные условия. В частности, поскольку управляемое удостоверение является выбранным методом проверки подлинности, на виртуальной машине, которую вы используете, должно быть назначаемое системой удостоверение. Кроме того, эта виртуальная машина должна выступать в качестве локального агента в конвейерах для полного выполнения рабочего процесса, что позволяет конвейеру развертывать изменения через подключение службы. Назначаемое системой удостоверение на виртуальной машине определяет, что та же виртуальная машина служит агентом в конвейере, что позволяет выполнять проверку подлинности. Это позволяет воспользоваться существующей настройкой управляемого удостоверения.
Сведения об управляемых удостоверениях для виртуальных машин см. в разделе "Назначение ролей".
Примечание.
Управляемые удостоверения не поддерживаются в агентах, размещенных корпорацией Майкрософт. В этом сценарии необходимо настроить локальный агент на виртуальной машине Azure и настроить управляемое удостоверение для этой виртуальной машины.