בקרת גישה מבוססת-הקשר עם כללי כניסה

הגדרות של כללי כניסה לבקרת גישה מבוססת-הקשר מאפשרות גישה למשאבים על סמך מאפייני לקוח כמו מקור הרשת (כתובת IP או רשת VPC), סוג הזהות (חשבון שירות או משתמש), זהות ונתוני מכשיר. הגישה מוגדרת על ידי כללים לתעבורת נתונים נכנסת (ingress).

סקירה כללית על כללים לתעבורת נתונים נכנסת ויוצאת מופיעה במאמר כללים לתעבורת נתונים נכנסת ויוצאת.

הוראות להחלת מדיניות של כללים לתעבורת נתונים נכנסת (ingress) ויוצאת (egress) מפורטות במאמר הגדרת מדיניות לתעבורת נתונים נכנסת ויוצאת.

דוגמאות להגדרות של תרחישי שימוש בבקרת גישה מבוססת-הקשר

בקטע הזה מופיעות דוגמאות לבקרת גישה מבוססת-הקשר:

  1. מתן אפשרות למשתמשים אנושיים לגשת ל-BigQuery מהאינטרנט, ורק לחשבונות שירות ספציפיים לגשת מטווח IP מוגדר
  2. מתן אפשרות לעובדים להריץ שאילתות ב-BigQuery ממכשירים מהימנים דרך האינטרנט, ולחשבון שירות ספציפי לטעון נתונים באופן פרטי לקטגוריה של Cloud Storage (נתוני מקור)

מתן אפשרות למשתמשים אנושיים לגשת ל-BigQuery מהאינטרנט, ורק לחשבונות שירות ספציפיים לגשת מטווח IP מוגדר

תעבורה נכנסת ממשתמשים ומרשתות מוכרים

נניח שהגדרתם את ההיקף הבא, שמופיע ברשימת ההיקפים באמצעות gcloud:

name: accessPolicies/222/servicePerimeters/Example
status:
  resources:
  - projects/111
  restrictedServices:
  - bigquery.googleapis.com
  - storage.googleapis.com
  vpcAccessibleServices:
    enableRestriction: true
    allowedServices:
    - RESTRICTED_SERVICES
title: Example

אנחנו גם מניחים שרמת גישה בשם CorpDatacenters הוגדרה. בדוגמה הזו, CorpDatacenters היא רשימת היתרים של טווח כתובות IP של מרכזי נתונים ארגוניים, שחשבונות שירות יכולים לגשת אליהם.

זוהי מדיניות כיוונית שמאפשרת גישה לכל בני האדם ולסט ספציפי של חשבונות שירות, ומוגבלת לסט מסוים של כתובות IP (מוגדרת לפי רמת גישה):

echo """
- ingressFrom:
    identities:
    - serviceAccount:my-sa@my-project.iam.gserviceaccount.com
    sources:
    - accessLevel: accessPolicies/222/accessLevels/CorpDatacenters
  ingressTo:
    operations:
    - serviceName: bigquery.googleapis.com
      methodSelectors:
      - method: \"*\"
    resources:
    - \"*\"
- ingressFrom:
    identityType: ANY_USER_ACCOUNT
    sources:
    - accessLevel: \"*\"
  ingressTo:
    operations:
    - serviceName: bigquery.googleapis.com
      methodSelectors:
      - method: \"*\"
    resources:
    - \"*\"
""" > ingress.yaml

מריצים את הפקודה הבאה כדי להחיל את כללי הכניסה:

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

איך מאפשרים לעובדים להריץ שאילתות ב-BigQuery ולטעון נתונים באופן פרטי לקטגוריה של Cloud Storage

כניסה ממכשירים ומרשתות מוכרים

נניח שהגדרתם את ההיקף הבא, שמופיע ברשימת ההיקפים באמצעות gcloud:

name: accessPolicies/222/servicePerimeters/Example
status:
  resources:
  - projects/111
  restrictedServices:
  - bigquery.googleapis.com
  - storage.googleapis.com
  vpcAccessibleServices:
    enableRestriction: true
    allowedServices:
    - RESTRICTED_SERVICES
title: Example

זוהי מדיניות חד-כיוונית שמאפשרת לאנשים לגשת לתצוגות של BigQuery ממכשירים מהימנים (באמצעות רמת גישה) ולחשבון שירות ספציפי פרטי לגשת ל-Cloud Storage מרשת VPC מורשית:

echo """
- ingressFrom:
    identities:
    - serviceAccount:my-sa@my-project.iam.gserviceaccount.com
    sources:
    - resource: projects/111
  ingressTo:
    operations:
    - serviceName: storage.googleapis.com
      methodSelectors:
      - method: google.storage.Write
      - method: google.storage.objects.create
    resources:
    - \"*\"

- ingressFrom:
    identityType: ANY_SERVICE_ACCOUNT
    sources:
      - resource: //compute.googleapis.com/projects/my-network-project/global/networks/top-tier-vpc-network
  ingressTo:
    operations:
    - serviceName: storage.googleapis.com
      methodSelectors:
      - method: google.storage.Write
      - method: google.storage.objects.create
    resources:
    - \"*\"

- ingressFrom:
    identityType: ANY_USER_ACCOUNT
    sources:
    - accessLevel: accessPolicies/222/accessLevels/TrustedDevices
  ingressTo:
    operations:
    - serviceName: bigquery.googleapis.com
      methodSelectors:
      - permission: bigquery.tables.getData
    resources:
    - \"*\"
""" > ingress.yaml

מריצים את הפקודה הבאה כדי להחיל את כללי הכניסה:

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

מידע על מגבלות של רשתות VPC כשמשתמשים ברשתות VPC בגבולות גזרה לשירות זמין במאמר מגבלות של רשתות VPC.