重要
此功能以 公共预览版提供。 公共预览版中的功能可能会在正式发布之前进行更改。
Azure DevOps 中的扩展可增强功能和简化工作流,但某些扩展可能会由于其高特权范围或未发布状态而造成安全漏洞。 本文介绍如何识别和管理高特权、管道修饰器和未发布的扩展,以保护 Azure DevOps 组织免受潜在安全漏洞或意外行为的攻击。
什么是高特权范围和高特权扩展?
高级权限范围
范围通常确定扩展可以访问哪些资源,以及允许对这些资源执行哪些操作。 扩展可能使用多个范围。
至于什么被定义为高权限范围,它是权限过于宽泛的范围。
例如,高权限范围可以:
- 读取、更新和删除源代码
- 读取、写入和管理您的身份和群组
- 创建、读取、更新和删除项目
有关作用域的完整列表,包括高特权作用域,请参阅清单参考。
高权限扩展
高权限扩展使用一个或多个高权限范围。 由于高特权扩展可以访问敏感资源并执行关键操作,因此必须仔细评估它们,以确保它们符合组织的安全性和运作标准。
当涉及到任何扩展,尤其是高特权扩展时,请考虑以下因素:
- 受信任的发布者:仅当信任其代码和发布者时才安装和使用扩展
- 查看请求的范围:确保请求的范围是扩展功能所必需的
- 限制使用:仅当高特权扩展对工作流至关重要时,才安装高特权扩展
评估 Azure DevOps 扩展中高特权范围的使用情况
在你已安装的扩展中,可能只有少数会被标记为使用高权限范围。 可以在组织设置的“扩展”部分中检查其状态。
建议仅在信任其代码及其发布者的情况下安装、更新或使用扩展。
Microsoft对扩展的每个新版本和更新版本运行病毒扫描;然而,此功能仅在用户界面中突出显示了特定扩展是否使用高特权范围。 有关病毒扫描的详细信息,请参阅 发布您的扩展。
管理具有高权限范围的扩展
如果确定具有高特权范围的扩展,请评估扩展中调用的范围是否对用例至关重要。 如果扩展的功能不证明范围是正当的,我们建议不要安装或使用扩展来保护 Azure DevOps 组织。
适用于 Azure DevOps 扩展的 Visual Studio Marketplace 提供了与管理页面上高权限范围内显示的扩展类似的指示。 因此,在组织中安装扩展之前,还可以识别 在 Azure DevOps Visual Studio Marketplace 中标记的高特权范围。
选择任何扩展,尤其是具有高特权范围的扩展时,请批判性地考虑该扩展的功能是否合理地使用这些范围。 仅当信任发布者和扩展的代码时,才继续安装。
注释
此功能正在逐步发布。 如果在 Azure DevOps Visual Studio Marketplace 用户界面中看不到高特权范围见解,请再等几天,直到它也可供使用。
安全地使用管道修饰器
管道修饰器 是用于修改和增强组织内所有管道的专用扩展,它们也归类为高特权扩展。 谨慎使用管道修饰器扩展,仅当信任其发布者和代码时才使用。
停止使用未发布的扩展
除了高特权扩展之外,该扩展的管理页还直观地指示扩展是否已由其发布者取消发布。
当扩展由其发布者从 Visual Studio Marketplace 取消发布时,它通常表示该扩展不再维护。
停止使用未发布的扩展,方法是将其从 Azure DevOps 组织卸载。
此外,通过 Azure DevOps Services REST API 版本 7.2,字符串字段 unpublished
现已可用。 通过此字段,你可以以编程方式标识从 Visual Studio Marketplace 中取消发布的扩展。 例如,可以在 Azure DevOps 组织中构建自己的检测和管理未发布的扩展的过程。