Identity and Access Management (IAM) 角色决定了使用 Secret Manager API 的方式。下面列出了 Secret Manager 可用的每个 IAM 角色以及可授予该角色的功能。
角色 | 名称 | 说明 | 权限 | 最低资源要求 |
---|---|---|---|---|
roles/ |
Secret Manager Admin | 拥有管理 Secret Manager 资源所需的完整访问权限。 |
|
密钥 |
roles/ |
Secret Manager Secret Accessor | 允许访问密钥的载荷。 |
|
密钥 |
roles/ |
Secret Manager Secret Version Adder | 允许向现有密钥添加版本。 |
|
密钥 |
roles/ |
Secret Manager Secret Version Manager | 允许创建和管理现有密钥的版本。 |
|
密钥 |
roles/ |
Secret Manager Viewer | 允许查看所有 Secret Manager 资源的元数据 |
|
密钥 |
最小权限原则
当您遵循最小权限原则时,您将为执行特定任务所需的资源授予最低级别的访问权限。例如,如果成员需要访问单个密文,请勿向该成员授予对项目或组织中其他密文或所有密文的访问权限。如果成员只需要读取密文,请勿向该成员修改密文。
您可以使用 IAM 在 Google Cloud 密文、项目、文件夹或组织级别授予 IAM 角色和权限。始终在资源层次结构中应用最低级别的权限。
此表根据授予了 Secret Manager Secret Accessor 角色 (roles/secretmanager.secretAccessor
) 的资源层次结构级别,提供了服务帐号的有效功能。
资源层次结构 | 能力 |
---|---|
密文 | 仅访问该密文 |
项目 | 访问项目中的所有密文 |
文件夹 | 访问文件夹中所有项目中的所有密文 |
组织 | 访问组织的所有项目中的所有密文 |
如果成员只需要访问单个密文的值,请不要向该成员授予访问所有密文的权限。例如,您可以为服务帐号授予单个 Secret Manager Secret Accessor 角色 (roles/secretmanager.secretAccessor
)。
如果成员只需要管理单个密文,请不要授予该成员管理所有密文的权限。例如,您可以向单个密文授予服务帐号 Secret Admin 角色 (roles/secretmanager.admin
)。
IAM Conditions
IAM Conditions 允许您为某些 Google Cloud 资源(包括 Secret Manager 资源)定义和强制执行基于属性的条件访问权限控制。
在 Secret Manager 中,您可以根据以下属性强制执行条件访问权限:
- 日期/时间属性:用于设置 Secret Manager 资源的可过期、定期或限制时长的访问权限。例如,您可以允许用户访问某个密文,直到指定日期为止。
- 资源属性:用于根据资源名称、资源类型或资源服务属性配置条件访问权限。在 Secret Manager 中,您可以使用密文和密文版本的属性来配置条件访问权限。例如,您可以允许用户仅管理以特定前缀开头的密文,或仅允许访问特定密文版本。
如需详细了解 IAM 条件,请参阅条件概览。
后续步骤
- 了解如何管理密文的访问权限。
- 了解如何通过创建和管理自定义角色管理 Secret Manager 资源时,应用最小权限原则。
- 了解 IAM Conditions。