您可以使用 Google Cloud 项目安全锁来防止关键项目被意外或恶意删除。安全锁会阻止任何人删除项目,直到Organization Administrator或Project Owner移除安全锁。
Google Cloud 还可以自动应用留置权来保护您的资源。例如,如果您将一个项目中的服务账号附加到其他项目中的资源, Google Cloud 会为拥有 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=resourcemanager.projects.delete \ --reason=LIEN_REASON \ --origin=LIEN_ORIGIN
替换以下内容:
- PROJECT_ID:安全锁适用的项目的 ID。
- LIEN_REASON:关于此留置权存在原因的人类可读说明。请将此说明放在英文双引号内。示例:
"This project is protected by a lien"。 - LIEN_ORIGIN:表示发起安全锁的用户或系统的字符串。这是一个必填字段,但如果省略,系统会自动填充用户的电子邮件地址。
列出项目中的安全锁
如需列出应用于项目的所有安全锁,请使用 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 资源:安全锁