В нашей реализации Azure DevOps нам необходимо перемещать пакеты между лентами управления пакетами, которые находятся в разных организациях. В нашей текущей реализации используются 2 персональных маркера доступа (PAT), один с доступом для чтения к источникам организаций-источников, а второй с доступом для записи к каналам организаций назначения. Это решение подходит для наших текущих потребностей, но из-за необходимости технического обслуживания, связанного с использованием PAT, мы изучаем альтернативные реализации.
Один из проспектов, который мы сейчас рассматриваем, использует SYSTEM_ACCESSTOKEN
, как описано в https://docs.microsoft.com/en-us/azure/devops/pipelines/scripts/powershell?view=vsts#oauth,, среди других мест. Мы используем этот токен в других конвейерах, которые работают в той же организации , и он работает как положено. В некоторых случаях нам приходилось добавлять пользователя «Служба сборки коллекций проектов ({org-name})» в соответствующие группы безопасности для доступа к необходимой функциональности.
Конвейер, выполняющий перемещение, живет в организации назначения. Я предполагаю, что если мы будем использовать SYSTEM_ACCESSTOKEN
в нашем PowerShell, он будет работать с учетными данными «Службы сборки коллекций проектов ({destination-org-name})» », и в этом случае он, скорее всего, не будет иметь доступ к каналам в исходной организации. Это правильное предположение? Если да, есть ли какой-нибудь способ получить токен OAuth для исходной организации?
Если нет способа получить токен OAuth для исходной организации, есть ли другой способ, с помощью которого мы можем перемещать пакеты между каналами, которые живут в других организациях? Является ли наша текущая реализация единственным способом добиться этого?