使用 IAM 控管專案存取權

Identity and Access Management (IAM) 可讓您對特定 Cloud de Confiance by S3NS 資源授予精細的存取權,並防止他人擅自存取其他資源。這個模型可協助您採用最小權限原則,確保您只授予資源的必要存取權。

設定允許政策後,即可控管哪些使用者具備哪些資源的何種存取權 (角色)。如要管理專案存取權,請設定 IAM 角色和權限,或使用拒絕政策,防止主體使用特定權限。詳情請參閱「管理專案、資料夾和組織的存取權」。

如果您剛開始使用 Cloud de Confiance,可以在Cloud de Confiance 設定程序中建立資源階層結構,並授予初始存取權。

權限與角色

為控管資源存取權, Cloud de Confiance by S3NS 要求提出 API 要求的帳戶必須具備適當的 IAM 角色。IAM 角色包含權限,可讓使用者對Cloud de Confiance 資源執行特定動作。例如,resourcemanager.projects.delete 權限可讓使用者刪除專案。

您不會直接授予使用者權限,而是授予角色,其中包含一或多項權限。您可以在特定資源上授予這些角色,但這些角色也適用於資源階層中該資源的所有子系。

權限

如要管理專案,呼叫端必須具備包含下列權限的角色。在包含專案的組織資源或資料夾上授予角色:

方法 所需權限
resourcemanager.projects.create resourcemanager.projects.create
resourcemanager.projects.delete resourcemanager.projects.delete
resourcemanager.projects.get resourcemanager.projects.get
授予這項權限後,使用者也能透過 Billing API 方法 billing.projects.getBillingInfo 取得與專案相關聯的帳單帳戶名稱。
resourcemanager.projects.getIamPolicy resourcemanager.projects.getIamPolicy
resourcemanager.projects.list resourcemanager.projects.list
resourcemanager.projects.search resourcemanager.projects.get
resourcemanager.projects.setIamPolicy resourcemanager.projects.setIamPolicy
resourcemanager.projects.testIamPermissions 不需任何權限。
resourcemanager.projects.undelete resourcemanager.projects.undelete
resourcemanager.projects.patch 如要更新專案的中繼資料,必須具備 resourcemanager.projects.update 權限。如要更新專案的上層資源,並將專案移至組織資源,您必須具備組織資源的 resourcemanager.projects.create 權限。
projects.move projects.move

使用預先定義的角色

IAM 預先定義的角色可讓您管理使用者可用的權限。如要查看可在專案層級授予的角色完整清單,請參閱「瞭解角色」。

下表列出可用來授予專案存取權的預先定義角色。每個角色都會說明其用途和包含的權限。

角色 權限

(roles/resourcemanager.projectCreator)

提供建立新專案的權限。使用者建立專案後,系統會自動為使用者授予該專案的擁有者角色。

可授予這個角色的最低層級資源:

  • 資料夾

resourcemanager.organizations.get

resourcemanager.projects.create

(roles/resourcemanager.projectDeleter)

可刪除 Cloud de Confiance 專案。

可授予這個角色的最低層級資源:

  • 專案

resourcemanager.projects.delete

(roles/resourcemanager.projectMover)

提供更新和移動專案的權限。

可授予這個角色的最低層級資源:

  • 專案

resourcemanager.projects.get

resourcemanager.projects.move

resourcemanager.projects.update

(roles/resourcemanager.projectIamAdmin)

可管理專案的允許政策。

可授予這個角色的最低層級資源:

  • 專案

iam.policybindings.*

  • iam.policybindings.get
  • iam.policybindings.list

resourcemanager.projects.createPolicyBinding

resourcemanager.projects.deletePolicyBinding

resourcemanager.projects.get

resourcemanager.projects.getIamPolicy

resourcemanager.projects.searchPolicyBindings

resourcemanager.projects.setIamPolicy

resourcemanager.projects.updatePolicyBinding

(roles/browser)

瀏覽專案階層的讀取權限,包括資料夾、組織和允許政策。本角色不包含查看專案資源的權限。

可授予這個角色的最低層級資源:

  • 專案

resourcemanager.folders.get

resourcemanager.folders.list

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.getIamPolicy

resourcemanager.projects.list

基本角色

只在必要時使用基本角色。這些角色具備高度權限,可授予所有 Cloud de Confiance 服務的廣泛權限。如要進一步瞭解何時應使用基本角色,請參閱「基本角色」。

角色 說明 權限
roles/owner 所有資源的完整存取權。 所有資源的所有權限。
roles/editor 具備多數資源的編輯權限。 可建立及更新多數資源。
roles/viewer 具備多數資源的讀取權限。 可取得及列出大多數資源。

建立自訂角色

除了本主題所述的預先定義角色外,您也可以建立自訂角色,也就是根據需求自訂的權限集合。建立要與 Resource Manager 搭配使用的自訂角色時,請注意下列事項:
  • 列出和取得權限 (例如 resourcemanager.projects.get/list) 應一律成對授予。
  • 如果自訂角色包含 folders.list 和 folders.get 權限,也應包含 projects.list 和 projects.get。
  • 請注意,如果使用者具備組織、資料夾和專案資源的 setIamPolicy 權限,就能授予所有其他權限,因此請謹慎指派。

專案層級的存取控管

您可以使用 Cloud de Confiance console、Cloud Resource Manager API 和 Google Cloud CLI,在專案層級授予使用者角色。如需操作說明,請參閱「授予、變更及撤銷存取權」。

預設角色

建立專案時,您會獲得 roles/owner 角色,可完整控管專案。您可以在允許政策中變更這項預設角色。

VPC Service Controls

使用 Cloud Resource Manager API 時,VPC Service Controls 可提供額外安全性。如要進一步瞭解 VPC Service Controls,請參閱 VPC Service Controls 總覽。

如要瞭解目前搭配使用 Resource Manager 與 VPC Service Controls 的限制,請參閱支援的產品和限制頁面。