【发布时间】:2022-11-03 14:50:31
【问题描述】:
是否有报告可以为 Azure DevOps Server 2020(更新 1)中的所有用户提供安全权限?
我看到对 Azure DevOps Services 的引用,但它似乎不适用于服务器 (Download permissions report for a repository)。
【问题讨论】:
标签: security azure-devops azure-devops-server-2019
是否有报告可以为 Azure DevOps Server 2020(更新 1)中的所有用户提供安全权限?
我看到对 Azure DevOps Services 的引用,但它似乎不适用于服务器 (Download permissions report for a repository)。
【问题讨论】:
标签: security azure-devops azure-devops-server-2019
但是,到目前为止,权限报告不支持任何版本的 Azure DevOps Server。
REST API Access Control Lists - Query 可以显示所有权限,但需要做一些额外的工作。
GET https://dev.azure.com/{organization}/_apis/accesscontrollists/{securityNamespaceId}?api-version=6.0
使用2e9eb7ed-3c0a-47d4-87c1-0ffdd275fd87 替换{securityNamespaceId}。这将返回您组织中的所有 Git 存储库权限设置。
您可以使用token URL 参数进行更具体的查询。例如,使用 token=repoV2/{project id} 重新运行项目中的所有 Git 存储库权限设置,或使用 token=repoV2/{project id}/{repo id} 重新运行存储库中的权限设置。这是一个例子:
GET https://dev.azure.com/{organization}/_apis/accesscontrollists/2e9eb7ed-3c0a-47d4-87c1-0ffdd275fd87?token=repoV2/{project id}/{repo id}&api-version=6.0
该查询不返回继承的权限。即在网页中,如果一行显示Allow 或Deny,则返回。如果一行显示“未设置”或标记为“继承”,则不会返回。
该查询将用户或组的权限显示为allow 和deny 权限位。这是一个列表:
| Name | Permission Description | Permission Bit |
|---|---|---|
| Administer | Administer | 1 |
| GenericRead | Read | 2 |
| GenericContribute | Contribute | 4 |
| ForcePush | Force push (rewrite history, delete branches and tags) | 8 |
| CreateBranch | Create branch | 16 |
| CreateTag | Create tag | 32 |
| ManageNote | Manage notes | 64 |
| PolicyExempt | Bypass policies when pushing | 128 |
| CreateRepository | Create repository | 256 |
| DeleteRepository | Delete repository | 512 |
| RenameRepository | Rename repository | 1024 |
| EditPolicies | Edit policies | 2048 |
| RemoveOthersLocks | Remove others' locks | 4096 |
| ManagePermissions | Manage permissions | 8192 |
| PullRequestContribute | Contribute to pull requests | 16384 |
| PullRequestBypassPolicy | Bypass policies when completing pull requests | 32768 |
例如,用户的allow 显示6 表示该用户具有“读取”和“贡献”权限。用户的deny 显示56 表示不允许用户“强制推送”、“创建分支”和“创建标签”。
【讨论】: