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

本页介绍了如何在入站规则和出站规则中使用身份组和第三方身份。在入站和出站规则中使用第三方身份功能目前处于预览阶段。

本页面包含在入站规则和出站规则中使用身份组的以下示例:

  • 允许 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

后续步骤