本页介绍了如何在入站规则和出站规则中使用身份组和第三方身份。在入站和出站规则中使用第三方身份功能目前处于预览阶段。
本页面包含在入站规则和出站规则中使用身份组的以下示例:
- 允许 Cloud Run 通过互联网访问身份群组的成员,以及访问许可名单中的 IP 地址范围中的特定服务账号。
允许 Cloud Run 访问身份群组的成员和特定服务账号
下图显示了来自特定身份组且位于许可名单 IP 地址范围内的用户如何访问服务边界内的 Cloud Run:
假设您已定义以下服务边界:
name: accessPolicies/222/servicePerimeters/Example status: resources: - projects/111 restrictedServices: - run.googleapis.com - artifactregistry.googleapis.com vpcAccessibleServices: enableRestriction: true allowedServices: - RESTRICTED_SERVICES title: Example
如需查找贵组织中现有服务边界的详细信息,请使用 gcloud CLI 命令描述服务边界。
在此示例中,我们还假设您已定义以下资源:
- 一个名为
allowed-users@example.com
的身份组,其中包含您要向其授予边界内 Cloud Run 访问权限的用户。 - 与服务边界位于同一访问权限政策中的名为
CorpDatacenters
的访问权限级别。CorpDatacenters
包含企业数据中心的已列入许可名单的 IP 地址范围,服务账号的请求可以从该范围发起。
以下入站政策 (ingress.yaml
) 允许 Cloud Run 访问属于 allowed-users@example.com
群组的特定用户账号以及特定服务账号(仅限列入许可名单的 IP 地址范围):
- ingressFrom: identities: - serviceAccount:my-sa@my-project.iam.gserviceaccount.com sources: - accessLevel: accessPolicies/222/accessLevels/CorpDatacenters ingressTo: operations: - serviceName: run.googleapis.com methodSelectors: - method: "*" resources: - "*" - ingressFrom: identities: - group:allowed-users@example.com sources: - accessLevel: "*" ingressTo: operations: - serviceName: run.googleapis.com methodSelectors: - method: "*" resources: - "*"
如需应用入站规则,请运行以下命令:
gcloud access-context-manager perimeters update Example --set-ingress-policies=ingress.yaml