使用 Privileged Access Manager 保护项目安全锁

Privileged Access Manager 概览

项目安全锁是一种明确阻止项目被删除的保护措施。本页介绍了如何配置多方审批,以保护包含备份保险库的 Google Cloud 项目中的项目留置权。本文档假定您已为组织启用 Privileged Access Manager。

应用项目安全锁可提供一层重要的保护措施,防止项目被意外或未经授权删除。不过,拥有项目所有权旧版基本权限的主账号仍可以移除安全锁并删除项目。为防止任何用户(无论其权限如何)移除项目留置权,您可以建立结构化的多方审批工作流。Privileged Access Manager 可提供及时、临时的权限提升,并提供可选的多方审批工作流。如需了解详情,请参阅 Privileged Access Manager 概览

通过利用 Privileged Access Manager,贵组织可以确保关键权限(特别是移除留置权的权限)仅临时授予,并且需要第二位授权方的明确批准。

使用 Privileged Access Manager 的流程

使用 Privileged Access Manager 通过多方审批流程移除项目留置权涉及三个阶段:

  1. 限制权限:管理员设置 IAM,确保未经授权的用户无法永久访问以修改或删除留置权。

  2. 配置访问权限控制:管理员配置 Privileged Access Manager,以控制对移除留置权所需的自定义角色的访问权限,包括设置多方审批工作流。

  3. 执行操作:当需要临时提升的访问权限时,用户请求授予权限,获得授权的审批者审核并批准,然后用户执行所需的操作。

限制权限并准备 Identity and Access Management (IAM)

此阶段的目标是确保没有未经授权的用户拥有永久访问权限来修改或删除留置权。如需完成本部分中的步骤,您必须拥有以下角色:

  • Security Admin (roles/iam.securityAdmin) 或 Organization Administrator (roles/resourcemanager.organizationAdmin) 角色,以便审核和修改角色分配。
  • 组织角色管理员 (roles/iam.organizationRoleAdmin) 才能创建自定义角色。

审核现有角色是否具有项目安全锁管理权限

旧版基本 Owner 角色 (roles/owner) 默认包含 resourcemanager.projects.updateLiens 权限(允许移除项目留置权)。

创建留置权管理员自定义角色

由于 Privileged Access Manager 不支持旧版基本角色(Owner、Editor 和 Viewer),因此您需要创建自定义角色来授予临时权限。

  1. 在 Google Cloud 控制台中,前往 IAM 和管理 > 角色

    前往“角色”

  2. 点击创建角色

  3. 使用以下设置配置角色(此步骤中列出的值仅作示例之用):

    • 职位:留置权管理员

    • IDlien_administrator

    • 角色发布阶段:正式版

    • 权限:点击添加权限,然后搜索以下内容: resourcemanager.projects.updateLiens

  4. 点击创建

为多方审批配置 Privileged Access Manager

在此阶段,您将配置 Privileged Access Manager,以控制对在创建 Lien Admin 自定义角色中创建的 Lien Admin 自定义角色的访问权限。

  1. 依次前往 IAM 和管理 > Privileged Access Manager。 如果您是首次使用 Privileged Access Manager,请确保已设置好该服务。

    前往 Privileged Access Manager

  2. 使用权部分,点击创建

    • 名称:输入一个描述性名称(例如 remove-project-lien)。

    • 资源:选择要应用此逻辑的组织、文件夹(推荐)或特定项目。

    • 角色:选择在限制权限阶段创建的“留置权管理员”自定义角色。

    • Requester:选择允许请求此权限的个人主账号或用户群组(例如 devops-team@example.com)。

  3. 配置审批工作流。勾选需要审批复选框,然后填写以下字段:

    • 审批者:选择必须审批请求的个人主账号或群组(例如 team-leads@example.com)。

    • 审批人数量:根据您的政策,设置为 1 或更多。

  4. 进行以下设置:

    • 最长时长:设置为 1 hour(这通常足以删除留置权,但请根据您的需求进行调整)。

    • 理由:设置为必需

  5. 点击创建

执行操作

配置权利后,请求者和审批者删除受保护项目的相应工作流程如下:

  1. 请求:由已配置的请求者群组的成员提出,该成员需要删除项目,但因存在安全锁而被阻止。他们前往 Privileged Access Manager 控制台,找到 remove-project-lien 使用权,然后点击申请授权

  2. 审批:由配置的审批者群组的成员提供,该成员会收到通知、审核理由,然后点击批准

  3. 删除安全锁:系统会暂时向要求提出者授予安全锁管理员角色 (resourcemanager.projects.updateLiens)。现在,他们可以使用以下命令继续删除安全锁,从而能够随后删除项目:

    gcloud alpha resource-manager liens list
    gcloud alpha resource-manager liens delete LIEN_NAME
    

    LIEN_NAME 替换为您要删除的安全锁的名称。

  4. 清理:在配置的时长过后,系统会自动撤消请求者的留置权管理员角色,从而移除其修改留置权的能力。

后续步骤