בדף הזה מוסבר איך להגדיר חשבון שירות של ניהול זהויות והרשאות גישה (IAM) למרחב שמות במכונת Cloud Data Fusion.
מידע על מרחבי שמות ב-Cloud Data Fusion
מרחב שמות הוא קיבוץ לוגי של אפליקציות, נתונים והמטא-נתונים המשויכים להם במופע של Cloud Data Fusion. אפשר לחשוב על מרחבי שמות כחלוקה של המופע. כל אפליקציה או נתונים, שמכונים כאן ישות, יכולים להתקיים באופן עצמאי בכמה מרחבי שמות. במופע יחיד, מרחב שמות אחד מאחסן את הנתונים והמטא-נתונים של ישות באופן עצמאי ממרחב שמות אחר.
בקרת גישה באמצעות חשבון שירות של מרחב שמות
כדי לשלוט בגישה למשאבים, מרחבי שמות ב-Cloud Data Fusion משתמשים בסוכן שירות של Cloud Data Fusion API כברירת מחדל. Google Cloud
כדי לשפר את הבידוד של הנתונים, אפשר לשייך לכל מרחב שמות חשבון שירות מותאם אישית של IAM (שנקרא חשבון שירות לכל מרחב שמות). חשבון השירות המותאם אישית של IAM, שיכול להיות שונה עבור מרחבי שמות שונים, מאפשר לכם לשלוט בגישה למשאביGoogle Cloud בין מרחבי שמות לפעולות בזמן עיצוב צינורות ב-Cloud Data Fusion, כמו תצוגה מקדימה של צינורות, Wrangler ואימות צינורות.
לפני שמתחילים
- חשבונות שירות לכל מרחב שמות נתמכים במופעים עם RBAC ב-Cloud Data Fusion בגרסה 6.10.0 ואילך.
- חשבונות שירות לכל מרחב שמות משמשים לשליטה בגישה למשאבים ב- Google Cloud ולניהול שלה.
תפקידים והרשאות נדרשים
כדי לקבל את ההרשאות שנדרשות להתאמה אישית של חשבונות שירות במרחב שמות ולמתן הרשאות משתמשים במרחב שמות, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM Cloud Data Fusion Admin (roles/datafusion.admin) במופע Cloud Data Fusion בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
ניהול הרשאות של משתמשים במרחב שמות
כדי לתת למשתמשים את ההרשאות שהם צריכים במרחב שמות, צריך להקצות להם תפקידים מוגדרים מראש ב-Cloud Data Fusion. מידע נוסף זמין במאמר בנושא תפקידים מוגדרים מראש ב-Cloud Data Fusion שזמינים למשתמשים במופעים עם RBAC.
הגדרת חשבון שירות של מרחב שמות
המסוף
כדי להגדיר חשבון שירות למרחב השמות, פועלים לפי השלבים הבאים:
- אם אין לכם חשבון שירות קיים למרחב השמות, צריך ליצור חשבון שירות.
במסוף Google Cloud , עוברים לדף Instances של Cloud Data Fusion ופותחים מכונה בממשק האינטרנט של Cloud Data Fusion.
לוחצים על System admin > Configuration > Namespaces (ניהול מערכת > הגדרה > מרחבי שמות).
לוחצים על מרחב השמות שרוצים להגדיר.
לוחצים על הכרטיסייה חשבונות שירות ואז על הוספת חשבון שירות.

מקצים את התפקיד 'משתמש ב-Workload Identity' (
roles/iam.workloadIdentityUser).כדי להקצות את התפקיד:
- בשדה Pipeline design service account, מזינים את כתובת האימייל בחשבון השירות – לדוגמה,
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com. - פועלים לפי ההוראות בתיבת הדו-שיח שמופיעה.
- בשדה Pipeline design service account, מזינים את כתובת האימייל בחשבון השירות – לדוגמה,
כדי להשלים את ההגדרה של חשבון השירות, חוזרים למרחב השמות של מכונת Cloud Data Fusion ולוחצים על שמירה.
חוזרים על השלבים כדי להגדיר חשבון שירות לכל מרחב שמות.
API בארכיטקטורת REST
מקצים את התפקיד 'משתמש ב-Workload Identity' (
roles/iam.workloadIdentityUser).כדי להקצות את התפקיד:
מגדירים את משתני הסביבה הבאים:
export TENANT_PROJECT_ID=TENANT_PROJECT export GSA_PROJECT_ID=SERVICE_ACCOUNT_PROJECTמחליפים את מה שכתוב בשדות הבאים:
TENANT_PROJECT: מזהה הפרויקט של הדייר. כדי למצוא אותו, עוברים לדף Instances ולוחצים על שם המכונה. המזהה מופיע בדף Instance details.
SERVICE_ACCOUNT_PROJECT:Google Cloud מזהה הפרויקט שבו נמצא חשבון השירות ב-IAM.
מקצים את התפקיד Workload Identity User:
gcloud iam service-accounts add-iam-policy-binding \ --role roles/iam.workloadIdentityUser --member "serviceAccount:${TENANT_PROJECT_ID}.svc.id.goog[default/NAMESPACE_IDENTITY]" SERVICE_ACCOUNT_EMAIL \ --project ${GSA_PROJECT_ID}מחליפים את מה שכתוב בשדות הבאים:
NAMESPACE_IDENTITY: הזהות של מרחב השמות. מידע נוסף זמין במאמר פרטים על מרחב שמות.
SERVICE_ACCOUNT_EMAIL: כתובת האימייל של חשבון השירות – לדוגמה,SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com.
מאמתים את כתובת האימייל בחשבון השירות של מרחב השמות מהשלב הקודם. מגדירים את
environment variablesואז מריצים את הפקודה הבאה:curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_NAME/credentials/workloadIdentity/validate -X POST -d '{"serviceAccount":"SERVICE_ACCOUNT_EMAIL"}'מחליפים את מה שכתוב בשדות הבאים:
-
NAMESPACE_NAME: מזהה מרחב השמות. -
SERVICE_ACCOUNT_EMAIL: כתובת האימייל בחשבון השירות ב-IAM שרוצים להגדיר במרחב השמות.
-
מגדירים את חשבון השירות של מרחב השמות. מגדירים את
environment variablesואז מריצים את הפקודה הבאה:curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_NAME/credentials/workloadIdentity -X PUT -d '{"serviceAccount":"SERVICE_ACCOUNT_EMAIL"}'
עריכה של חשבון שירות במרחב שמות
המסוף
כדי לערוך חשבון שירות של מרחב שמות:
- במופע של Cloud Data Fusion, לוחצים על System admin (אדמין מערכת) > Configuration (הגדרה) > Namespaces (מרחבי שמות).
- לוחצים על מרחב השמות שכולל את חשבון השירות שרוצים לערוך.
- כדי לערוך את חשבון השירות, עוברים לכרטיסייה Service accounts. לצד השם של חשבון השירות, לוחצים על תפריט > עריכה.
- פועלים לפי השלבים להגדרת חשבון שירות של מרחב שמות.
API בארכיטקטורת REST
כדי לערוך חשבון שירות של מרחב שמות:
מגדירים את
environment variablesואז מריצים את הפקודה הבאה:curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_NAME/credentials/workloadIdentity -X PUT -d '{"serviceAccount":"SERVICE_ACCOUNT_EMAIL"}'מחליפים את מה שכתוב בשדות הבאים:
-
NAMESPACE_NAME: מזהה מרחב השמות. -
SERVICE_ACCOUNT_EMAIL: כתובת האימייל בחשבון השירות ב-IAM שרוצים להגדיר במרחב השמות.
-
מחיקה של חשבון שירות במרחב שמות
המסוף
כדי למחוק חשבון שירות של מרחב שמות ממרחב שמות:
- במופע של Cloud Data Fusion, לוחצים על System admin (אדמין מערכת) > Configuration (הגדרה) > Namespaces (מרחבי שמות).
- לוחצים על מרחב השמות שכולל את חשבון השירות שרוצים למחוק.
- כדי להסיר את חשבון השירות, עוברים לכרטיסייה Service accounts. לצד השם של חשבון השירות, לוחצים על תפריט > מחיקה.
API בארכיטקטורת REST
כדי למחוק חשבון שירות של מרחב שמות ממרחב שמות:
מגדירים את
environment variablesואז מריצים את הפקודה הבאה:curl -H "Authorization: Bearer $(gcloud auth print-access-token)" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_NAME/credentials/workloadIdentity -X DELETEמחליפים את מה שכתוב בשדות הבאים:
-
NAMESPACE_NAME: מזהה מרחב השמות.
-
קבלת חשבון השירות של מרחב השמות
המסוף
כדי לקבל את פרטי חשבון השירות של מרחב השמות:
במסוף Google Cloud , עוברים לדף Instances של Cloud Data Fusion ופותחים מכונה בממשק האינטרנט של Cloud Data Fusion.
לוחצים על System admin > Configuration > Namespaces (ניהול מערכת > הגדרה > מרחבי שמות).
לוחצים על שם מרחב השמות כדי לראות את פרטי חשבון השירות.
API בארכיטקטורת REST
כדי לקבל את שם חשבון השירות של מרחב השמות:
מגדירים את
environment variablesואז מריצים את הפקודה הבאה:curl -H "Authorization: Bearer $(gcloud auth print-access-token)" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_NAME/credentials/workloadIdentity -X GETמחליפים את מה שכתוב בשדות הבאים:
-
NAMESPACE_NAME: מזהה מרחב השמות.
אם הפעולה בוצעה ללא שגיאות, כתובת האימייל בחשבון השירות מופיעה בתגובה הבאה:
Response: {"serviceAccount":"SERVICE_ACCOUNT_EMAIL"}-
המאמרים הבאים
- מידע נוסף על תרחיש לדוגמה לשימוש בבקרת גישה עם חשבונות שירות של מרחב שמות
- מידע נוסף על בקרת גישה מבוססת-תפקידים ב-Cloud Data Fusion