Могу ли я добавить управляемую идентификацию в свой конвейер ADO? - PullRequest
1 голос
/ 13 апреля 2020

Можно ли как-нибудь добавить Azure Managed Identity к агенту виртуальной машины, на котором запущен мой конвейер Azure DevOps? Я хочу иметь возможность запустить команду curl внутри задачи bash и получить маркер доступа.

Команда, которую я хочу выполнить внутри конвейера, аналогична этой, как указано в Страница документов Microsoft

curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fmanagement.azure.com%2F&client_id=$(IDENTITY)' -H Metadata:true -s

Я знаю, что я может использовать различные встроенные задачи для аутентификации Azure, но ни одно из них (насколько мне известно) не позволяет запрашивать службу метаданных.

Моя идея заключалась бы в том, чтобы иметь задачу ADO, которая добавит управляемую идентификацию в виртуальную машину, в которой эта задача выполняется. Как только конвейер (фактически агент) завершает все мои задачи, управляемая идентификация будет удалена. Управляемая идентификация может быть указана, например, через субъект-службу. Это существует или возможно вообще?

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

  • У меня есть личный пул агентов ADO, и на этих машинах предварительно настроена управляемая идентификация, которую я могу использовать (позже я не могу настроить ее в конвейере)
  • Я использую комбинацию из двух конвейеров
    • вспомогательный конвейер, который обеспечивает и очищает пользовательские виртуальные машины и
    • основной конвейер, который настраивает эти пользовательские виртуальные машины (доступ через служебное соединение) и затем запускает на них мой код bash

1 Ответ

0 голосов
/ 14 апреля 2020

Моя идея состоит в том, чтобы иметь задачу ADO, которая добавит управляемую идентификацию в виртуальную машину, где эта задача выполняется. Как только конвейер (фактически агент) завершает все мои задачи, управляемая идентификация будет удалена. Управляемая идентификация может быть указана, например, через субъект-службу. Это существует или возможно вообще?

Извините, но я боюсь, что это не поддерживается. В Azure Devops (даже в VS marketplace ) нет такой готовой задачи для выполнения этого требования (добавить / удалить управляемую идентификацию в виртуальной машине).

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

В качестве одного предложения вы можете сделать запрос на функцию (официальное задание для управления управляемой идентификацией в одной виртуальной машине), которую вы хотите, на нашем UserVoice сайте , который является нашим основным форумом для предложений продуктов. Подняв предложение, вы можете проголосовать и добавить свои комментарии там. Команда разработчиков предоставит обновления, если они их просмотрят. Благодарим Вас за помощь в создании лучшего Azure DevOps.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...