בדף הזה מוסבר איך משתמשים בקבוצות זהויות ובזהויות של צד שלישי בכללי תעבורת נתונים נכנסת (ingress) ותעבורת נתונים יוצאת (egress).
בדף הזה מופיעה דוגמה לשימוש בקבוצות זהויות בכללי תעבורת נתונים נכנסת (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
כדי למצוא פרטים על גבול גזרה לשירות קיים בארגון, מתארים את גבול הגזרה לשירות באמצעות ה-CLI של gcloud.
בדוגמה הזו, אנחנו גם מניחים שהגדרתם את המשאבים הבאים:
- קבוצת זהויות בשם
allowed-users@example.comשכוללת משתמשים שרוצים לתת להם גישה ל-Cloud Run בתוך ההיקף. - רמת גישה בשם
CorpDatacentersבאותו מדיניות גישה כמו גבולות גזרה לשירות. CorpDatacentersכולל טווח של כתובות IP ברשימת ההיתרים של מרכזי הנתונים הארגוניים, שממנו יכולות להגיע בקשות מחשבונות שירות.
מדיניות ה-Ingress הבאה, 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