Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
本文介绍如何在 Azure DevOps 中设置和管理协作工具的权限,包括团队项目 Wiki、项目自述文件、通知和反馈。 这些工具可帮助团队有效地协作,同时维护适当的安全控制。
Wiki 权限通过基础 Git 存储库安全设置进行管理。 默认情况下,参与者组的所有成员都有权读取和编辑 Wiki 页面。 项目管理员可以修改这些权限,以控制谁可以读取、编辑或管理 Wiki 内容。
先决条件
要求 | DESCRIPTION |
---|---|
权限 | Wiki 存储库的“项目管理员”权限或“管理权限”权限 |
项目访问权限 | 访问 Wiki 所在的项目 |
Wiki 权限的工作原理
Wiki 权限通过存储 Wiki 内容的基础 Git 存储库进行控制。 Azure DevOps 中有两种类型的 Wiki:
- 项目 Wiki (预配 wiki):存储在专用 Git 存储库中(通常命名
<ProjectName>.wiki
) - 代码 Wiki (已发布的 wiki):基于现有 Git 存储库中的文件
每种类型使用相同的 Git 存储库权限模型,但可能具有不同的存储库位置。
按角色分配的默认权限
下表显示了协作工具的默认权限,包括 wiki、README、通知和反馈:
任务 | 利益干系人 | 读者 | 供稿人 | 团队管理员 | 组织所有者/项目管理员 |
---|---|---|---|---|---|
设置个人通知或警报 | ✔️ | ✔️ | ✔️ | ✔️ | |
设置团队通知或警报 | ✔️ | ✔️ | |||
设置项目级通知或警报 | ✔️ | ||||
READMEs | 请参阅说明 1 | ✔️ | ✔️ | ✔️ | ✔️ |
查看项目 Wiki | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
查看代码 wiki | ✔️ | ✔️ | ✔️ | ✔️ | |
预配或创建 Wiki | ✔️ | ||||
将代码发布为 Wiki | ✔️ | 请参阅说明 2 | 请参阅说明 2 | ||
查看项目页面 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
编辑项目页 | ✔️ | ||||
使用项目页面导航 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
请求反馈 | ✔️ | ✔️ | ✔️ | ✔️ | |
提供反馈 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
功能强大的代码搜索 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
功能强大的工作跟踪搜索 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
注意:
- 利益干系人可以查看项目 README,但不能查看为存储库定义的 README。
- 具有参与权限的项目管理员或团队管理员可以将代码发布为 Wiki。 默认情况下,项目管理员具有此权限。
管理项目 Wiki 的权限
项目 Wiki(预配的 Wiki)存储在专用 Git 存储库中。 可以通过存储库安全设置管理这些 Wiki 的权限。
查看和修改 Wiki 权限
登录到你的组织 (
https://dev.azure.com/{organization}
) 并转到你的项目。选择“Project settings”。
在 “仓库”下,选择 “存储库”。
选择 Wiki 存储库。 项目 Wiki 通常命名
{ProjectName}.wiki
。选择“安全”选项卡。
查看用户和组的当前权限。 权限列表显示:
- 用户和组:单个用户、Azure DevOps 组和Microsoft Entra ID 组
- 权限级别:允许、拒绝或继承权限等显式权限
- 权限类型:读取、参与、强制推送、管理权限等。
Wiki 的密钥存储库权限
以下存储库权限控制 Wiki 访问:
许可 | DESCRIPTION | Wiki访问 |
---|---|---|
阅读 | 查看存储库内容 | 查看 Wiki 页面和历史记录 |
贡献 | 读取、创建和修改内容 | 创建和编辑 Wiki 页面 |
强制推送 | 重写存储库历史记录 | 强制推送维基更改(高级) |
管理权限 | 更改存储库安全性 | 修改谁可以访问 Wiki |
创建分支 | 创建新分支 | 创建 Wiki 分支(高级) |
小窍门
对于大多数 Wiki 方案,只需管理 “读取 ”和 “参与” 权限。 具有 参与 权限的用户可以创建、编辑和删除 Wiki 页面。
将 Wiki 访问权限授予用户和组
将用户或组添加到 Wiki 权限
在 Wiki 存储库 安全性 选项卡中,选择“用户/组”部分中的 “添加 ”(加号图标)。
搜索并选择:
- 按电子邮件地址或显示名称对单个用户进行分类
- Azure DevOps 组 (例如参与者、读者)
- 如果贵组织已连接到 Microsoft Entra ID,则为 Microsoft Entra ID 组
添加用户或组后,设置其权限:
- 对于仅查看访问权限,将“读取”设置为“允许”
- 将 “参与” 设置为 “允许” 以开放编辑访问权限
- 将权限设置为 “拒绝 ”以显式阻止访问
选择“保存更改”。
修改现有权限
在“ 安全 ”选项卡中,找到要修改的用户或组。
选择权限级别(允许、拒绝或未设置)以更改它:
- 允许:显式授予权限
- 拒绝:显式阻止权限(替代继承的权限)
- 未设置:使用从父组继承的权限
更改会自动保存。
删除用户或组访问权限
在“ 安全 ”选项卡中,找到要删除的用户或组。
选择用户或组,然后选择“ 删除 ”(回收站图标)。
出现提示时确认删除。
注意
从存储库权限中删除用户不会将其从项目中删除。 它仅会删除此特定 Wiki 存储库的显式权限。
管理代码维基的权限(已发布的维基)
代码 Wiki 基于现有 Git 存储库中的文件。 代码 Wiki 的权限通过源存储库设置进行管理。
设置代码维基的权限
在项目中,转到存储库>文件。
选择包含已发布 Wiki 内容的存储库。
选择 “设置>安全性 ”选项卡。
使用与项目 Wiki 相同的过程管理权限,重点是:
- 阅读:查看 Wiki 内容
- 参与:编辑 Wiki 文件
常见权限场景
方案 1:只读 Wiki 访问权限
若要授予用户仅查看 Wiki 的访问权限,请执行以下命令:
- 将用户添加到 wiki 仓库的安全权限中。
- 将 “读取 ”设置为 “允许”。
- 确保“参与”是“未设置”或“拒绝”。
方案 2:Wiki 编辑器
若要向用户授予对 Wiki 的编辑访问权限,请执行以下命令:
- 将用户添加到 Wiki 仓库的安全设置中。
- 将 “读取 ”设置为 “允许”。
- 将 “参与” 设置为 “允许”。
方案 3:Wiki 管理员
若要为用户提供对 Wiki 的完全控制,请执行以下命令:
- 将用户添加到 Wiki 存储库的安全权限。
- 将读取、参与和管理权限设置为“允许”。
方案 4:限制 Wiki 访问
阻止用户访问 Wiki:
在wiki存储库安全中查找用户。
将 “读取 ”设置为 “拒绝”。
即使用户具有组成员身份的权限,用户的访问权限也会被阻止。
Wiki 权限的最佳实践
安全建议
- 使用组而不是单个权限:将用户添加到相应的 Azure DevOps 组(参与者、读者),而不是授予个人权限。
- 遵循最低权限原则:仅向用户授予完成其工作所需的最低权限。
- 常规权限评审:定期评审谁有权访问 Wiki 并删除不必要的权限。
- 使用Microsoft Entra ID 组:如果组织使用 Microsoft Entra ID,请使用 Microsoft Entra ID 组,以便更轻松地管理用户。
权限继承
- 用户从他们所属的组继承权限。
- 拒绝权限优先于允许权限。
- 显式权限替代继承的权限。
- 项目级权限不会自动授予存储库级权限。
故障排除权限
问题:用户无法编辑 Wiki 页面
解决方案:
- 验证用户是否对 Wiki 存储库具有 “参与” 权限
- 检查是否有 拒绝 权限在阻止访问
- 确保用户至少在项目中具有 基本 访问级别
问题:用户看不到 Wiki
解决方案:
- 验证用户是否对 Wiki 存储库具有 读取 权限
- 检查 Wiki 是否存在并已正确配置
- 确保用户具有项目访问权限
问题:对权限的更改不会生效
解决方案:
- 等待几分钟以便权限传播
- 要求用户刷新浏览器或注销并重新登录
- 验证权限是否已正确保存
利益干系人访问权限和 Wiki
具有 利益干系人访问权限 的用户具有不同的 Wiki 权限,具体取决于项目可见性。
私人项目
项目 Wiki(已预配):
- 读取访问权限:利益相关者可以读取 Wiki 页面和查看修订
- 编辑访问权限:利益干系人无法创建、编辑、重新排序或还原 Wiki 页面
- 权限:无法通过存储库权限更改这些限制
代码 Wiki(已发布):
- 无访问权限:利益干系人无法在专用项目中读取或编辑已发布的代码 Wiki
公共项目
利益干系人对公共项目中的所有 Wiki 类型具有完全读取和写入访问权限。
有关更多信息,请参阅 利益相关者快速参考指南。
重要
Wiki 权限适用于整个 Wiki 存储库。 无法为各个 Wiki 页面设置权限。
自述文件权限
存储库中的 README 文件遵循与所包含的存储库相同的权限模型。
- 转到存储库>文件。
- 选择包含README文件的存储库。
- 选择设置>安全性。
- 使用存储库安全设置管理权限。
用户需要 “读取 ”权限才能查看自述文件并 具有“参与” 权限才能编辑它们。
注意
利益干系人可以查看项目 README,但无法访问为专用项目中的特定存储库定义的 README。
相关的协作工具
通知和警报
若要管理通知和警报,请执行以下操作:
注意
没有与管理通知关联的 UI 权限。 相反,可以使用 TFSSecurity 命令行工具管理它们。
反馈权限
有关管理反馈权限,请参阅 “设置反馈权限”。