使用 IAM 控管存取權

本頁面說明 Infrastructure Manager 角色和權限。

Infra Manager 會使用 身分與存取權管理 (IAM) 控管服務的存取權。如要授予使用 Infra Manager 部署資源的存取權,請將所需的 Infra Manager IAM 角色指派給您用來呼叫 Infra Manager 的服務帳戶。如要進一步瞭解如何授予服務帳戶權限,請參閱「管理服務帳戶的存取權」。

您不需要服務帳戶,即可查看 Infra Manager 部署作業、修訂版本和 IAM 政策。如要查看 Infra Manager,請授予使用者、群組或服務帳戶存取權。

如要部署或查看 Terraform 設定中定義的 Google Cloud 資源,您必須授予服務帳戶這些資源專屬的權限。除了本頁所列的 Infra Manager 權限外,您還需要這些權限。如需所有角色及其權限的清單,請參閱「身分與存取權管理基本和預先定義角色參考資料」。

預先定義的基礎架構管理員角色

IAM 提供預先定義的角色,這些角色會授予特定 Google Cloud 資源的存取權,防止其他資源遭到未經授權的存取。

下表列出 Infra Manager IAM 角色,以及這些角色具備的權限:

角色 說明 權限
Infra Manager 管理員 (roles/config.admin) 使用者可完全控管 Infra Manager 資源 config.deployments.create
config.deployments.delete
config.deployments.get
config.deployments.getIamPolicy
config.deployments.list
config.deployments.setIamPolicy
config.deployments.update
config.previews.create
config.previews.delete
config.previews.get
config.previews.list
config.previews.export
config.previews.upload
config.locations.get
config.locations.list
config.operations.cancel
config.operations.delete
config.operations.get
config.operations.list
config.resources.get
config.resources.list
config.revisions.get
config.revisions.list
config.artifacts.import
config.terraformversions.get
config.terraformversions.list
resourcemanager.projects.get
resourcemanager.projects.list
Infra Manager 服務代理人 (roles/config.agent) 提供服務帳戶存取權,以便使用 Infra Manager,包括部署、修訂、記錄和 Terraform 狀態檔案。 storage.buckets.get
storage.buckets.list
storage.buckets.create
storage.buckets.update
storage.buckets.delete
storage.objects.get
storage.objects.list
storage.objects.create
storage.objects.update
storage.objects.delete
logging.logEntries.create
config.deployments.getState
config.deployments.updateState
config.deployments.deleteState
config.deployments.getLock
config.previews.upload
config.artifacts.import
config.revisions.getState
cloudbuild.connections.list
cloudbuild.repositories.accessReadToken
cloudbuild.repositories.list
Infra Manager 服務帳戶 (roles/cloudconfig.serviceAgent) 啟用 Infra Manager API 時,系統會在專案中自動建立 Infra Manager 服務帳戶,並授予專案資源這個角色。在建立、管理或刪除部署和修訂版本時,基礎架構管理員服務帳戶只會在需要時使用這個角色執行動作。 cloudbuild.builds.get
cloudbuild.builds.list
cloudbuild.builds.create
cloudbuild.builds.update
cloudbuild.workerpools.use
storage.buckets.get
storage.buckets.list
storage.buckets.create
storage.buckets.update
storage.buckets.delete
storage.objects.get
storage.objects.list
storage.objects.create
storage.objects.update
storage.objects.delete
Infra Manager Viewer (roles/config.viewer) 讀取部署、修訂版本和 IAM 政策。 config.deployments.get
config.deployments.getIamPolicy
config.deployments.list
config.previews.get
config.previews.list
config.locations.get
config.locations.list
config.operations.get
config.operations.list
config.resources.get
config.resources.list
config.revisions.get
config.revisions.list
config.terraformversions.get
config.terraformversions.list
resourcemanager.projects.get
resourcemanager.projects.list

除了 Infra Manager 預先定義的角色外,基本檢視者和擁有者角色也包含與 Infra Manager 相關的權限。不過,建議您盡可能授予預先定義的角色,以符合最低權限安全性原則

下表列出基本角色,以及這些角色所具備的 Infra Manager 身分與存取權管理角色。

角色 包含角色
檢視者 roles/config.viewer
擁有者 roles/config.admin

權限

REST API 參考資料列出了呼叫者在呼叫每個方法時必須具備的權限。

後續步驟