שיטות מומלצות לאבטחה

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

אבטחת סביבת Managed Airflow היא חיונית להגנה על מידע אישי רגיש ולמניעת גישה לא מורשית. בדף הזה מפורטות שיטות מומלצות חשובות, כולל המלצות לאבטחת רשת, לניהול זהויות והרשאות גישה, להצפנה ולניהול הגדרות סביבת העבודה.

מידע נוסף על תכונות האבטחה שזמינות ב-Managed Airflow זמין במאמר סקירה כללית על אבטחה.

ניהול של הגדרות סביבה ו-DAG באמצעות ניהול גרסאות

דוגמה לצינור עיבוד נתונים של CI/CD ב-Airflow
איור 1. דוגמה לצינור עיבוד נתונים של CI/CD ב-Airflow (לחיצה להגדלה)
  • יצירת הסביבה באמצעות Terraform כך אפשר לאחסן את הגדרות הסביבה כקוד במאגר. כך אפשר לבדוק שינויים בהגדרות הסביבה לפני שמחילים אותם, ולצמצם את מספר המשתמשים שיש להם הרשאות לשנות את ההגדרות על ידי הקצאת תפקידים עם פחות הרשאות.

  • במסגרת ניהול הזהויות והרשאות הגישה, משביתים את הגישה הישירה ל-DAG ולתצורת הסביבה למשתמשים רגילים, כמו שמתואר בקטע ניהול הזהויות והרשאות הגישה.

  • פריסת DAG בסביבה באמצעות צינור CI/CD, כך שקוד ה-DAG יאוחזר ממאגר. כך, גרפי DAG נבדקים ומאושרים לפני שהשינויים ממוזגים למערכת בקרת הגרסאות. במהלך תהליך הבדיקה, המאשרים מוודאים שגרפים מכווני מחזור (DAG) עומדים בקריטריוני האבטחה שנקבעו בצוותים שלהם. שלב הבדיקה הוא קריטי כדי למנוע פריסה של DAGs שעשויים לבצע פעולות לא רצויות.

    היבטים חשובים שקשורים לאבטחה שכדאי לקחת בחשבון כשבודקים DAGs:

    • אסור ש-DAG שמשנה את התוכן של דלי בסביבה ישנה את הקוד של DAG אחרים או יגש למידע אישי רגיש, אלא אם זו הכוונה.

    • אסור ש-DAG יבצע שאילתות ישירות במסד הנתונים של Airflow, אלא אם זה מכוון. ל-DAG בסביבת Managed Airflow יש גישה לכל הטבלאות במסד הנתונים של Airflow. אפשר לאחזר מידע מכל טבלה, לעבד אותו ואז לאחסן אותו מחוץ למסד הנתונים של Airflow.

אבטחת רשת

ניהול זהויות והרשאות גישה

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

  • לא מומלץ להשתמש בחשבונות שירות עם הרשאות רחבות. אפשר ליצור סביבה שמשתמשת בחשבון עם הרשאות רחבות, כמו אלה שניתנות על ידי תפקיד הבסיסי עריכה, אבל זה יוצר סיכון ש-DAG ישתמשו בהרשאות רחבות יותר מהמתוכנן.

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

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

  • הקפידו על העיקרון של הרשאות מינימליות. לתת למשתמשים רק את ההרשאות המינימליות הנדרשות. לדוגמה, מקצים תפקידי IAM כדי שרק אדמינים יוכלו לגשת לדלי של הסביבה, ומשתמשים רגילים לא יוכלו לגשת אליו ישירות. לדוגמה, התפקיד Composer User מאפשר גישה רק לממשק המשתמש של DAG ולממשק המשתמש של Airflow.

  • אפשר לאכוף בקרת גישה לממשק המשתמש של Airflow, שמאפשרת לצמצם את הנראות בממשק המשתמש של Airflow ובממשק המשתמש של DAG על סמך התפקיד של המשתמש ב-Airflow, ואפשר להשתמש בה כדי להקצות הרשאות ברמת DAG ל-DAG ספציפיים.

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

  • חשוב להיזהר כשמעבירים ומאחסנים מידע אישי רגיש:

    • חשוב לנקוט משנה זהירות כשמעבירים או מאחסנים מידע אישי רגיש כמו פרטים אישיים מזהים או סיסמאות. במקרים שנדרש, משתמשים ב-Secret Manager כדי לאחסן בצורה מאובטחת חיבורים וסודות של Airflow, מפתחות API, סיסמאות ואישורים. אל תשמרו את המידע הזה ב-DAG או במשתני סביבה.

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

    • חשוב לוודא שאתם יודעים אילו נתונים מאוחסנים בתמונות המצב ולהעניק הרשאות ליצירת תמונות מצב של הסביבה ולגישה למאגר שבו הן מאוחסנות רק למשתמשים מהימנים.

    • כל הממשקים החיצוניים של Managed Airflow מוצפנים כברירת מחדל. כשמתחברים למוצרים ולשירותים חיצוניים, חשוב להשתמש בתקשורת מוצפנת (SSL/TLS).

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