使用 IAM 进行访问权限控制
  
      
    
  
  
  
  
  
    
  
  
    
    
    
    
  
本页介绍可用于配置 Secret Manager 的 Identity and Access Management (IAM) 角色。角色可限制主账号访问资源的权限。请始终授予执行给定任务所需的最低权限集。
Secret Manager 角色
以下是与 Secret Manager 关联的 IAM 角色。如需了解如何使用 IAM 角色授予、更改或撤消对资源的访问权限,请参阅授予、更改和撤消对资源的访问权限。
  
  
| Role | Permissions | 
| Secret Manager Admin
(roles/secretmanager.admin) 
Full access to administer Secret Manager resources.
 Lowest-level resources where you can grant this role: | 
      cloudkms.keyHandles.* 
      cloudkms.keyHandles.createcloudkms.keyHandles.getcloudkms.keyHandles.list cloudkms.operations.get
 cloudkms.projects.showEffectiveAutokeyConfig
 resourcemanager.projects.get
 resourcemanager.projects.list
 
      secretmanager.* 
      secretmanager.locations.getsecretmanager.locations.listsecretmanager.secrets.createsecretmanager.secrets.createTagBindingsecretmanager.secrets.deletesecretmanager.secrets.deleteTagBindingsecretmanager.secrets.getsecretmanager.secrets.getIamPolicysecretmanager.secrets.listsecretmanager.secrets.listEffectiveTagssecretmanager.secrets.listTagBindingssecretmanager.secrets.setIamPolicysecretmanager.secrets.updatesecretmanager.versions.accesssecretmanager.versions.addsecretmanager.versions.destroysecretmanager.versions.disablesecretmanager.versions.enablesecretmanager.versions.getsecretmanager.versions.list | 
| Secret Manager Secret Accessor
(roles/secretmanager.secretAccessor) 
Allows accessing the payload of secrets.
 Lowest-level resources where you can grant this role: | resourcemanager.projects.get
 resourcemanager.projects.list
 secretmanager.versions.access
 | 
| Secret Manager Secret Version Adder
(roles/secretmanager.secretVersionAdder) 
Allows adding versions to existing secrets.
 Lowest-level resources where you can grant this role: | resourcemanager.projects.get
 resourcemanager.projects.list
 secretmanager.versions.add
 | 
| Secret Manager Secret Version Manager
(roles/secretmanager.secretVersionManager) 
Allows creating and managing versions of existing secrets.
 Lowest-level resources where you can grant this role: | resourcemanager.projects.get
 resourcemanager.projects.list
 secretmanager.versions.add
 secretmanager.versions.destroy
 secretmanager.versions.disable
 secretmanager.versions.enable
 secretmanager.versions.get
 secretmanager.versions.list
 | 
| Secret Manager Viewer
(roles/secretmanager.viewer) 
Allows viewing metadata of all Secret Manager resources
 Lowest-level resources where you can grant this role: | resourcemanager.projects.get
 resourcemanager.projects.list
 
      secretmanager.locations.* 
      secretmanager.locations.getsecretmanager.locations.list secretmanager.secrets.get
 secretmanager.secrets.getIamPolicy
 secretmanager.secrets.list
 secretmanager.secrets.listEffectiveTags
 secretmanager.secrets.listTagBindings
 secretmanager.versions.get
 secretmanager.versions.list
 | 
最小权限原则
  
当您遵循最小权限原则时,您将为执行特定任务所需的资源授予最低级别的访问权限。例如,如果主账号需要访问单个密文,请勿向该主账号授予对项目或组织中其他密文或所有密文的访问权限。如果主账号只需要读取密文,请勿向该主账号授予修改密文的权限。
您可以使用 IAM 在 Google Cloud 密文、项目、文件夹或组织级别授予 IAM 角色和权限。始终在资源层次结构中应用最低级别的权限。
下表根据授予了 Secret Manager Secret Accessor 角色 (roles/secretmanager.secretAccessor) 的资源层次结构级别,提供了服务账号的有效功能。
  
    
      | 资源层次结构 | 能力 | 
  
  
    
      | 密文 | 仅访问该密文 | 
    
      | 项目 | 访问项目中的所有密文 | 
    
      | 文件夹 | 访问文件夹中所有项目中的所有密文 | 
    
      | 组织 | 访问组织的所有项目中的所有密文 | 
  
 角色 roles/owner 包含 `secretmanager.versions.access` 权限,但 roles/editor 和 roles/viewer 则不含。
如果主账号只需要访问单个密文的值,请勿向该主账号授予访问所有密文的权限。例如,您可以为服务账号授予单个 Secret Manager Secret Accessor 角色 (roles/secretmanager.secretAccessor)。
如果主账号只需要管理单个密文,请勿向该主账号授予管理所有密文的权限。例如,您可以向服务账号授予对单个 Secret Manager 密文的 Admin 角色 (roles/secretmanager.admin)。
IAM Conditions
IAM Conditions 允许您为某些 Google Cloud 资源(包括 Secret Manager 资源)定义和强制执行基于属性的条件访问权限控制。
在 Secret Manager 中,您可以根据以下属性强制执行条件访问权限:
  - 日期/时间属性:用于设置 Secret Manager 资源的可过期、定期或限制时长的访问权限。例如,您可以允许用户访问某个密文,直到指定日期为止。
- 资源属性:用于根据资源名称、资源类型或资源服务属性配置有条件访问权限。在 Secret Manager 中,您可以使用密文和密文版本的属性来配置条件访问权限。例如,您可以允许用户仅管理以特定前缀开头的密文,或仅允许访问特定密文版本。
如需详细了解 IAM 条件,请参阅条件概览。
后续步骤
  
  
  
  
    
  
  
 
  
    
    
      
       
         
  
       
    
    
  
  
  如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
  最后更新时间 (UTC):2025-10-24。
  
  
    
    
    
      
  
    
  
  
    
      [[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-10-24。"],[],[]]