使用安全锁保护项目

本文档适用于希望保护项目免遭删除的项目所有者组织管理员

您可以为项目添加安全锁,以防止项目被删除,直到您移除该安全锁。这对于保护特别重要的项目非常有用。

安全锁还可以自动放置在项目中。例如,如果您允许 一个项目中的 Identity and Access Management (IAM) 服务账号 附加到其他项目中的资源, 则系统会为服务账号所在的项目设置安全锁。

准备工作

gcloud CLI 是与项目安全锁进行交互的最简单方法。如果您尚未安装该工具,可以使用 Google Cloud Shell

所需的角色

如需获得修改安全锁所需的权限,请让您的管理员向您授予项目的 Project lien modifier (roles/resourcemanager.lienModifier) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

此预定义角色包含 修改安全锁所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

如需修改安全锁,您需要以下权限:

  • resourcemanager.projects.updateLiens
  • 列出项目的安全锁: resourcemanager.projects.get

您也可以使用自定义角色或其他预定义角色来获取这些权限。

为项目添加安全锁

如需为项目添加安全锁,请使用 alpha resource-manager liens create 命令。

gcloud alpha resource-manager liens create \
    --project=PROJECT_ID \
    --restrictions=PERMISSION_RESTRICTION \
    --reason=LIEN_REASON \
    --origin=LIEN_ORIGIN

替换以下内容:

  • PROJECT_ID:安全锁所适用的项目的 ID。
  • PERMISSION_RESTRICTION:以逗号分隔的 IAM 权限列表,用于屏蔽。项目的唯一有效限制是 resourcemanager.projects.delete
  • LIEN_REASON:对安全锁存在原因的人为可读说明 。将此说明放在英文双引号内。示例:"This project is protected by a lien"
  • LIEN_ORIGIN:表示发起安全锁的用户或系统的字符串。这是一个必填字段,但如果省略,系统会自动填充用户的电子邮件地址。

列出项目的安全锁

如需列出应用于项目的所有安全锁,请使用 alpha resource-manager liens list 命令。

gcloud alpha resource-manager liens list

输出类似于以下内容:

gcloud alpha resource-manager liens list
NAME                                                  ORIGIN            REASON
p1061081023732-l3d8032b3-ea2c-4683-ad48-5ca23ddd00e7  user@example.com  testing

从项目中移除安全锁

如需从项目中移除安全锁,请使用 alpha resource-manager liens delete 命令。

gcloud alpha resource-manager liens delete LIEN_NAME

LIEN_NAME 替换为要删除的安全锁的名称, 例如 p1061081023732-l3d8032b3-ea2c-4683-ad48-5ca23ddd00e7

参考

API 参考:REST 资源:安全锁