Azure DevOps Server 权限概述
在Azure DevOps Server (之前名称为TFS)中,权限是一个比较复杂的概念。从权限层级上来说,包括服务器级别、团队项目集合级别、团队项目级别和对象级别。
其中的对象级别,是指对TFS系统中具体的每种类型的数据、或者每个具体的数据,对于不同的成员(或组)可以设置不同的权限。
Git权限概述
对于Git库这个特定的数据对象,在Azure DevOps Server 中又分为代码库级别权限、库级别和分支级别的权限设置。就是说,可以针对不同的人员在不同的数据级别上设置不同的权限。
下面我们就对每种不同的权限和权限的作用级别,做一个表格说明:
权限名称
(英文)
|
权限名称
(中文)
|
说明
|
存储库
|
库
|
分支
|
Bypass policies when completing pull requests
|
完成拉取请求时绕过策略
|
可以通过选中覆盖分支策略来选择覆盖分支策略,并在完成PR时启用合并。
|
√
|
√
|
√
|
Read
|
读取
|
可以克隆、提取、拉取、和浏览库中的内容。
|
√
|
√
|
|
Remove others' locks
|
删除其他用户的锁定
|
可以删除其他用户设置的分支锁。锁定分支会阻止其他人向分支添加任何新提交,并阻止其他用户更改现有提交历史记录。
|
√
|
√
|
√
|
Rename repository
|
修改库名
|
可以修改库名
|
√
|
√
|
|
Manage permissions
|
管理权限
|
可以修改库或分支的权限
|
√
|
√
|
√
|
Manage notes
|
管理说明
|
可以修改说明(notes),注意notes不是commits
|
√
|
√
|
|
Force push (rewrite history, delete branches and tags)
|
强制推送(重写历史记录、删除分支和标记)
|
可以强制更新分支、删除分支和修改分支的提交历史记录。可以删除标签和注释。
|
√
|
√
|
√
|
Exempt From policy enforcement
|
免除策略
|
可以绕过分支策略并执行以下两个操作:
覆盖分支策略并完成不满足分支策略的PRS
直接推送到设置了分支策略的分支
适用于2015年至2018年的TFS更新2。(在Azure DevOps中,它替换为以下两个权限:完成请求时绕过策略,推送时绕过策略。)
|
√
|
√
|
√
|
Edit policies
|
编辑策略
|
可以编辑存储库及其分支的策略。
|
√
|
√
|
√
|
Delete repository
|
删除库
|
可删除库;默认用户可以删除自己创建的库
|
√
|
√
|
|
Create tag
|
创建标记
|
可以新建、推送标记
|
√
|
√
|
|
Create repository
|
创建库
|
可以创建新库、分叉库;创建者自动用于新库的全部权限。
|
√
|
|
|
Create branch
|
创建分支
|
1. 创建或发布新分支;缺少这个权限不影响用户在本地创建分支
2. 当用户新建的分支后,自动获得新分支的权限:贡献、修改策略、前置推送、管理权限、移除其他人的锁定
|
√
|
√
|
|
Contribute to pull requests
|
参与拉取请求
|
可以创建、评论和投票请求。
|
√
|
√
|
|
Contribute
|
参与
|
1. 在存储库级别上, 这个权限没有什么意义
2. 在库级别上,可以推送提交;可以完成拉取请求
3. 在分支级别上,可以推送提交,锁定分支
|
√
|
√
|
√
|
Bypass policies when pushing
|
推送时绕过策略
|
可以推送到启用了分支策略的分支。请注意,当具有此权限的用户进行将覆盖分支策略的推送时,推送会自动绕过分支策略,而不会出现任何选择加入步骤或警告。完成拉请求时绕过策略,推送替换时绕过策略免除策略实施。适用于Azure DevOps服务和Azure DevOps服务器2019。
|
√
|
√
|
√
|
设置权限
您可以从Web门户、tf命令行工具或使用tfsssecurity命令行工具管理每个git存储库或分支的安全性。在默认配置中,项目管理员被授予这些权限中的大部分(这些权限只出现在配置了Git存储库的项目中)。您可以管理所有git存储库或特定git repo的这些权限。下面的截图介绍了如何在Web浏览器中设置Git权限。
-
在项目导航中,查询到需要配置Git库权限的团队项目;
-
选项项目设置按钮,也可以使用键盘快捷方式Ctrl+S
-
选择存储库
-
在存储库中选择任意一个节点的数据对象(上图选择了分支)
-
添加或者选择现有用户组
-
根据需要配置权限后,点击“保存更改”,就可以为用户/组配置好所需要的权限。
微软DevOps MVP 张洪君
http://www.cnblogs.com/danzhang
--End--