本页面介绍了如何在入站流量规则和出站流量规则中使用身份群组和第三方身份。
本页包含以下示例,展示了如何在入站流量规则和出站流量规则中使用身份群组:
- 允许 Cloud Run 通过互联网访问身份群组成员,以及从列入许可名单的 IP 地址范围访问特定服务账号。
允许 Cloud Run 访问身份群组成员和特定服务账号
下图显示了来自特定身份群组且 IP 地址位于列入许可名单的 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