在入站流量和出站流量规则中使用身份群组和第三方身份的示例

本页面介绍了如何在入站流量规则和出站流量规则中使用身份群组和第三方身份

本页包含以下示例,展示了如何在入站流量规则和出站流量规则中使用身份群组:

  • 允许 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 命令描述服务边界

在此示例中,我们还假设您已定义以下资源:

  • 一个名为 [email protected] 的身份群组,其中包含您希望在边界内向其提供 Cloud Run 访问权限的用户。
  • 在与服务边界相同的访问权限政策中,有一个名为 CorpDatacenters 的访问权限级别。CorpDatacenters 包含企业数据中心中允许服务账号发出请求的许可 IP 地址范围。

以下入站流量政策 ingress.yaml 允许 Cloud Run 访问特定的用户账号(属于 [email protected] 群组)和特定的服务账号,并限制仅在许可 IP 地址范围内访问:

- ingressFrom:
    identities:
    - serviceAccount:[email protected]
    sources:
    - accessLevel: accessPolicies/222/accessLevels/CorpDatacenters
  ingressTo:
    operations:
    - serviceName: run.googleapis.com
      methodSelectors:
      - method: "*"
    resources:
    - "*"
- ingressFrom:
    identities:
    - group:[email protected]
    sources:
    - accessLevel: "*"
  ingressTo:
    operations:
    - serviceName: run.googleapis.com
      methodSelectors:
      - method: "*"
    resources:
    - "*"

如需应用入站流量规则,请运行以下命令:

gcloud access-context-manager perimeters update Example --set-ingress-policies=ingress.yaml

后续步骤