使用 IAM 控管存取權
  
      
    
  
  
  
  
  
    
  
  
    
    
    
    
   
本頁說明可用於設定 Secret Manager 的 Identity and Access Management (IAM) 角色。角色會限制主體存取資源的能力。一律只授予執行特定工作所需的最低權限。
Secret 管理員角色
以下是與 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 密鑰存取者角色 (roles/secretmanager.secretAccessor) 授予服務帳戶。
如果主體只需要管理單一密鑰,請勿授予該主體管理所有密鑰的權限。舉例來說,您可以為單一密鑰授予服務帳戶 Secret Manager 管理員角色 (roles/secretmanager.admin)。
IAM 條件
IAM 條件可讓您針對部分 Google Cloud 資源 (包括 Secret Manager 資源),定義及強制執行條件式、屬性式存取控管機制。
在 Secret Manager 中,您可以根據下列屬性強制執行條件式存取權:
  - 日期/時間屬性:
  可用來為 Secret Manager 資源設定有期限、已排定或限時等各類存取。舉例來說,您可以允許使用者存取密鑰,直到指定日期為止。
- 資源屬性:
  根據資源名稱、資源類型或資源服務屬性設定條件式存取權。在 Secret Manager 中,您可以使用密鑰和密鑰版本的屬性設定條件式存取權。舉例來說,您可以允許使用者只管理開頭為特定前置字元的密鑰版本,或只允許使用者存取特定密鑰版本。
如要進一步瞭解 IAM 條件,請參閱條件總覽。
後續步驟
  
  
  
  
    
  
  
 
  
    
    
      
       
         
  
       
    
    
  
  
  除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
  上次更新時間: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"]],["上次更新時間:2025-10-24 (世界標準時間)。"],[],[]]