Как восстановить пакеты nuget из частного канала Azure Devops? - PullRequest
0 голосов
/ 27 февраля 2019

Справочная информация

У меня есть пакеты nuget в частной ленте новостей для Azure Devops, и я пытаюсь использовать их из локальной TFS.

Это сработало, но только на несколько часов

В лазурных девопах я перешел к Артефактам -> Подключиться к каналу и щелкнул ссылку «Загрузить NuGet + поставщик учетных данных».При запуске CredentialProvider.VSS.exe -U URL_TO_FEED я получил токен jwt.

В tfs on-prem я перешел к шагу «Восстановление NuGet» в определении сборки.В разделе «Ленты и аутентификация» я выбрал «Ленты в моем NuGet.config», а в «Учетные данные для фидов вне этой учетной записи / коллекции» я нажал «Управление».В диалоговом окне «Добавить новое соединение Team Foundation Server / Team Services» я выбрал «Аутентификация на основе токена» и заполнил значения.Я поставил токен, полученный от CredentialProvider.VSS.exe, в поле «Персональный токен доступа».

Пакеты nuget были восстановлены, поэтому все выглядело хорошо, но на следующий день он больше не работал, поскольку токен действовал только в течение нескольких часов (я его расшифровал для проверки).

Вопрос

Как я должен сделать эту работу?Кажется странным использовать «Личный токен доступа», поскольку он не должен относиться ко мне как к личности (на случай, если я уйду из организации, например).Имя пользователя для токена, сгенерированного CredentialProvider.VSS.exe, было VssSessionToken, что может указывать на то, что это не личный токен, связанный со мной, но я не знаю.

1 Ответ

0 голосов
/ 27 февраля 2019

PAT (Личный токен доступа) - это в значительной степени способ использовать каналы артефактов Azure, поскольку они являются универсальными для предоставления доступа к различным частям DevOps Azure.

Если вас беспокоит тот факт, чтоони являются личными, поэтому может быть решением использовать служебную учетную запись для генерации токенов.

Если вы хотите использовать PAT с более длительным сроком службы, возможно, будет проще создать его самостоятельно (см. https://docs.microsoft.com/en-us/azure/devops/artifacts/nuget/nuget-exe?view=azure-devops&tabs=new-nav#add-a-feed-to-nuget-2для инструкций)

Короче говоря, вы создадите PAT с разрешением «Упаковка (чтение)», чтобы ограничить возможность злоупотребления.

Необходимо учитывать две вещи:

  • У PAT всегда есть дата истечения срока действия, поэтому вам необходимо отслеживать это.
  • PAT предоставляют доступ к Azure.DevOps Api как пользователь, который их создал, поэтому убедитесь, что они недоступны, и максимально ограничьте разрешения.
...