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

מקצים את התפקיד "משתמש ב-Workload Identity" (
roles/iam.workloadIdentityUser).כדי להקצות את התפקיד:
- בשדה Pipeline design service account, מזינים את כתובת האימייל של חשבון השירות, לדוגמה
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com. - פועלים לפי ההוראות בתיבת הדו-שיח שמופיעה.
- בשדה Pipeline design service account, מזינים את כתובת האימייל של חשבון השירות, לדוגמה
כדי להשלים את הגדרת חשבון השירות, חוזרים למרחב השמות של המכונה של Cloud Data Fusion ולוחצים על Save.
חוזרים על השלבים כדי להגדיר חשבון שירות לכל מרחב שמות.
API בארכיטקטורת REST
מקצים את התפקיד "משתמש ב-Workload Identity" (
roles/iam.workloadIdentityUser).כדי להקצות את התפקיד:
מגדירים את משתני הסביבה הבאים:
export TENANT_PROJECT_ID=TENANT_PROJECT export GSA_PROJECT_ID=SERVICE_ACCOUNT_PROJECTמחליפים את מה שכתוב בשדות הבאים:
TENANT_PROJECT: מזהה פרויקט הדייר (tenant). כדי למצוא אותו, נכנסים לדף Instances ולוחצים על שם המכונה. המזהה מופיע בדף Instance details.
SERVICE_ACCOUNT_PROJECT: מזהה הפרויקט שבו נמצא חשבון השירות ב-IAM.Google Cloud
מקצים את התפקיד "משתמש ב-Workload Identity":
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.
- לוחצים על מרחב השמות שבו נמצא חשבון השירות שרוצים לערוך.
- כדי לערוך את חשבון השירות, עוברים לכרטיסייה חשבונות שירות. ליד השם של חשבון השירות, לוחצים על Menu > Edit.
- מגדירים חשבון שירות של מרחב שמות.
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. ליד השם של חשבון השירות, לוחצים על Menu > Delete.
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"}-
המאמרים הבאים
- מידע נוסף על תרחיש לדוגמה של בקרת גישה באמצעות חשבונות שירות של מרחב שמות
- מידע נוסף על בקרת גישה המבוססת על תפקידים (RBAC) ב-Cloud Data Fusion