如何从私人Azure DevOps feed中还原Nuget软件包



背景

我在Azure Devops上的私人Nuget Feed中有Nuget软件包,我试图从本地TFS食用它们。

这起作用,但只有几个小时

在Azure Devops中,我导航到工件 ->连接到feed,然后单击链接"下载Nuget 凭据提供商"。运行CredentialProvider.VSS.exe -U URL_TO_FEED时,我得到了JWT令牌。

在本地TF中,我导航到构建定义中的" Nuget Restore"步骤。在我选择" nuget.config"中的" feed和身份验证"one_answers"在此帐户/收集之外的feeds"中选择" feeds",我单击"管理"。在我选择的"基于令牌的身份验证"的"添加新团队基础服务器/团队服务连接"对话框中,并填写了值。我将来自credentialProvider.vss.exe的代币放在"个人访问令牌"字段中。

nuget软件包已经恢复,所以一切似乎都很好,但是第二天它不再起作用,因为令牌仅有效几个小时(我对其进行了解码以验证)。

问题

我应该如何做这项工作?使用"个人访问令牌"似乎很奇怪,因为它应该与我作为一个人无关(例如,如果我离开组织)。由credentialProvider.vss.exe生成的令牌的用户名是vsssessionToken,这可能表明它与我无关,但我不知道。

pat(个人访问令牌)几乎是Azure fors feed的方法,因为它们是通用访问Azure Devops的途径。

如果您担心它们是个人的事实,则可能是使用服务帐户生成令牌的解决方案。

如果您想要一个寿命更长的PAT可能更容易创建自己的PAT(请参阅https://learn.microsoft.com/en-us/azure/devops/artifacts/artifacts/nuget-exe/nuget-exe?view?= azure-devops& tabs = new-nav#add-a-feed-feed-to-nuget-2用于说明)

简而言之,您将使用"包装(读取)"许可创建PAT,以限制滥用的可能性。

要考虑的两件事:

  • 帕特的始终有到期日期,因此您需要跟踪。
  • pat的访问Azure DevOps API作为创建它们的用户,因此请确保无法访问它们并尽可能限制权限。

最新更新