IAM 主體

在 Identity and Access Management (IAM) 中,您可以控管「主體」的存取權。主體代表已向 Cloud de Confiance驗證的一或多個身分。

在政策中使用主體

如要在政策中使用主體,請按照下列步驟操作:

  1. 設定可辨識的身分。 Cloud de Confiance 設定身分是建立 Cloud de Confiance 可辨識身分的程序。您可以為使用者和工作負載設定身分。

    如要瞭解如何設定身分,請參閱下列文章:

  2. 判斷要使用的主要 ID。主體 ID 是您在政策中參照主體的方式。這個 ID 可以指單一身分或一組身分。

    您使用的主體 ID 格式取決於下列事項:

    • 主體類型
    • 要將主體納入的政策類型

    如要查看各類型政策中各類型主體的主體 ID 格式,請參閱「主體 ID」。

    瞭解 ID 格式後,您就能根據主體的屬性 (例如主體的電子郵件地址),判斷主體的專屬 ID。

  3. 在政策中加入主體的 ID。按照政策格式,將主體新增至政策。

    如要瞭解 IAM 中不同類型的政策,請參閱「政策類型」。

支援主體類型

每種 IAM 政策類型都支援 IAM 支援的部分主體類型。如要查看各項政策類型支援的主體類型,請參閱「主體 ID」。

主體類型

下表簡要說明 IAM 支援的不同主體類型。如要查看在政策中使用主體類型時的詳細說明和範例,請按一下表格中的主體類型名稱。

主體類型 說明 單一主體或主體組合 Google 管理或同盟 支援的政策類型
服務帳戶 這類帳戶是由機器工作負載使用,而非真人。 單一主體 Google 代管

下列政策類型支援服務帳戶:

  • 允許
  • 拒絕
allAuthenticatedUsers 這種特殊身分識別代表任何透過 Google 帳戶進行驗證的服務帳戶和使用者。

主體集,可包含下列主體類型:

  • Google 帳戶
  • 服務帳戶
  • 工作團隊身分
  • 工作負載身分
Google 代管

下列政策類型支援部分資源的 allAuthenticatedUsers

  • 允許

下列政策類型不支援 allAuthenticatedUsers

  • 拒絕
allUsers 這種特殊身分識別代表網際網路上的所有使用者,包括已驗證和未驗證的使用者。

主體集,可包含下列主體類型:

  • Google 帳戶
  • 服務帳戶
  • 工作團隊身分
  • 工作負載身分
兩者並用

下列政策類型支援 allUsers

  • 允許 (部分資源)
  • 拒絕
員工身分集區中的單一身分 身分由外部 IdP 管理,並透過員工身分聯盟連結的人類使用者。 單一主體 聯合

下列政策類型支援工作團隊身分集區中的單一身分:

  • 允許
  • 拒絕
工作團隊身分集區中的一組主體 一組人類使用者,其身分由外部 IdP 管理,並透過員工身分聯盟進行聯合。 包含員工身分的主體組合。 聯合

下列政策類型支援工作團隊身分集區中的一組主體:

  • 允許
  • 拒絕
workload identity pool 中的單一主體 工作負載 (或機器使用者) 的身分由外部 IdP 管理,並透過 Workload Identity 聯盟進行連結。 單一主體 聯合

下列政策類型支援 workload identity pool 中的單一主體:

  • 允許
  • 拒絕
workload identity pool 中的一組主體 一組工作負載 (或機器使用者),其身分由外部 IdP 管理,並透過 Workload Identity Federation 進行聯盟。 包含工作負載身分的主體集 聯合

下列政策類型支援 workload identity pool 中的一組主體:

  • 允許
  • 拒絕
一組 Google Kubernetes Engine Pod 在 GKE 上執行並透過 GKE 聯合的工作負載 (或機器使用者)。 主體集,可包含一或多個聯合工作負載身分 聯合

下列政策類型支援 GKE Pod:

  • 允許

下列政策類型不支援 GKE Pod:

  • 拒絕
代理商身分 經過嚴格驗證的代理功能工作負載身分會繫結至代理程式的生命週期。 單一主體 Google 代管

下列政策類型支援代理程式身分:

  • 允許
  • 拒絕
一組代理程式身分 代理程式身分集區中的所有代理程式身分。 包含代理程式身分的主體集。 Google 代管

下列政策類型支援一組代理程式身分:

  • 允許
  • 拒絕

下列各節將詳細說明這些主要類型。

服務帳戶

服務帳戶是應用程式或運算工作負載的帳戶,而非個別使用者的帳戶。服務帳戶可分為使用者代管服務帳戶和 Google 代管服務帳戶,後者稱為服務代理

  • 執行 Cloud de Confiance上託管的程式碼時,您可以指定要使用的服務帳戶做為應用程式的身分。您可以視需要建立多個使用者管理的服務帳戶,代表應用程式的不同邏輯元件。

  • 部分 Cloud de Confiance 服務需要存取您的資源,才能代表您執行動作。為滿足這項需求,Google 會建立及管理服務代理。

以下範例說明如何在不同類型的政策中識別服務帳戶:

  • 允許政策serviceAccount:my-service-account@my-project.s3ns.iam.gserviceaccount.com
  • 拒絕政策principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@my-project.s3ns.iam.gserviceaccount.com

如要進一步瞭解主體 ID 格式,請參閱「主體 ID」。

如要進一步瞭解服務帳戶,請參閱下列頁面:

allAuthenticatedUsers

allAuthenticatedUsers 值是一種特殊 ID,代表所有服務帳戶。

這類主體不包括由外部身分識別提供者 (IdP) 管理的聯盟身分。如要納入聯合身分,請使用下列其中一種選項:

部分資源類型不支援這個主體類型。

allUsers

allUsers 值是一個特殊識別碼,代表網際網路上的任何使用者,包括已驗證和未驗證的使用者。

部分資源類型不支援這個主體類型。

以下範例說明不同類型的政策中,allUsers ID 可能的樣貌:

  • 支援資源類型的允許政策allUsers
  • 拒絕政策principalSet://goog/public:all

如要進一步瞭解主體 ID 格式,請參閱「主體 ID」。

工作團隊身分集區中的聯合身分

員工身分集區是由外部 IdP 管理的一組使用者身分,並透過員工身分聯盟連結。您可以透過下列方式參照這些集區中的主體:

  • 工作團隊身分集區中的單一身分
  • 指定群組中的所有員工身分
  • 具有特定屬性值的所有員工身分
  • 員工身分集區中的所有身分

以下範例說明如何在不同類型的政策中,識別同盟工作人員身分集區:

  • 允許政策中的單一身分principal://iam.googleapis.com/locations/global/workforcePools/altostrat-contractors/subject/raha@altostrat.com
  • 拒絕政策中的身分群組principalSet://iam.googleapis.com/locations/global/workforcePools/altostrat-contractors/group/administrators-group@altostrat.com

如要進一步瞭解主體 ID 格式,請參閱「主體 ID」。

workload identity pool 中的聯合身分

工作負載身分集區是一組工作負載身分,由外部 IdP 管理,並使用 Workload Identity 聯盟進行連結。您可以透過下列方式參照這些集區中的主體:

  • workload identity pool 中的單一身分
  • 指定群組中的所有工作負載身分
  • 具有特定屬性值的所有工作負載身分
  • 特定 workload identity pool 中的所有身分

下列範例說明如何在不同類型的政策中,識別聯盟工作負載身分集區:

  • 允許政策中的單一身分principal://iam.googleapis.com/projects/123456789012/locations/global/workloadIdentityPools/altostrat-contractors/subject/raha@altostrat.com
  • 拒絕政策中的身分群組principalSet://iam.googleapis.com/projects/123456789012/locations/global/workloadIdentityPools/altostrat-contractors/group/administrators-group@altostrat.com

如要進一步瞭解主體 ID 格式,請參閱「主體 ID」。

GKE Pod

在 GKE 上執行的工作負載會使用 Workload Identity Federation for GKE Cloud de Confiance 存取服務。如要進一步瞭解 GKE Pod 的主體 ID,請參閱「在 IAM 政策中參照 Kubernetes 資源」。

以下範例說明如何在允許政策中,識別特定叢集中的所有 GKE Pod:

principalSet://iam.googleapis.com/projects/123456789012/locations/global/workloadIdentityPools/123456789012.s3ns.svc.id.goog/kubernetes.cluster/https://container.googleapis.com/v1/projects/123456789012/locations/global/clusters/example-gke-cluster

如要進一步瞭解主體 ID 格式,請參閱「主體 ID」。

代理身分

代理程式身分是 Google 管理的代理程式工作負載身分。代理程式身分會經過驗證,並與代理程式的生命週期繫結,因此相較於使用服務帳戶,這種方式更安全,可管理代理程式對 Cloud de Confiance 資源的存取權。

系統會自動為每個代理佈建代理身分。您可以使用 IAM 政策授予或拒絕資源的存取權。 Cloud de Confiance

以下範例說明如何在允許或拒絕政策中識別代理程式身分:

principal://agents.global.org-123456789012.system.id.goog/resources/aiplatform/projects/9876543210/locations/us-central1/reasoningEngines/my-test-agent

如要進一步瞭解主體 ID 格式,請參閱「主體 ID」。

後續步驟