IAM 主账号

在 Identity and Access Management (IAM) 中,您可以控制主账号的访问权限。主账号代表已向 Cloud de Confiance进行身份验证的一个或多个身份。

在政策中使用主账号

如需在政策中使用主账号,请执行以下操作:

  1. 配置 Cloud de Confiance 可识别的身份。配置身份是指创建 Cloud de Confiance 可识别的身份的过程。您可以为用户和工作负载配置身份。

    如需了解如何配置身份,请参阅以下内容:

  2. 确定您将使用的主账号标识符。主账号标识符是指您在政策中引用主账号的方式。此标识符可以引用单一身份或一组身份。

    您为主账号标识符使用的格式取决于以下因素:

    • 主账号类型
    • 您要将主账号添加到其中的政策类型

    如需查看每种政策中每种主账号类型的主账号标识符格式,请参阅主账号标识符

    了解标识符的格式后,您可以根据主账号的属性(例如主账号的电子邮件地址)确定主账号的唯一标识符。

  3. 在政策中添加主账号的标识符。按照政策的格式,将您的主账号添加到您的政策中。

    如需了解 IAM 中的不同类型的政策,请参阅政策类型

对主账号类型的支持

每种 IAM 政策类型都支持 IAM 支持的一部分主账号类型。如需查看每种政策类型支持的主账号类型,请参阅主账号标识符

主账号类型

下表简要介绍了 IAM 支持的不同主账号类型。如需详细了解如何在政策中使用主账号类型,并查看相关示例,请点击表格中的主账号类型名称。

主账号类型 说明 单个主账号或主账号集 Google 管理的身份或联合身份 政策类型支持
服务账号 由机器工作负载(而非真人)使用的账号。 单个主账号 由 Google 管理

以下政策类型支持服务账号:

  • 允许
  • 拒绝
一组服务账号 项目、文件夹或组织中的所有服务账号。 包含服务账号的主账号集。 由 Google 管理

以下政策类型支持一组服务账号:

  • 允许
  • 拒绝
一组服务代理 与项目、文件夹或组织关联的所有 Google 代管式服务账号(服务代理)。 包含服务代理的主账号集。 由 Google 管理

以下政策类型支持一组服务代理:

  • 拒绝

以下政策类型不支持设置服务代理:

  • 允许
allAuthenticatedUsers 一个特殊的标识符,表示所有服务账号和互联网上已使用 Google 账号进行身份验证的真人用户。

可包含以下主账号类型的主账号集:

  • Google 账号
  • 服务账号
  • 员工身份
  • 工作负载身份
由 Google 管理

以下政策类型支持部分资源的 allAuthenticatedUsers

  • 允许

以下政策类型不支持 allAuthenticatedUsers

  • 拒绝
allUsers 一个特殊的标识符,表示互联网上的任何用户(无论是否经过身份验证)。

可包含以下主账号类型的主账号集:

  • Google 账号
  • 服务账号
  • 员工身份
  • 工作负载身份
两者

以下政策类型支持 allUsers

  • 允许(针对部分资源)
  • 拒绝
员工身份池中的单个身份 身份由外部 IdP 管理并使用员工身份联合进行联合的人类用户。 单个主账号 是否通过关联的第三方登录

以下政策类型支持员工身份池中的单个身份:

  • 允许
  • 拒绝
员工身份池中的一组主账号 一组人类用户,其身份由外部 IdP 管理并使用员工身份联合进行联合。 包含员工身份的主账号集。 是否通过关联的第三方登录

以下政策类型支持员工身份池中的一组主账号:

  • 允许
  • 拒绝
工作负载身份池中的单个主账号 工作负载(或机器用户)的身份由外部 IdP 管理,并使用工作负载身份联合进行联合。 单个主账号 是否通过关联的第三方登录

以下政策类型支持工作负载身份池中的单个主账号:

  • 允许
  • 拒绝
工作负载身份池中的一组主账号 一组工作负载(或机器用户),其身份由外部 IdP 管理,并使用工作负载身份联合进行联合。 包含工作负载身份的主账号集 是否通过关联的第三方登录

以下政策类型支持工作负载身份池中的一组主账号:

  • 允许
  • 拒绝
一组 Google Kubernetes Engine Pod 在 GKE 上运行并通过 GKE 进行联合的工作负载(或机器用户)。 可包含一个或多个联合工作负载身份的主账号集 是否通过关联的第三方登录

以下政策类型支持 GKE pod:

  • 允许

以下政策类型不支持 GKE Pod:

  • 拒绝

以下部分将详细介绍这些主账号类型。

服务账号

服务账号是针对应用或计算工作负载(而非单个最终用户)的账号。服务账号可分为用户管理的服务账号和 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

以下示例展示了如何在不同类型的政策中识别项目、文件夹或组织的所有服务账号:

  • 允许政策中某个项目的所有服务账号principalSet://cloudresourcemanager.googleapis.com/projects/123456789012/type/ServiceAccount
  • 拒绝政策中与文件夹关联的所有服务代理principalSet://cloudresourcemanager.googleapis.com/folders/123456789012/type/ServiceAgent

如需详细了解主账号标识符格式,请参阅主账号标识符

如需详细了解服务账号,请参阅以下页面:

allAuthenticatedUsers

allAuthenticatedUsers 是一个特殊的标识符,表示所有服务账号。

此主账号类型不包含由外部身份提供方 (IdP) 管理的联合身份。如需添加联合身份,请使用以下选项之一:

某些资源类型不支持此主账号类型。

allUsers

allUsers 是一个特殊的标识符,表示互联网上的任何用户,包括经过身份验证和未经过身份验证的用户。

某些资源类型不支持此主账号类型。

以下示例展示了 allUsers 标识符在不同类型的政策中的显示方式:

  • 支持的资源类型上的允许政策allUsers
  • 拒绝政策principalSet://goog/public:all

如需详细了解主账号标识符格式,请参阅主账号标识符

员工身份池中的身份

员工身份池是指由外部 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

如需详细了解主账号标识符格式,请参阅主账号标识符

工作负载身份池中的身份

工作负载身份池是指由外部 IdP 管理且使用工作负载身份联合进行联合的一组工作负载身份。您可以通过以下方式引用这些池中的主账号:

  • 工作负载身份池中的单一身份
  • 指定群组中的所有工作负载身份
  • 具有特定属性值的所有工作负载身份
  • 工作负载身份池中的所有身份

以下示例展示了如何在不同类型的政策中识别联合工作负载身份池:

  • 允许政策中的单个身份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

如需详细了解主账号标识符格式,请参阅主账号标识符

GKE Pod

在 GKE 上运行的工作负载使用 Workload Identity Federation for GKE 来访问 Cloud de Confiance 服务。如需详细了解 GKE Pod 的主账号标识符,请参阅在 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

如需详细了解主账号标识符格式,请参阅主账号标识符

后续步骤