本文档适用于希望针对项目删除添加保护措施的项目所有者和组织管理员。
您可以为项目添加安全锁,以防止项目被删除,直到您移除该安全锁。这对于保护特别重要的项目非常有用。
安全锁还可以自动放置在项目中。例如,如果您允许一个项目中的 Identity and Access Management (IAM) 服务帐号附加到其他项目中的资源,则系统会为服务帐号所在的项目设置安全锁。
gcloud
CLI 是与项目安全锁进行交互的最简单方法。如果您尚未安装该工具,可以使用 Google Cloud Shell。
为项目添加安全锁
如要对项目设置安全锁,用户必须拥有 resourcemanager.projects.updateLiens
权限,该权限由 roles/owner
和 roles/resourcemanager.lienModifier
角色授予。
gcloud alpha resource-manager liens create \
--restrictions=resourcemanager.projects.delete \
--reason="Super important production system"
liens create
的可用参数为:
--project
- 要应用安全锁的项目。--restrictions
- 要阻止的 IAM 权限列表,该列表以英文逗号分隔。--reason
- 为何应用该安全锁的直观易懂的说明。--origin
- 短字符串,表示发起安全锁的用户/系统。必需,但如果未提供,gcloud 工具将自动填入用户的电子邮件地址。
目前,项目的唯一有效限制是 resourcemanager.projects.delete
。
列出项目的安全锁
要列出应用于项目的安全锁,用户必须具有 resourcemanager.projects.get
权限。使用 liens list
gcloud 命令。
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
移除项目中的安全锁
如要从项目中移除安全锁,用户必须拥有 roles/owner
和 roles/resourcemanager.lienModifier
授予的 resourcemanager.projects.updateLiens
权限。
gcloud alpha resource-manager liens delete [LIEN_NAME]
其中:
- [LIEN_NAME] 是要删除的安全锁的名称。
引用
API 参考:REST 资源:安全锁