管理 Wiki 和协作工具权限

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
查看项目页面 ✔️ ✔️ ✔️ ✔️ ✔️
编辑项目页 ✔️
使用项目页面导航 ✔️ ✔️ ✔️ ✔️ ✔️
请求反馈 ✔️ ✔️ ✔️ ✔️
提供反馈 ✔️ ✔️ ✔️ ✔️ ✔️
功能强大的代码搜索 ✔️ ✔️ ✔️ ✔️ ✔️
功能强大的工作跟踪搜索 ✔️ ✔️ ✔️ ✔️ ✔️

注意:

  1. 利益干系人可以查看项目 README,但不能查看为存储库定义的 README。
  2. 具有参与权限的项目管理员或团队管理员可以将代码发布为 Wiki。 默认情况下,项目管理员具有此权限。

管理项目 Wiki 的权限

项目 Wiki(预配的 Wiki)存储在专用 Git 存储库中。 可以通过存储库安全设置管理这些 Wiki 的权限。

查看和修改 Wiki 权限

  1. 登录到你的组织 (https://dev.azure.com/{organization}) 并转到你的项目。

  2. 选择“Project settings”。

  3. “仓库”下,选择 “存储库”

  4. 选择 Wiki 存储库。 项目 Wiki 通常命名 {ProjectName}.wiki

  5. 选择“安全”选项卡。

  6. 查看用户和组的当前权限。 权限列表显示:

    • 用户和组:单个用户、Azure DevOps 组和Microsoft Entra ID 组
    • 权限级别:允许、拒绝或继承权限等显式权限
    • 权限类型:读取、参与、强制推送、管理权限等。

Wiki 的密钥存储库权限

以下存储库权限控制 Wiki 访问:

许可 DESCRIPTION Wiki访问
阅读 查看存储库内容 查看 Wiki 页面和历史记录
贡献 读取、创建和修改内容 创建和编辑 Wiki 页面
强制推送 重写存储库历史记录 强制推送维基更改(高级)
管理权限 更改存储库安全性 修改谁可以访问 Wiki
创建分支 创建新分支 创建 Wiki 分支(高级)

小窍门

对于大多数 Wiki 方案,只需管理 “读取 ”和 “参与” 权限。 具有 参与 权限的用户可以创建、编辑和删除 Wiki 页面。

将 Wiki 访问权限授予用户和组

将用户或组添加到 Wiki 权限

  1. 在 Wiki 存储库 安全性 选项卡中,选择“用户/组”部分中的 “添加 ”(加号图标)。

  2. 搜索并选择:

    • 按电子邮件地址或显示名称对单个用户进行分类
    • Azure DevOps 组 (例如参与者、读者)
    • 如果贵组织已连接到 Microsoft Entra ID,则为 Microsoft Entra ID 组
  3. 添加用户或组后,设置其权限:

    • 对于仅查看访问权限,将“读取”设置为“允许”
    • “参与” 设置为 “允许” 以开放编辑访问权限
    • 将权限设置为 “拒绝 ”以显式阻止访问
  4. 选择“保存更改”。

修改现有权限

  1. 在“ 安全 ”选项卡中,找到要修改的用户或组。

  2. 选择权限级别(允许、拒绝或未设置)以更改它:

    • 允许:显式授予权限
    • 拒绝:显式阻止权限(替代继承的权限)
    • 未设置:使用从父组继承的权限
  3. 更改会自动保存。

删除用户或组访问权限

  1. 在“ 安全 ”选项卡中,找到要删除的用户或组。

  2. 选择用户或组,然后选择“ 删除 ”(回收站图标)。

  3. 出现提示时确认删除。

注意

从存储库权限中删除用户不会将其从项目中删除。 它仅会删除此特定 Wiki 存储库的显式权限。

管理代码维基的权限(已发布的维基)

代码 Wiki 基于现有 Git 存储库中的文件。 代码 Wiki 的权限通过源存储库设置进行管理。

设置代码维基的权限

  1. 在项目中,转到存储库>文件

  2. 选择包含已发布 Wiki 内容的存储库。

  3. 选择 “设置>安全性 ”选项卡。

  4. 使用与项目 Wiki 相同的过程管理权限,重点是:

    • 阅读:查看 Wiki 内容
    • 参与:编辑 Wiki 文件

常见权限场景

方案 1:只读 Wiki 访问权限

若要授予用户仅查看 Wiki 的访问权限,请执行以下命令:

  1. 将用户添加到 wiki 仓库的安全权限中。
  2. “读取 ”设置为 “允许”。
  3. 确保“参与”是“未设置”或“拒绝”。

方案 2:Wiki 编辑器

若要向用户授予对 Wiki 的编辑访问权限,请执行以下命令:

  1. 将用户添加到 Wiki 仓库的安全设置中。
  2. “读取 ”设置为 “允许”。
  3. “参与” 设置为 “允许”。

方案 3:Wiki 管理员

若要为用户提供对 Wiki 的完全控制,请执行以下命令:

  1. 将用户添加到 Wiki 存储库的安全权限。
  2. 读取参与和管理权限设置为“允许”。

方案 4:限制 Wiki 访问

阻止用户访问 Wiki:

  1. 在wiki存储库安全中查找用户。

  2. “读取 ”设置为 “拒绝”。

    即使用户具有组成员身份的权限,用户的访问权限也会被阻止。

Wiki 权限的最佳实践

安全建议

  • 使用组而不是单个权限:将用户添加到相应的 Azure DevOps 组(参与者、读者),而不是授予个人权限。
  • 遵循最低权限原则:仅向用户授予完成其工作所需的最低权限。
  • 常规权限评审:定期评审谁有权访问 Wiki 并删除不必要的权限。
  • 使用Microsoft Entra ID 组:如果组织使用 Microsoft Entra ID,请使用 Microsoft Entra ID 组,以便更轻松地管理用户。

权限继承

  • 用户从他们所属的组继承权限。
  • 拒绝权限优先于允许权限。
  • 显式权限替代继承的权限。
  • 项目级权限不会自动授予存储库级权限。

故障排除权限

问题:用户无法编辑 Wiki 页面

解决方案

  1. 验证用户是否对 Wiki 存储库具有 “参与” 权限
  2. 检查是否有 拒绝 权限在阻止访问
  3. 确保用户至少在项目中具有 基本 访问级别

问题:用户看不到 Wiki

解决方案

  1. 验证用户是否对 Wiki 存储库具有 读取 权限
  2. 检查 Wiki 是否存在并已正确配置
  3. 确保用户具有项目访问权限

问题:对权限的更改不会生效

解决方案

  1. 等待几分钟以便权限传播
  2. 要求用户刷新浏览器或注销并重新登录
  3. 验证权限是否已正确保存

利益干系人访问权限和 Wiki

具有 利益干系人访问权限 的用户具有不同的 Wiki 权限,具体取决于项目可见性。

私人项目

项目 Wiki(已预配)

  • 读取访问权限:利益相关者可以读取 Wiki 页面和查看修订
  • 编辑访问权限:利益干系人无法创建、编辑、重新排序或还原 Wiki 页面
  • 权限:无法通过存储库权限更改这些限制

代码 Wiki(已发布)

  • 无访问权限:利益干系人无法在专用项目中读取或编辑已发布的代码 Wiki

公共项目

利益干系人对公共项目中的所有 Wiki 类型具有完全读取和写入访问权限。

有关更多信息,请参阅 利益相关者快速参考指南

重要

Wiki 权限适用于整个 Wiki 存储库。 无法为各个 Wiki 页面设置权限。

自述文件权限

存储库中的 README 文件遵循与所包含的存储库相同的权限模型。

  1. 转到存储库>文件
  2. 选择包含README文件的存储库。
  3. 选择设置>安全性
  4. 使用存储库安全设置管理权限。

用户需要 “读取 ”权限才能查看自述文件并 具有“参与” 权限才能编辑它们。

注意

利益干系人可以查看项目 README,但无法访问为专用项目中的特定存储库定义的 README。

通知和警报

若要管理通知和警报,请执行以下操作:

注意

没有与管理通知关联的 UI 权限。 相反,可以使用 TFSSecurity 命令行工具管理它们

反馈权限

有关管理反馈权限,请参阅 “设置反馈权限”。