Используйте регистрацию приложения в качестве PAT для Azure DevOps

У меня есть приложение, которое использует Azure DevOps PAT для выполнения операций записи и чтения в репозиториях и конвейерах.

Недавно я обнаружил, что могу сделать это с помощью федеративных учетных данных Azure Entra ID App Registrations.

Я новичок в Azure Entra ID и не смог найти ни одного ресурса, как использовать эти учетные данные для выполнения каких-либо операций, как это было бы с Azure DevOps PAT.

Я нашел это (https://learn.microsoft.com/en-us/azure/developer/github/connect-from-azure?tabs=azure-portal%2Clinux#add-federated-credentials), где оно находится. для github, но, похоже, я не уверен, как это можно сделать для моего варианта использования;

  • Приложение, реализованное для обновления/чтения репозиториев Azure Devops.

Может ли кто-нибудь мне помочь, если вы столкнулись или реализовали такое решение?

Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
0
420
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Насколько мне известно, в Azure DevOps федеративные учетные данные приложений Microsoft Entra могут быть доступны только для подключения к службе Azure Resource Manager.

Если вы хотите использовать приложение Microsoft Entra в качестве аутентификации для доступа к ресурсам Azure DevOps, вы можете попытаться создать токен доступа (токен Microsoft Entra ID) для приложения, выполнив следующие действия:

Предварительные требования в AAD

  1. Перейдите в Microsoft Entra ID > Регистрации приложений, чтобы создать субъект-службу, если у вас его нет в текущем клиенте.

  2. Откройте субъект-службу, перейдите на вкладку «Сертификаты и секреты» > «Секреты клиента», чтобы создать секрет клиента для субъекта-службы, если действительный секрет клиента не существует. Скопируйте и запомните значение секрета клиента.

Предварительные требования в организации Azure DevOps

  1. Перейдите в «Настройки организации» > «Microsoft Entra» и убедитесь, что организация подключилась к клиенту, в котором находится субъект службы.

  2. Перейдите в «Настройки организации» > «Пользователи», найдите и добавьте принципала службы в организацию.

  3. Добавьте субъекта-службы в группу организации, чтобы можно было управлять разрешениями субъекта-службы через эту группу в организации.

Создайте токен Microsoft Entra ID для субъекта-службы.

Вы можете использовать один из следующих способов создания токена:

  1. Использование Bash-скрипта.

    access_token=$(curl -X POST \
    -H "Content-Type: application/x-www-form-urlencoded" \
    'https://login.microsoftonline.com/{tenant_ID}/oauth2/v2.0/token' \
    -d 'grant_type=client_credentials&client_id = {client_id}&client_secret = {client_secret}&scope=499b84ac-1321-427f-aa17-267ca6975798/.default' \
    | jq -r '.access_token')
    
    • Замените {tenant_ID} идентификатором каталога (арендатора) арендатора.
    • Замените {client_id} на идентификатор приложения (клиента) принципала службы.
    • Замените {client_secret} значением секрета клиента, созданного в объекте службы.
  2. Использование Почтальона.

Примечание:

Этот токен Microsoft Entra ID имеет срок действия всего 24 часа, поскольку Microsoft Entra регулярно меняет токен. Таким образом, вам необходимо обновлять токен не реже одного раза в 24 часа.

Дополнительные сведения см. в разделе «Использование субъектов службы и управляемых удостоверений».


Привет, спасибо за вашу информацию. Нужно ли мне также добавлять разрешения API для созданной мной регистрации приложений для Azure DevOps?

Jananath Banuka 08.04.2024 14:03

@JananathBanuka, обычно это не требуется, если вы назначили правильные разрешения субъекту службы в Azure DevOps на шаге #3 раздела «Предварительные требования в организации Azure DevOps».

Bright Ran-MSFT 08.04.2024 16:01

Большое спасибо, отметил ваше предложение как ответ.

Jananath Banuka 08.04.2024 18:45

Другие вопросы по теме