בדף הזה מוסבר איך להגדיר גישת משתמשים לסביבת Managed Airflow באמצעות איחוד שירותי אימות הזהות של כוח העבודה.
מידע על איחוד שירותי אימות הזהות של כוח העבודה ב-Managed Airflow
איחוד שירותי אימות הזהות של כוח עבודה מאפשר להשתמש בספק זהויות (IdP) חיצוני באמצעות IAM כדי לבצע אימות של כוח עבודה, כלומר קבוצה של משתמשים כמו עובדים, שותפים וקבלנים, ולהעניק לו הרשאה כך שהמשתמשים יוכלו לגשת לשירותי Cloud de Confiance by S3NS . מידע נוסף על איחוד שירותי אימות הזהות של כוח עבודה זמין במאמר איחוד שירותי אימות הזהות של כוח עבודה.
אם איחוד שירותי אימות הזהות של כוח העבודה מוגדר בפרויקט, אפשר לגשת לסביבה באחת מהדרכים הבאות:
- הדף Managed Airflow במסוף Cloud de Confiance
- ממשק המשתמש של Airflow
- Google Cloud CLI, כולל הפעלת פקודות Airflow CLI
- Cloud Composer API
- Airflow REST API
לפני שמתחילים
אין צורך להגדיר את הסביבה בצורה ספציפית כדי לתמוך באיחוד שירותי אימות הזהות של כוח העבודה. כל הגרסאות של Airflow ב-Managed Airflow (דור 3) תומכות באיחוד שירותי אימות הזהויות של כוח העבודה.
המגבלות של Cloud Storage על איחוד שירותי אימות הזהות של כוח עבודה חלות על קטגוריית הסביבה. בפרט, אתם צריכים להפעיל גישה אחידה ברמת הקטגוריה בקטגוריה של הסביבה כדי לאפשר לזהויות חיצוניות להעלות את קובצי ה-DAG והקבצים שלהן לקטגוריה הזו.
האימיילים שנשלחים מ-Airflow כוללים רק את כתובת ה-URL של ממשק המשתמש של Airflow לחשבונות Google. משתמשים עם זהויות חיצוניות יכולים לגשת לממשק המשתמש של Airflow רק דרך כתובת ה-URL של ממשק המשתמש של Airflow לזהויות חיצוניות, ולכן צריך לשנות את הקישור (לכתובת ה-URL לזהויות חיצוניות).
ב-Managed Airflow אין תמיכה בשימוש בזהויות של צד שלישי בכללי כניסה ויציאה כדי לאפשר פעולות ב-Apache Airflow UI. עם זאת, אפשר להשתמש בסוג הזהות
ANY_IDENTITYבכללי כניסה ויציאה כדי לאפשר גישה לכל הזהויות, כולל זהויות של צד שלישי. מידע נוסף על סוג הזהותANY_IDENTITYזמין במאמר כללי כניסה ויציאה.
הגדרת גישה לסביבה באמצעות איחוד שירותי אימות הזהות של כוח העבודה
בקטע הזה מוסבר איך להגדיר גישה לזהויות חיצוניות בסביבת Managed Airflow.
הגדרה של ספק הזהויות
מגדירים את איחוד שירותי אימות הזהות של כוח העבודה עבור ספק הזהויות לפי ההוראות במדריך הגדרת איחוד שירותי אימות הזהות של כוח העבודה.
הענקת תפקידי IAM לזהויות חיצוניות
בניהול הזהויות והרשאות הגישה (IAM), מקצים תפקידי IAM לקבוצות של זהויות חיצוניות, כדי שהן יוכלו לגשת לסביבה שלכם ולבצע בה פעולות:
רשימה של תפקידים ספציפיים ל-Managed Airflow מופיעה במאמר בנושא הענקת תפקידים למשתמשים. לדוגמה, התפקיד Environment User and Storage Object Viewer (
composer.environmentAndStorageObjectViewer) מאפשר למשתמשים לצפות בסביבות, לגשת לממשק המשתמש של Airflow, לצפות ב-DAG ולהפעיל אותו מממשק המשתמש של DAG, ולצפות באובייקטים בקטגוריות של הסביבה.הוראות להקצאת התפקידים האלה למשתמשים חיצוניים מופיעות במאמר הקצאת תפקידים ב-IAM לחשבונות משתמשים.
למידע על הפורמט של ייצוג זהויות חיצוניות בכללי מדיניות IAM, אפשר לעיין במאמר ייצוג משתמשים במאגר זהויות של כוח העבודה בכללי מדיניות IAM.
איך מוודאים שלמשתמשים חדשים מוקצים התפקידים הנכונים ב-Airflow בבקרת הגישה לממשק המשתמש
ב-Managed Airflow, משתמשי Airflow עם זהויות חיצוניות מטופלים באותו אופן כמו משתמשים עם חשבון Google. במקום כתובת אימייל, נעשה שימוש במזהה ראשי. כשזהות חיצונית ניגשת לממשק המשתמש של Airflow בפעם הראשונה, משתמש Airflow נרשם אוטומטית במערכת בקרת הגישה מבוססת-התפקידים של Airflow עם תפקיד ברירת המחדל.
מוודאים שמשתמשים חדשים מקבלים את התפקידים הנכונים ב-Airflow בבקרת הגישה לממשק המשתמש של Airflow. יש שתי אפשרויות:
- לאפשר לזהויות חיצוניות לקבל את תפקיד ברירת המחדל אחרי שהן ניגשות לממשק המשתמש של Airflow בפעם הראשונה. אם צריך, משתמשים עם הרשאת אדמין ב-Airflow יכולים לשנות את התפקיד הזה לתפקיד אחר.
להירשם מראש עם זהויות חיצוניות עם קבוצה של תפקידים נדרשים על ידי הוספת רשומות משתמשים ב-Airflow עם שדות שם המשתמש וכתובת האימייל שמוגדרים כמזהים העיקריים שלהם. כך, הזהויות החיצוניות מקבלות את התפקיד שהקציתם להן, ולא את תפקיד ברירת המחדל.
גישה לדף Managed Airflow במסוף Cloud de Confiance
Cloud de Confiance by S3NS מסוף איחוד שירותי אימות הזהות של כוח עבודה מספק גישה לדף Managed Airflow.
בדף Composer במסוף Cloud de Confiance by S3NS איחוד שירותי אימות הזהות של כוח העבודה, אפשר לגשת לממשק המשתמש לניהול סביבות, ליומני Managed Airflow, למעקב ולממשק המשתמש של DAG.
כל הקישורים לממשק המשתמש של Airflow במסוף המאוחד מפנים לנקודת הגישה לממשק המשתמש של Airflow עבור זהויות חיצוניות.
גישה לממשק המשתמש של Airflow
לסביבות Managed Airflow יש שני כתובות URL לממשק המשתמש של Airflow: אחת לחשבונות Google ואחת לזהויות חיצוניות. זהויות חיצוניות צריכות לגשת לממשק המשתמש של Airflow דרך כתובת ה-URL של הזהויות החיצוניות.
כתובת ה-URL של הזהויות החיצוניות היא
https://<UNIQUE_ID>.composer.byoid.googleusercontent.com.כתובת ה-URL לחשבונות Google היא
https://<UNIQUE_ID>.composer.googleusercontent.com.
רק משתמשים שאומתו באמצעות זהויות חיצוניות יכולים לגשת לכתובת ה-URL של זהויות חיצוניות. אם משתמש נכנס לכתובת ה-URL של הזהויות החיצוניות כשהוא לא מחובר, הוא מופנה קודם לפורטל האימות שבו הוא מציין את שם הספק של מאגר הזהויות של כוח העבודה, ואז הוא מופנה לספק הזהויות שלו כדי להיכנס, ולבסוף הוא מופנה לממשק המשתמש של Airflow של הסביבה.
גישה לממשק המשתמש של DAG במסוף Cloud de Confiance
ממשק המשתמש של DAG זמין למשתמשים עם זהויות חיצוניות כחלק מהמסוף המאוחד. אפשר לשלוט בגישה באמצעות כללי מדיניות ב-IAM.
גם הגישה מבוססת-התפקידים ב-Airflow בסביבות עם תמיכה מלאה באיחוד שירותי אימות הזהות של כוח העבודה נלקחת בחשבון, ואפשר להשתמש בה כדי להגביל את ה-DAG שמשתמשים ספציפיים יכולים לראות על ידי הגדרת תפקידים, כפי שמתואר במאמר שימוש בבקרת גישה בממשק המשתמש של Airflow.
גישה אל Google Cloud CLI
כדי לגשת לסביבה שלכם באמצעות Google Cloud CLI, זהויות חיצוניות צריכות:
- התחברות באמצעות Google Cloud CLI באמצעות זהות חיצונית.
- מריצים את הפקודות
gcloud composer environments.
גישה אל Cloud Composer API
אפשר להשתמש ב-Cloud Composer API עם זהויות חיצוניות כדי לנהל את כל סביבות Managed Airflow באמצעות שיטות האימות הנתמכות, כמו אסימוני OAuth.
גישה ל-Airflow API בארכיטקטורת REST
Airflow API בארכיטקטורת REST זמין בנקודת הקצה לזהויות חיצוניות עם שיטות האימות הנתמכות, כמו טוקנים של OAuth.
כדי לקבל את כתובת ה-URL של נקודת הקצה של הזהויות החיצוניות בסביבה שלכם, מריצים את הפקודה הבאה ב-Google Cloud CLI:
gcloud composer environments describe ENVIRONMENT_NAME \
--location LOCATION \
--format="value(config.airflowByoidUri)"
מחליפים את:
-
ENVIRONMENT_NAMEבשם הסביבה. -
LOCATIONעם האזור שבו הסביבה ממוקמת.
דוגמה:
gcloud composer environments describe example-environment \
--location us-central1 \
--format="value(config.airflowByoidUri)"