如何从私人天蓝色devops Feed中恢复nuget包?

问题描述 投票:2回答:1

背景

我在azure devops的私有nuget feed中有nuget包,我尝试从本地TFS中使用它们。

这有效,但只有几个小时

在azure devops中,我导航到Artifacts - > Connect to feed并单击“Download NuGet + Credential Provider”链接。当运行CredentialProvider.VSS.exe -U URL_TO_FEED时,我得到了一个jwt令牌。

在tfs on-prem中,我导航到构建定义中的“NuGet restore”步骤。在“供稿和身份验证”中,我选择了“我的NuGet.config中的供稿”和“此帐户/集合之外的供稿的凭据”,我点击了“管理”。在“添加新的Team Foundation Server / Team Services连接”对话框中,我选择了“基于令牌的身份验证”并填入了值。我把CredentialProvider.VSS.exe获得的令牌放在“个人访问令牌”字段中。

nuget包已经恢复,所以一切看起来都不错,但第二天它不再工作,因为令牌只有几个小时有效(我解码它来验证)。

我怎么能做这个工作?使用“个人访问令牌”似乎很奇怪,因为它不应该与我作为一个人(例如我离开组织)。 CredentialProvider.VSS.exe生成的令牌的用户名是VssSessionToken,这可能表明它不是与我有关的个人令牌,但我不知道。

tfs azure-devops nuget
1个回答
1
投票

PAT(个人访问令牌)几乎是Azure Artifacts源的方式,因为它们是提供对Azure DevOps的不同部分的访问的通用。

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

如果你想要一个寿命更长的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,因此请确保它们不可访问并尽可能地限制权限。
© www.soinside.com 2019 - 2024. All rights reserved.