הגדרת תפקידי שיתוף ב-BigQuery
כדי לנהל בצורה מאובטחת את הגישה לנתונים שמשותפים ב-BigQuery, צריך להקצות תפקידים ספציפיים בניהול זהויות וגישה (IAM) לשיתוף ב-BigQuery (לשעבר Analytics Hub). אתם קובעים את הרשאות המשתמשים לנתונים שלכם על ידי הקצאת התפקידים האלה, וכך אתם מוודאים שרק משתמשים מורשים יכולים לגלות את המשאבים של שיתוף הנתונים, להירשם אליהם ולנהל אותם.
תפקידי IAM לשיתוף ב-BigQuery
בקטעים הבאים מתוארים תפקידי השיתוף המוגדרים מראש ב-BigQuery. אתם יכולים להקצות את התפקידים האלה למשתמשים כדי לבצע משימות שונות בבורסות ובכרטיסי המוצר שלכם.
תפקיד אדמין ב-Analytics Hub
כדי לנהל אוספי נתונים לשיתוף, BigQuery sharing מספק את תפקיד האדמין של Analytics Hub (roles/analyticshub.admin) שאפשר להעניק עבור Google Cloud פרויקט או אוסף נתונים לשיתוף. התפקיד הזה מאפשר למשתמשים:
- יצירה, עדכון ומחיקה של חילופי נתונים.
- ליצור, לעדכן, למחוק ולשתף כרטיסי מוצר.
- ניהול מנהלי BigQuery sharing, מנהלי רישום, מפרסמים, מנויים וצופים.
התפקיד הזה הופך אתכם לאדמינים של שיתוף ב-BigQuery.
תפקידי אדמין של פרסום ורישום ב-Analytics Hub
כדי לנהל כרטיסי מוצר, שיתוף מספק את התפקידים המוגדרים מראש הבאים שאפשר להקצות לפרויקט, לבורסת נתונים או לכרטיס מוצר:
תפקיד 'מפרסם' ב-Analytics Hub (
roles/analyticshub.publisher), שמאפשר למשתמשים לבצע את הפעולות הבאות:- ליצור, לעדכן ולמחוק כרטיסי מוצר.
- הגדרת מדיניות IAM לכרטיסי מוצר.
התפקיד הזה הופך אתכם למפרסמים בשיתוף BigQuery.
תפקיד אדמין של רשימת Analytics Hub (
roles/analyticshub.listingAdmin), שמאפשר למשתמשים לבצע את הפעולות הבאות:- עדכון ומחיקה של כרטיסי מוצר.
- הגדרת מדיניות IAM לכרטיסי מוצר.
התפקיד הזה הופך אתכם לאדמינים של רשימת שיתוף ב-BigQuery.
תפקידים של מנוי ובעל הרשאת צפייה ב-Analytics Hub
כדי לצפות בפרטים של כרטיסי מוצר ובאוספי נתונים לשיתוף ולהירשם אליהם, אפשר להקצות את התפקידים המוגדרים מראש הבאים שזמינים בשיתוף לפרויקט, לאוסף נתונים לשיתוף או לכרטיס מוצר:
תפקיד המנוי ב-Analytics Hub (
roles/analyticshub.subscriber), שמאפשר למשתמשים לצפות בכרטיסי מוצר ולהירשם אליהם.התפקיד הזה הופך אתכם למנויים לשיתוף ב-BigQuery.
תפקיד הצופה ב-Analytics Hub (
roles/analyticshub.viewer), שמאפשר למשתמשים לצפות בכרטיסי מוצר ובהרשאות של שיתוף נתונים.התפקיד הזה הופך אתכם למשתמשים עם הרשאת צפייה בשיתוף ב-BigQuery.
תפקיד בעלים של מינוי ל-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.לדוגמה, כדי להגדיר מדיניות ברמת הפרויקט, משתמשים בשיטה
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.
המאמרים הבאים
- מידע נוסף על תפקידים והרשאות שיתוף ב-BigQuery
- מידע נוסף על שיתוף ב-BigQuery
- איך מנהלים את חילופי הנתונים
- איך מנהלים כרטיסי מוצר
- איך צופים בנתונים ובכרטיסי מוצר בבורסות נתונים ונרשמים אליהם