背景
我在 azure devops 上的私有 nuget feed 中有 nuget 包,我尝试从本地 TFS 中使用它们。
这有效,但只持续了几个小时
在 azure devops 中,我导航到 Artifacts -> Connect to feed,然后单击链接“下载 NuGet + 凭据提供程序”。跑步时CredentialProvider.VSS.exe -U URL_TO_FEED
我得到了一个 jwt 令牌。
在 tfs on-prem 中,我导航到构建定义中的“NuGet 恢复”步骤。在“源和身份验证”中,我选择了“NuGet.config 中的源”,在“此帐户/集合之外的源的凭据”中,我单击了“管理”。在“添加新的 Team Foundation Server/Team Services 连接”对话框中,我选择了“基于令牌的身份验证”并填写了值。我将从 CredentialProvider.VSS.exe 获得的令牌放入“个人访问令牌”字段中。
nuget 包已恢复,因此一切看起来都很好,但第二天它就不再工作了,因为令牌仅在几个小时内有效(我对其进行了解码以进行验证)。
Question
我该怎么做才能完成这项工作?使用“个人访问令牌”似乎很奇怪,因为它不应该与我作为一个人相关(例如,如果我离开组织)。 CredentialProvider.VSS.exe 生成的令牌的用户名是 VssSessionToken,这可能表明它不是与我相关的个人令牌,但我不知道。
PAT(个人访问令牌)几乎是 Azure Artifacts 源的最佳选择,因为它们是提供对 Azure DevOps 不同部分的访问的通用方法。
如果您担心它们是个人的,那么使用服务帐户生成令牌可能是一个解决方案。
如果您想要一个具有更长生命周期的 PAT,那么您自己创建一个可能会更容易(请参阅以获得说明)
简而言之,您将创建一个具有“打包(读取)”权限的 PAT,以限制滥用的可能性。
需要考虑两件事:
- PAT 始终有一个到期日期,因此您需要对其进行跟踪。
- PAT 允许创建它们的用户访问 Azure DevOps Api,因此请确保它们不可访问并尽可能限制权限。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)