הגדרת VPC Service Controls

Managed Airflow (דור 3) | Managed Airflow (דור 2) | Managed Airflow (דור 1 מדור קודם)

VPC Service Controls מאפשר לארגונים להגדיר גבולות גזרה מסביב לGoogle Cloud משאבים כדי לצמצם את הסיכונים לזליגת נתונים.

אפשר לפרוס סביבות Managed Airflow בתוך גבולות גזרה לשירות. אם תגדירו את הסביבה שלכם באמצעות VPC Service Controls, תוכלו לשמור על פרטיות של מידע אישי רגיש וליהנות מהיכולות של Managed Airflow לניהול תהליכי עבודה.

התמיכה של VPC Service Controls ב-Managed Airflow מאפשרת:

  • עכשיו אפשר לבחור ב-Managed Airflow כשירות מאובטח בתוך מתחם של אמצעי בקרה לשירותי VPC.
  • כל משאבי הבסיס שמשמשים את Managed Airflow מוגדרים לתמיכה בארכיטקטורה של VPC Service Controls ולפעולה בהתאם לכללים שלה.

פריסת סביבות Managed Airflow עם VPC Service Controls מאפשרת לכם:

  • צמצום הסיכון לזליגת נתונים.
  • הגנה מפני חשיפת נתונים בגלל אמצעי בקרה לגישה שהוגדרו בצורה לא נכונה.
  • הסיכון שמשתמשים זדוניים יעתיקו נתונים לGoogle Cloud משאבים לא מורשים או שהאקרים חיצוניים יקבלו גישה לGoogle Cloud משאבים מהאינטרנט יפחת.Google Cloud

מידע על VPC Service Controls ב-Managed Airflow

מידע על קישוריות לממשקי API ולשירותים של Google ב-VPC Service Controls

‫Managed Airflow (דור 3) מנתב את התעבורה לשירותי Google דרך restricted.googleapis.com, וכך מאפשר גישה ל-Google APIs, לשירותים ולדומיינים של Google שנתמכים בטווח הזה.

מידע נוסף ורשימה של השירותים והדומיינים שזמינים דרך restricted.googleapis.com מופיעים במאמר הגדרת רשת במסמכי ענן וירטואלי פרטי (VPC).

סביבות מנוהלות של Airflow (דור 3) חוסמות קריאות לממשקי API, לשירותים ולדומיינים של Google שלא מופיעים ברשימת ממשקי ה-API והשירותים הנדרשים. אם רוצים לשלוח קריאה ל-API מ-DAG:

  1. מוודאים שהשירות תומך ב-VPC Service Controls.
  2. מוסיפים את השירות לרשימת השירותים המוגבלים.
  3. מוסיפים את השירות לשירותים שניתן לגשת אליהם ב-VPC.

לדוגמה, אם אתם משתמשים באופרטור VertexAI, צריך להוסיף את aiplatform.googleapis.comגם לשירותים מוגבלים וגם לשירותים שאפשר לגשת אליהם דרך VPC.

מידע נוסף על הוספת שירותים לגבול גזרה זמין במאמר ניהול גבולות גזרה לשירות במסמכי העזרה של VPC Service Controls.

ב-Managed Airflow (דור 3), אי אפשר לגשת לשירותים שלא תומכים ב-VPC Service Controls ושלא זמינים דרך restricted.googleapis.com מתוך סביבות שמוגנות באמצעות VPC Service Controls. ההגבלה הזו נוספה ב-Managed Airflow (דור 3) כדי לשפר את האבטחה של הסביבה. ב-Managed Airflow (דור 2) אפשר להגדיר גישה לשירותים כאלה שלא נתמכים, אבל אנחנו ממליצים מאוד להימנע מכך בכל סביבה שמוגנת על ידי VPC Service Controls.

היקפים לסביבות עם VPC משותף ו-CMEK

אם הסביבה שלכם מוגנת על ידי גבול גזרה לשירות ומשתמשת ב-VPC משותף, ב-Customer-Managed Encryption Keys (CMEK) או בשניהם, צריך לוודא שהפרויקטים הבאים נמצאים באותו גבול גזרה לשירות:

  • פרויקט שירות: הפרויקט שמכיל את סביבת Managed Airflow.
  • פרויקט מארח: הפרויקט שמכיל את רשת ה-VPC המשותפת.
  • הפרויקט שמארח את המפתחות של Cloud Key Management Service.

יצירת סביבות ב-perimeter

כדי לפרוס את Managed Airflow בתוך גבולות גזרה, צריך לבצע את השלבים הבאים:

  1. מפעילים את Access Context Manager API ואת Cloud Composer API בפרויקט. מידע נוסף זמין במאמר בנושא הפעלת ממשקי API.

  2. כדי ליצור גבול גזרה, פועלים לפי ההוראות להגדרת גבול גזרה במסמכי התיעוד של VPC Service Controls. מוודאים שרשימת השירותים המוגבלים כוללת את כל השירותים שנעשה בהם שימוש ב-Managed Airflow, בנוסף לשירותים אחרים שרוצים להגביל:

    • Cloud Composer API ‏ (composer.googleapis.com)
    • ‫Artifact Registry API‏ (artifactregistry.googleapis.com)
    • ‫Compute Engine API ‏ (compute.googleapis.com)
    • ‫Kubernetes Engine API‏ (container.googleapis.com)
    • Container File System API ‏ (containerfilesystem.googleapis.com)
    • ‫Cloud DNS API‏ (dns.googleapis.com)
    • ‫Service Account Credentials API‏ (iamcredentials.googleapis.com)
    • ‫Cloud Logging API‏ (logging.googleapis.com)
    • Cloud Monitoring API ‏ (monitoring.googleapis.com)
    • Cloud Pub/Sub API ‏ (pubsub.googleapis.com)
    • Cloud SQL Admin API ‏ (sqladmin.googleapis.com)
    • Cloud Storage API (storage.googleapis.com)

    • לכל שאר השירותים שמשמשים את ה-DAG:

      1. מוסיפים את השירות לרשימת השירותים המוגבלים.
      2. מוסיפים את השירות לשירותים שניתן לגשת אליהם ב-VPC.
  3. יוצרים סביבת Managed Airflow חדשה:

    1. משתמשים ב-Google Cloud CLI כדי ליצור את הסביבה.
    2. מפעילים כתובת IP פרטית באמצעות הארגומנט --enable-private-environment.
    3. מציינים את פרמטרי הגישה לשרת האינטרנט באמצעות הארגומנטים --web-server-allow-all,‏ --web-server-allow-ip או --web-server-deny-all. מידע נוסף על השימוש בארגומנטים האלה זמין במאמר יצירת סביבות. כדי לשפר את ההגנה, כדאי לאפשר גישה לשרת האינטרנט רק מטווחים ספציפיים של כתובות IP.
    4. אפשר למנוע התקנה של חבילות ממאגרי אינטרנט ציבוריים באמצעות הארגומנט --enable-private-builds-only.

      דוגמה:

      gcloud composer environments create example-environment \
        --location us-central1 \
        --enable-private-environment \
        --web-server-allow-all \
        --enable-private-builds-only
      
  4. כברירת מחדל, הגישה לממשק המשתמש ול-API של Airflow מותרת רק מתוך גבולות גזרה של האבטחה. אם רוצים להפוך אותו לזמין מחוץ למתחם האבטחה, צריך להגדיר רמות גישה או כללים לתעבורת נתונים נכנסת (ingress) וגם יוצאת (egress).

הוספת סביבה קיימת לגבולות גזרה

אפשר להוסיף את הפרויקט שמכיל את הסביבה לגבולות גזרה אם הסביבות משתמשות בכתובת IP פרטית וההתקנה של חבילות PyPI ממאגרים ציבוריים מושבתת.

כדי לעדכן סביבת Managed Airflow (דור 3) קיימת להגדרה הזו:

  1. חשוב לוודא שכבר יצרתם או הגדרתם את גבולות הגזרה כמו שמתואר בקטע הקודם.
  2. משתמשים ב-Google Cloud CLI כדי לעדכן את הסביבה.
  3. מפעילים כתובת IP פרטית באמצעות הארגומנט --enable-private-environment.
  4. אפשר להשתמש בארגומנט --enable-private-builds-only כדי לא לאפשר התקנה של חבילות ממאגרי אינטרנט ציבוריים.
  5. אם נדרש, מגדירים גישה לשרת האינטרנט של Airflow. כדי לשפר את ההגנה, כדאי לאפשר גישה לשרת האינטרנט רק מטווחים ספציפיים של כתובות IP.

דוגמה:

gcloud composer environments update example-environment \
  --location us-central1 \
  --enable-private-environment \
  --enable-private-builds-only

התקנת חבילות PyPI ב-VPC Service Controls

בהגדרת ברירת המחדל של VPC Service Controls, ‏ Managed Airflow תומך רק בהתקנת חבילות PyPI ממאגרים פרטיים שאפשר להגיע אליהם ממרחב כתובות ה-IP הפנימי של רשת ה-VPC.

לכל סביבות Managed Airflow בתוך היקף של VPC Service Controls אין גישה למאגרי PyPI ציבוריים כברירת מחדל.

התקנה ממאגר פרטי

ההגדרה המומלצת היא להגדיר מאגר PyPI פרטי:

  1. מאכלסים אותו בחבילות שנבדקו על ידי הארגון, ואז מגדירים את Managed Airflow כך שיתקין יחסי תלות של Python ממאגר פרטי.

התקנה ממאגר ציבורי

כדי להתקין חבילות PyPI ממאגר חיצוני:

  1. יוצרים מאגר מרוחק של Artifact Registry.
  2. נותנים למאגר הזה גישה למקורות במעלה הזרם.
  3. מגדירים את Airflow כך שיתקין חבילות ממאגר Artifact Registry.

יומנים של VPC Service Controls

כשמנסים לפתור בעיות שקשורות ליצירת סביבות, אפשר לנתח את יומני הביקורת שנוצרו על ידי VPC Service Controls.

בנוסף להודעות אחרות ביומן, אפשר לבדוק ביומנים מידע על חשבונות שירות של cloud-airflow-prod@system.gserviceaccount.com ושל service-PROJECT_ID@cloudcomposer-accounts.iam.gserviceaccount.com שמגדירים רכיבים של הסביבות שלכם.

שירות Managed Airflow משתמש בחשבון השירות cloud-airflow-prod@system.gserviceaccount.com כדי לנהל את רכיבי פרויקט הדייר (tenant) בסביבות שלכם.

service-PROJECT_ID@cloudcomposer-accounts.iam.gserviceaccount.com חשבון השירות, שנקרא גם חשבון השירות של סוכן השירות של Composer, מנהל את רכיבי הסביבה בפרויקטים של שירותים ופרויקטים מארחים.

המאמרים הבאים