本頁說明如何在 Ingress 和 Egress 規則中使用身分群組和第三方身分。
本頁包含下列範例,說明如何在輸入和輸出規則中使用身分群組:
- 允許 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:
- "*"
如要套用 Ingress 規則,請執行下列指令:
gcloud access-context-manager perimeters update Example --set-ingress-policies=ingress.yaml