本頁說明可用於設定 Secret Manager 的 Identity and Access Management (IAM) 角色。角色會限制主體存取資源的能力。一律只授予執行特定工作所需的最低權限。
Secret 管理員角色
以下是與 Secret Manager 相關聯的 IAM 角色。如要瞭解如何使用 IAM 角色授予、變更或撤銷資源存取權,請參閱「授予、變更及撤銷資源存取權」。
| Role | Permissions |
|---|---|
Secret Manager Admin( Full access to administer Secret Manager resources. Lowest-level resources where you can grant this role:
|
|
Secret Manager Editor( Editor role for Secret Manager |
|
Secret Manager Secret Accessor( Allows accessing the payload of secrets. Lowest-level resources where you can grant this role:
|
|
Secret Manager Viewer( Allows viewing metadata of all Secret Manager resources Lowest-level resources where you can grant this role:
|
|
Secret Manager Secret Version Adder( Allows adding versions to existing secrets. Lowest-level resources where you can grant this role:
|
|
Secret Manager Secret Version Manager( Allows creating and managing versions of existing secrets. Lowest-level resources where you can grant this role:
|
|
最低權限原則
遵循最低權限原則時,您會授予執行特定工作所需的最低資源存取權。舉例來說,如果主體只需要存取單一密鑰,請勿授予該主體存取專案或機構中其他密鑰或所有密鑰的權限。如果主體只需要讀取密鑰,請勿授予該主體修改密鑰的權限。
您可以使用 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 條件,請參閱條件總覽。