本文档适用于希望保护项目免遭删除的项目所有者 和组织管理员。
您可以为项目添加安全锁,以防止项目被删除,直到您移除该安全锁。这对于保护特别重要的项目非常有用。
安全锁还可以自动放置在项目中。例如,如果您允许 一个项目中的 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 资源:安全锁