我们正在评估VSTS以供企业使用。 安全团队面临的挑战之一是缺乏对PAT(个人访问令牌)使用的控制和治理 据我了解,任何用户都可以创建一个或多个PAT,并且可以从外部网络使用此PAT来进行REST API调用(或与网络外的工具连接)到VSTS以访问信息。
有关此方案的大量问题以及您体验中的任何见解/解决方法均值得赞赏
由于
答案 0 :(得分:1)
现在有一个API列出了哪些PAT已经创建,以及管理员代表其用户撤销PAT的选项:
GET https://vssps.dev.azure.com/{organization}/_apis/tokenadmin/personalaccesstokens/{subjectDescriptor}?api-version=5.0-preview.1
响应:
{
"value": [
{
"clientId": "00000000-0000-0000-0000-000000000000",
"accessId": "00000000-0000-0000-0000-000000000000",
"authorizationId": "952858d3-7084-4635-964e-3c2a57645185",
"hostAuthorizationId": "00000000-0000-0000-0000-000000000000",
"userId": "bb5bb6c8-ef0a-400f-8987-92b3674d2043",
"validFrom": "2018-07-19T00:00:00",
"validTo": "2018-07-19T00:00:00",
"displayName": null,
"scope": "app_token",
"targetAccounts": null,
"token": null,
"alternateToken": null,
"isValid": true,
"isPublic": false,
"publicData": null,
"source": null
},
....
此处有更多详情:
要撤销其他用户的令牌,请使用:
POST https://vssps.dev.azure.com/{organization}/_apis/tokenadmin/revocations?api-version=5.0-preview.1
[
{
"authorizationId": "532c7fe6-74f8-408b-8051-4abb73dca491"
}
]
请参阅:
可以选择关闭基本凭据/备用身份验证和SSH凭据,这些凭据不如个人访问令牌安全。没有选项可以关闭个人访问令牌。我想主要原因是Git和VSTS Agent基础设施依赖这些访问令牌来工作。
由于个人访问令牌的范围受到限制,因此它们实际上比直接缓存用户凭证更安全。他们也永远不会提供比用户更多的权限。
您无法查询所有用户的所有个人访问令牌,这将是一个巨大的安全违规。正是因为你试图限制对这些令牌的访问。
您可以停用OAuth和基本凭据。这不会阻止个人访问令牌:
此处解释了对Azure条件访问的影响:
重要
当用户使用其AAD凭据登录服务时,VSTS仅强制执行条件访问策略。使用个人访问令牌(PAT),备用身份验证,OAuth和SSH密钥访问VSTS可以绕过条件访问策略。
请记住,当一个人使用Azure条件访问执行身份验证然后离开时,建筑物将能够使用该凭据,直到它过期。最后,安全来自教育和监控,而不是试图将所有东西放在密闭容器中。
VSTS会保留一个活动日志,其中包括哪些用户已执行哪些操作。该日志将包含用户的IP地址。这样您至少可以监控操作。