本文档适用于希望针对项目删除添加保护措施的项目所有者和组织管理员。
您可以为项目添加安全锁,以防止项目被删除,直到您移除该安全锁。这对于保护特别重要的项目非常有用。
安全锁还可以自动放置在项目中。例如,如果您允许一个项目中的 Identity and Access Management (IAM) 服务账号附加到其他项目中的资源,则系统会为服务账号所在的项目设置安全锁。
准备工作
gcloud CLI 是与项目安全锁进行交互的最简单方法。如果您尚未安装该工具,可以使用 Google Cloud Shell。
所需的角色
如需获取修改安全锁所需的权限,请让管理员向您授予项目的项目安全锁修饰符 (roles/resourcemanager.lienModifier
) IAM 角色。如需详细了解如何授予角色,请参阅管理访问权限。
此预定义角色包含修改安全锁所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
修改安全锁需要以下权限:
-
resourcemanager.projects.updateLiens
-
列出项目的安全锁:
resourcemanager.projects.get
为项目添加安全锁
如需为项目添加安全锁,请使用 alpha resource-manager liens create
命令。
gcloud alpha resource-manager liens create \ --project=[PROJECT_NAME] --restrictions=[PERMISSION_RESTRICTION] \ --reason=[LIEN_REASON] --origin=[LIEN_ORIGIN]
替换以下内容:
- [PROJECT_NAME]:要应用安全锁的项目的名称。
- [PERMISSION_RESTRICTION]:要阻止的 IAM 权限的逗号分隔列表。对项目的唯一有效限制是
resourcemanager.projects.delete
。 - [LIEN_REASON]:关于为何存在此安全锁的人类可读说明。
- [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] 替换为要删除的安全锁的名称,例如 liens/p1061081023732-l3d8032b3-ea2c-4683-ad48-5ca23ddd00e7
。
参考
API 参考:REST 资源:安全锁