הגדרת תפקידי שיתוף ב-BigQuery
במאמר הזה מוסבר על התפקידים במערכת לניהול הזהויות והרשאות הגישה (IAM) לשיתוף ב-BigQuery (לשעבר Analytics Hub) ואיך להעניק אותם. מידע נוסף זמין במאמר תפקידים והרשאות של שיתוף ב-BigQuery.
תפקידי IAM לשיתוף ב-BigQuery
בקטעים הבאים מתוארים תפקידי השיתוף המוגדרים מראש ב-BigQuery. אתם יכולים להקצות את התפקידים האלה למשתמשים כדי לבצע משימות שונות בבורסות ובכרטיסי המוצר שלכם.
תפקיד אדמין ב-Analytics Hub
כדי לנהל שיתוף נתונים, שיתוף ב-BigQuery מספק את תפקיד האדמין של Analytics Hub (roles/analyticshub.admin) שאפשר להעניק לפרויקט או לשיתוף נתונים. Google Cloud התפקיד הזה מאפשר למשתמשים:
- יצירה, עדכון ומחיקה של נתוני חילופי מידע.
- ליצור, לעדכן, למחוק ולשתף כרטיסי מוצר.
- ניהול של מנהלי BigQuery sharing, מנהלי רישום, מפרסמים, מנויים וצופים.
עם התפקיד הזה, אתם הופכים לאדמינים של שיתוף ב-BigQuery.
תפקידי אדמין של בעלי תוכן דיגיטלי ושל כרטיסי מוצר ב-Analytics Hub
כדי לנהל כרטיסי מוצר, שיתוף מספק את התפקידים המוגדרים מראש הבאים שאפשר להקצות לפרויקט, לבורסת נתונים או לכרטיס מוצר:
תפקיד המפרסם ב-Analytics Hub (
roles/analyticshub.publisher), שמאפשר למשתמשים לבצע את הפעולות הבאות:- ליצור, לעדכן ולמחוק כרטיסי מוצר.
- הגדרת מדיניות IAM לכרטיסי מוצר.
התפקיד הזה הופך אתכם למפרסמים ב-BigQuery sharing.
תפקיד אדמין של רשימת Analytics Hub (
roles/analyticshub.listingAdmin), שמאפשר למשתמשים לבצע את הפעולות הבאות:- עדכון ומחיקה של כרטיסי מוצר.
- הגדרת מדיניות IAM לכרטיסי מוצר.
עם התפקיד הזה, אתם הופכים לאדמינים של רשימת השיתוף ב-BigQuery.
תפקידים של מנוי ובעל הרשאת צפייה ב-Analytics Hub
כדי לצפות בכרטיסים ובבורסות נתונים ולהירשם אליהם, שיתוף מספק את התפקידים המוגדרים מראש הבאים שאפשר להקצות לפרויקט, לבורסת נתונים או לכרטיס:
תפקיד המנוי ב-Analytics Hub (
roles/analyticshub.subscriber), שמאפשר למשתמשים לצפות בכרטיסי מוצר ולהירשם אליהם.התפקיד הזה הופך אתכם למנויים לשיתוף ב-BigQuery.
תפקיד הצופה ב-Analytics Hub (
roles/analyticshub.viewer), שמאפשר למשתמשים לצפות בכרטיסי מוצר ובהרשאות לשיתוף נתונים.התפקיד הזה הופך אתכם למשתמשים עם הרשאת צפייה ב-BigQuery sharing.
תפקיד הבעלים של מינוי ל-Analytics Hub
כדי לנהל מינויים, אפשר להקצות את התפקיד המוגדר מראש הבא ברמת הפרויקט:
- התפקיד 'בעלים של מינוי ל-Analytics Hub'
(
roles/analyticshub.subscriptionOwner), שמאפשר למשתמשים לנהל את המינויים שלהם.
עם התפקיד הזה, אתם הופכים לבעלים של מינוי לשיתוף ב-BigQuery.
הענקת תפקידים ב-IAM לשיתוף ב-BigQuery
בהתאם לצורך שלכם, אתם יכולים להעניק את תפקידי ה-IAM ברמות הבאות של היררכיית המשאבים:
- פרויקט. אם מקצים תפקיד לפרויקט, הוא חל על כל חילופי הנתונים והרישומים בפרויקט הזה.
- החלפת נתונים. אם נותנים תפקיד להחלפת נתונים, הוא חל על כל כרטיסי המוצר באותה החלפת נתונים.
- כרטיס מוצר. אם מעניקים תפקיד לכרטיס מוצר, הוא חל רק על כרטיס המוצר הספציפי הזה.
הקצאת התפקיד לפרויקט
כדי להגדיר כללי מדיניות של IAM בפרויקט, צריך להיות בעלי התפקיד אדמין IAM של פרויקט (roles/resourcemanager.projectIamAdmin) בפרויקט הזה. כדי להעניק את התפקידים המוגדרים מראש של ניהול זהויות והרשאות גישה (IAM) לשיתוף ב-BigQuery עבור פרויקט, בוחרים באחת מהאפשרויות הבאות.
המסוף
עוברים אל IAM של הפרויקט.
לוחצים על Grant access.
בשדה New principals, מזינים את כתובת האימייל של הזהות שרוצים להעניק לה גישה. לדוגמה:
- כתובת האימייל בחשבון Google:
test-user@gmail.com - קבוצת Google:
admins@googlegroups.com - חשבון שירות:
server@example.gserviceaccount.com - דומיין Google Workspace:
example.com
- כתובת האימייל בחשבון Google:
ברשימה Select a role, מעבירים את הסמן מעל Analytics Hub ובוחרים באחד מהתפקידים הבאים:
- Analytics Hub Admin
- אדמין של כרטיס מוצר ב-Analytics Hub
- Analytics Hub Publisher
- Analytics Hub Subscriber
- בעלים של מינוי ל-Analytics Hub
- Analytics Hub Viewer
אופציונלי: כדי לשלוט בגישה למשאבים, מוסיפים קישור תפקיד מותנה. Google Cloud
שומרים את השינויים.
אפשר למחוק ולעדכן אדמינים של פרויקטים באמצעות אותו לוח IAM.
gcloud
כדי להקצות תפקידים ברמת הפרויקט, משתמשים בפקודה gcloud projects add-iam-policy-binding:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member='PRINCIPAL' \
--role='roles/analyticshub.admin'
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: הפרויקט – לדוגמה,my-project-1.
PRINCIPAL: זהות תקינה שרוצים להקצות לה את התפקיד. לדוגמה:- כתובת האימייל בחשבון Google:
user:user@gmail.com - קבוצת Google:
group:admins@googlegroups.com - חשבון שירות:
serviceAccount:server@example.gserviceaccount.com - דומיין Google Workspace:
domain:example.com
- כתובת האימייל בחשבון Google:
API
קוראים את המדיניות הקיימת באמצעות ה-method
getIamPolicyשל המשאב. לפרויקטים, צריך להשתמש ב-projects.getIamPolicymethod.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
מחליפים את
PROJECT_IDבפרויקט, לדוגמה,my-project-1.כדי להוסיף חשבונות ראשיים ואת התפקידים המשויכים שלהם, עורכים את המדיניות באמצעות כלי לעריכת טקסט. כדי להוסיף חברים, צריך להשתמש בפורמט הבא:
user:test-user@gmail.comgroup:admins@example.comserviceAccount:test123@example.domain.comdomain:example.domain.com
לדוגמה, כדי להקצות את התפקיד
roles/analyticshub.adminל-group:admins@example.com, מוסיפים את הקישור הבא למדיניות:{ "members": [ "group:admins@example.com" ], "role":"roles/analyticshub.admin" }כותבים את המדיניות המעודכנת באמצעות השיטה
setIamPolicy.לדוגמה, כדי להגדיר מדיניות ברמת הפרויקט, משתמשים ב-method
project.setIamPolicy. בגוף הבקשה, מציינים את מדיניות ה-IAM המעודכנת מהשלב הקודם.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
מחליפים את
PROJECT_IDבמזהה הפרויקט.
הקצאת תפקיד להחלפת נתונים
כדי להקצות את התפקיד לחילופי נתונים, פועלים לפי השלבים הבאים:
המסוף
נכנסים לדף Sharing (Analytics Hub) במסוף Google Cloud .
לוחצים על השם של מרכז הנתונים שרוצים להגדיר לו הרשאות.
עוברים לכרטיסייה פרטים.
לוחצים על הגדרת הרשאות.
כדי להוסיף ישויות, לוחצים על Add principal.
בשדה New principals, מוסיפים את מזהי האימייל שרוצים להעניק להם גישה. אפשר גם להשתמש ב-
allUsersכדי להגדיר משאב כציבורי ונגיש לכל אחד באינטרנט, או ב-allAuthenticatedUsersכדי להגדיר אותו כנגיש רק למשתמשים שמחוברים לחשבון Google.בתפריט Select a role, בוחרים באפשרות Analytics Hub ואז בוחרים אחד מהתפקידים הבאים בניהול זהויות והרשאות גישה (IAM):
- Analytics Hub Admin
- אדמין של כרטיס מוצר ב-Analytics Hub
- Analytics Hub Publisher
- Analytics Hub Subscriber
- בעלים של מינוי ל-Analytics Hub
- Analytics Hub Viewer
לוחצים על Save.
API
קוראים את המדיניות הקיימת באמצעות ה-method
getIamPolicyשל הרישום באמצעותprojects.locations.dataExchanges.getIamPolicy:POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:getIamPolicy
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט, לדוגמה:my-project-1. -
LOCATION: המיקום של בורסת הנתונים. משתמשים באותיות קטנות. -
DATAEXCHANGE_ID: מזהה חילופי הנתונים.
שיתוף ב-BigQuery (לשעבר Analytics Hub) מחזיר את המדיניות הנוכחית.
-
כדי להוסיף או להסיר חברים ואת התפקידים המשויכים שלהם בניהול הזהויות והרשאות הגישה (IAM), צריך לערוך את המדיניות באמצעות כלי לעריכת טקסט. כדי להוסיף חברים, צריך להשתמש בפורמט הבא:
user:test-user@gmail.comgroup:admins@example.comserviceAccount:test123@example.domain.comdomain:example.domain.com
לדוגמה, כדי להקצות את התפקיד
roles/analyticshub.subscriberל-group:subscribers@example.com, מוסיפים את הקישור הבא למדיניות:{ "members": [ "group:subscribers@example.com" ], "role":"roles/analyticshub.subscriber" }כותבים את המדיניות המעודכנת באמצעות השיטה
projects.locations.dataExchanges.setIamPolicy. בגוף הבקשה, מציינים את מדיניות ה-IAM המעודכנת מהשלב הקודם.POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:setIamPolicy
בגוף הבקשה, מציינים את פרטי כרטיס המוצר. אם הבקשה תאושר, גוף התגובה יכיל את פרטי כרטיס המוצר.
כשמעניקים הרשאות ברמת המשאב, למשל בבורסת נתונים, צריך להשתמש באותיות קטנות בחלק של המיקום בשם המשאב. שימוש בערכים באותיות רישיות או בשילוב של אותיות רישיות וקטנות עלול לגרום לשגיאות Permission Denied.
- שימוש ב:
projects/myproject/locations/us/dataExchanges/123 - יש להימנע מ:
projects/myproject/locations/US/dataExchanges/123 - יש להימנע מ:
projects/myproject/locations/Eu/dataExchanges/123
אפשר למחוק ולעדכן תפקידים של שיתוף נתונים באמצעות אותה חלונית IAM.
הקצאת התפקיד לכרטיס מוצר
כדי להקצות תפקיד לכרטיס מוצר:
המסוף
נכנסים לדף Sharing (Analytics Hub) במסוף Google Cloud .
לוחצים על השם של מרכז הנתונים להחלפת מידע שכולל את כרטיס המוצר.
לוחצים על כרטיס המוצר שאליו רוצים להוסיף משתמשים.
לוחצים על הגדרת הרשאות.
כדי להוסיף חשבונות משתמש, לוחצים על Add principal.
בשדה New principals, מוסיפים את מזהי האימייל של הזהות שרוצים להעניק לה גישה.
בתפריט Select a role, בוחרים באפשרות Analytics Hub ואז בוחרים אחד מהתפקידים הבאים בניהול זהויות והרשאות גישה (IAM):
- Analytics Hub Admin
- אדמין של כרטיס מוצר ב-Analytics Hub
- Analytics Hub Publisher
- Analytics Hub Subscriber
- בעלים של מינוי ל-Analytics Hub
- Analytics Hub Viewer
לוחצים על Save.
API
קוראים את המדיניות הקיימת באמצעות ה-method
getIamPolicyשל הרישום באמצעותprojects.locations.dataExchanges.listings.getIamPolicy:POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID:getIamPolicy
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט, לדוגמה:my-project-1. LOCATION: המיקום של חילופי הנתונים שמכילים את כרטיס המוצר. משתמשים באותיות קטנות.-
DATAEXCHANGE_ID: מזהה חילופי הנתונים. -
LISTING_ID: מזהה כרטיס המוצר.
שיתוף מחזיר את המדיניות הנוכחית.
-
כדי להוסיף או להסיר חברים ואת התפקידים המשויכים שלהם בניהול הזהויות והרשאות הגישה (IAM), צריך לערוך את המדיניות באמצעות כלי לעריכת טקסט. כדי להוסיף חברים, צריך להשתמש בפורמט הבא:
user:test-user@gmail.comgroup:admins@example.comserviceAccount:test123@example.domain.comdomain:example.domain.com
לדוגמה, כדי להקצות את התפקיד
roles/analyticshub.publisherל-group:publishers@example.com, מוסיפים את הקישור הבא למדיניות:{ "members": [ "group:publishers@example.com" ], "role":"roles/analyticshub.publisher" }כותבים את המדיניות המעודכנת באמצעות השיטה
projects.locations.dataExchanges.listings.setIamPolicy. בגוף הבקשה, מציינים את מדיניות ה-IAM המעודכנת מהשלב הקודם.POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING-ID:setIamPolicy
בגוף הבקשה, מציינים את פרטי כרטיס המוצר. אם הבקשה תאושר, גוף התגובה יכיל את פרטי כרטיס המוצר.
כשמעניקים הרשאות ברמת המשאב, למשל לכרטיס מוצר, צריך להשתמש באותיות קטנות בחלק של המיקום בשם המשאב. שימוש בערכים באותיות רישיות או בשילוב של אותיות רישיות וקטנות עלול לגרום לשגיאות Permission Denied.
- שימוש ב:
projects/myproject/locations/us/dataExchanges/123/listings/456 - יש להימנע מ:
projects/myproject/locations/US/dataExchanges/123/listings/456 - יש להימנע מ:
projects/myproject/locations/Eu/dataExchanges/123/listings/456
אפשר למחוק ולעדכן תפקידים של כרטיסי מוצר באמצעות אותה חלונית IAM.
המאמרים הבאים
- מידע על תפקידי IAM ב-BigQuery
- מידע נוסף על שיתוף ב-BigQuery
- איך מנהלים את חילופי הנתונים
- איך מנהלים כרטיסי מוצר
- איך צופים בכרטיסי מוצר ובמרכזי נתונים ונרשמים אליהם