הגדרת חשבון שירות ב-Google Cloud ל-Data Studio

במקום להקצות גישה באמצעות פרטי הכניסה של הבעלים, או לדרוש שצופים בדוחות יקבלו גישה לנתונים באמצעות פרטי הכניסה של הצופה, Data Studio יכול להשתמש בחשבון שירות כדי לגשת לנתונים. חשבון שירות הוא סוג מיוחד של חשבון Google שמייצג משתמש לא אנושי, שצריך לאמת ולאשר כדי לתת לו גישה לנתונים ב-Google APIs ובמוצרים של Google.

למידע נוסף על חשבונות שירות

היתרונות של שימוש בחשבון שירות עם Data Studio

שימוש בחשבון שירות במקום בפרטי הכניסה של משתמש בודד מספק את היתרונות הבאים:

  • מקורות נתונים שמשתמשים בפרטי כניסה של חשבון שירות לא ייפגעו אם היוצר יעזוב את החברה.
  • פרטי כניסה של חשבון שירות תומכים בגישה לנתונים שנמצאים מאחורי אזורים של VPC Service Controls שמשתמשים במדיניות מכשירים.
  • תכונות אוטומטיות כמו הודעות אימייל מתוזמנות, התראות באימייל ודוחות מתוזמנים של חילוץ נתונים פועלות עם מקורות נתונים שנמצאים מאחורי גבולות גזרה של VPC Service Controls. (בקטע ההגבלות מופיעה הערה חשובה).
  • אתם יכולים ליצור כללים לתעבורת נתונים נכנסת ויוצאת כדי לאפשר לחשבון השירות גישה למשאבים וללקוחות שמוגנים על ידי גבולות הגזרה לשירות, וגישה מהם.

התפקידים הנדרשים

אלה התפקידים שנדרשים כדי להגדיר חשבון שירות ל-Data Studio:

לאדמינים

  • כדי לקבל את סוכן השירות של Data Studio, אתם צריכים להיות משתמשים ב-Google Workspace או ב-Cloud Identity.
  • כדי להגדיר חשבון שירות, צריך לקבל את התפקיד אדמין של חשבון שירות (roles/iam.serviceAccountAdmin) או יצירת חשבונות שירות (roles/iam.serviceAccountCreator) ב Google Cloud פרויקט. מידע נוסף על תפקידים בחשבונות שירות
  • כדי להגדיר את חשבון השירות כך שתהיה לו גישה לטבלה ב-BigQuery או למערך נתונים, צריך להיות לכם התפקיד BigQuery Data Owner (הבעלים של נתוני BigQuery) (roles/bigquery.dataOwner) בטבלה או במערך הנתונים, או תפקיד אחר שמעניק לכם את ההרשאה bigquery.datasets.setIamPolicy.

לחשבון השירות

  • לכל הפחות, צריך להעניק לחשבון השירות את התפקיד BigQuery Data Viewer (צפייה בנתוני BigQuery) ‏(roles/bigquery.dataViewer) בטבלאות או במערכי הנתונים הספציפיים שהוא צריך לגשת אליהם.
  • שאילתות בהתאמה אישית: אם מקור הנתונים משתמש בשאילתה בהתאמה אישית, צריך להעניק לחשבון השירות גם את התפקיד BigQuery Job User ‏ (roles/bigquery.jobUser) בפרויקט Google Cloud שמכיל את הנתונים.

הוראות להגדרה

כדי להגדיר חשבון שירות שמעניק גישה לנתוני BigQuery, פועלים לפי השלבים הבאים:

  1. קבלת סוכן השירות של Data Studio בשלב הזה, מעתיקים את כתובת האימייל של סוכן השירות כדי להשתמש בה בשלב הבא. הכתובת הזו נוצרת בשבילכם באופן אוטומטי על ידי Data Studio.
  2. יוצרים חשבון שירות ל-Data Studio. בשלב הזה יוצרים את המשתמש הלא-אנושי שיקבל גישה לנתונים.
  3. מתן הרשאה לסוכן השירות של Data Studio לגשת לחשבון השירות. בשלב הזה, מעניקים לסוכן השירות את התפקיד הנדרש בחשבון השירות.
  4. הקצאת תפקידי משתמשים. בשלב הזה, תעניקו למשתמשים את התפקיד הנדרש כדי שיוכלו ליצור מקורות נתונים שמשתמשים בפרטי הכניסה של חשבון השירות.
  5. הענקת גישה לחשבון השירות לנתוני BigQuery. בשלב הזה, תעניקו לחשבון השירות את התפקיד הנדרש כדי שיוכל לגשת לטבלה או למערך נתונים ב-BigQuery.

שלב 1: קבלת סוכן השירות של Data Studio

כדי לאפשר לחשבון השירות לגשת לנתונים שלכם, תצטרכו לספק את סוכן השירות של Data Studio לארגון שלכם. אפשר למצוא את סוכן השירות בדף עזרה ב-Data Studio:

  1. עוברים אל דף העזרה של סוכן השירות של Data Studio.
  2. מעתיקים את כתובת האימייל של סוכן השירות שמופיעה בדף.

שלב 2: יוצרים חשבון שירות ל-Data Studio

הוראות ליצירת חשבון שירות מופיעות בGoogle Cloud מסמכי ה-IAM. אפשר ליצור את חשבון השירות באמצעות מסוף Google Cloud או שורת הפקודה של Cloud Shell.

המסוף

  1. נכנסים לדף יצירת חשבון שירות במסוף Google Cloud .

    כניסה לדף Create service account

  2. בוחרים פרויקט.
  3. נותנים לחשבון השירות שם שיוצג במסוף Google Cloud .

    המסוף Google Cloud יוצר מזהה לחשבון השירות על סמך השם הזה. עורכים את המזהה עכשיו אם צריך. אי אפשר יהיה לשנות את המזהה בשלב מאוחר יותר.

  4. אופציונלי: מזינים תיאור של חשבון השירות.
  5. לוחצים על יצירה והמשך.
  6. בקטע הרשאות, נותנים לחשבון השירות את תפקיד ה-IAM BigQuery Job User בפרויקט שמכיל את הנתונים שאליהם רוצים להתחבר ב-Data Studio. שימו לב: יכול להיות שהפרויקט הזה שונה מהפרויקט שבו יצרתם את חשבון השירות.
  7. לוחצים על Continue.
  8. בשדה Service account users role, מוסיפים את המשתמשים שיכולים להשתמש בחשבון השירות הזה כדי לספק פרטי כניסה למקורות הנתונים שלהם. אם אתם לא רוצים להוסיף משתמשים עכשיו, תוכלו לעשות זאת מאוחר יותר לפי ההוראות שבמאמר הקצאת תפקידי משתמשים.
  9. לוחצים על DONE כדי לשמור את חשבון השירות ולחזור לדף הרשימה של חשבונות השירות בפרויקט.

gcloud

פועלים לפי השלבים הכלליים שמפורטים בקטע Cloud Shell במאמר יצירה וניהול של חשבונות שירות.

  1. פותחים את Cloud Shell.
  2. בוחרים פרויקט, אם צריך.
  3. כדי ליצור את חשבון השירות, מריצים את הפקודה gcloud iam service-accounts create. אתם יכולים להשתמש בכל שם חשבון, תיאור ושם מוצג שתבחרו.

לדוגמה:

gcloud iam service-accounts create looker-studio-service-account \
--description="Use for Data Studio access to BigQuery"  \
--display-name="LS_BQ"
  1. כדי לגשת לנתוני BigQuery ב Google Cloud פרויקט שבו רוצים להשתמש עם Data Studio, צריך לתת לחשבון השירות את ההרשאה bigquery.jobs.createבפרויקט הזה. כדי לתת את ההרשאה הזו, אפשר להקצות את תפקיד ה-IAM BigQuery Job User.

    בנוסף, צריך לתת לחשבון השירות bigquery.tables.getData וbigquery.tables.get הרשאות בפרויקט או במערך הנתונים שרוצים להשתמש בהם ב-Data Studio. כדי לתת את ההרשאות האלה, אפשר להקצות את התפקיד BigQuery Data Viewer (roles/bigquery.dataViewer).

    כדי להקצות את התפקידים האלה, מריצים את הפקודה gcloud projects add-iam-policy-binding. בדוגמאות הבאות, מחליפים את PROJECT_ID במזהה הפרויקט.

דוגמה: הענקת התפקיד BigQuery Job User

gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:looker-studio-service-account@PROJECT_ID.iam.gserviceaccount.com" \
--role="roles/bigquery.jobUser"

דוגמה: הענקת התפקיד BigQuery Data Viewer

gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:looker-studio-service-account@PROJECT_ID.iam.gserviceaccount.com" \
--role="roles/bigquery.dataViewer"

שלב 3: מתן גישה לחשבון השירות לסוכן השירות של Data Studio

כדי לאפשר לסוכן השירות של Data Studio לגשת לנתונים באמצעות חשבון השירות, צריך להקצות לסוכן השירות את התפקיד יצירת אסימונים בחשבון שירות (roles/iam.serviceAccountTokenCreator).

המסוף

  1. חוזרים לרשימת חשבונות השירות במסוףGoogle Cloud .
  2. בוחרים את חשבון השירות של Data Studio שיצרתם זה עתה על ידי לחיצה עליו ברשימה.
  3. לוחצים על Principals with access.
  4. לוחצים על person_addהענקת גישה.
  5. בתיבה New principals, שבקטע Add principals to PROJECT_ID, מדביקים את כתובת האימייל של סוכן השירות של Data Studio (שהעתקתם בשלב 1). כתובת האימייל של סוכן השירות תיראה כך:
        service-org-ORG-ID@gcp-sa-datastudio.iam.gserviceaccount.com
    
    מחליפים את ORG-ID במזהה Google Cloud הארגון.
  6. בוחרים תפקיד שנותן לסוכן השירות את iam.serviceAccounts.getAccessTokenההרשאה. לדוגמה, אפשר להשתמש בתפקיד יצירת אסימונים בחשבון שירות, אבל אפשר גם להשתמש בכל תפקיד מותאם אישית שמעניק את ההרשאה הזו.
  7. לוחצים על SAVE.

gcloud

מריצים את הפקודה gcloud iam service-accounts add-iam-policy-binding. בדוגמה הבאה, מחליפים את ORG_ID במזהה הארגון.

לדוגמה:

gcloud iam service-accounts add-iam-policy-binding looker-studio-service-account@PROJECT_ID.iam.gserviceaccount.com \
--member="serviceAccount:service-org-ORG_ID@gcp-sa-datastudio.iam.gserviceaccount.com" \
--role="roles/iam.serviceAccountTokenCreator"

שלב 4: הקצאת תפקידי משתמש

משתמשי Data Studio שייצרו או יערוכו מקורות נתונים צריכים לקבל תפקיד שכולל את ההרשאה iam.serviceAccounts.actAs, כמו התפקיד משתמש בחשבון שירות (roles/iam.serviceAccountUser). אפשר להעניק את התפקיד הזה בפרויקט או בחשבון שירות ספציפי, אבל מומלץ להעניק את התפקיד רק בחשבון השירות. למידע נוסף, עיינו במאמר ניהול התחזות לחשבון שירות.

אנחנו ממליצים לא להעניק למשתמשים שהם לא סוכני שירות את התפקיד יצירת אסימונים בחשבון שירות – הוא לא נדרש ל-Data Studio.

המסוף

  1. עוברים אל רשימת חשבונות השירות במסוף.
  2. לוחצים על חשבון השירות של Data Studio ברשימה כדי לבחור אותו.
  3. לוחצים על Principals with access.
  4. לוחצים על person_add אישור גישה.
  5. בקטע Add principals and roles for Service Account (הוספת חשבונות משתמשים ותפקידים לחשבון השירות), מזינים את כתובות האימייל של המשתמשים בתיבה New principals (חשבונות משתמשים חדשים).
  6. בוחרים בתפקיד משתמש בחשבון שירות.
  7. לוחצים על SAVE.

gcloud

כדי להעניק את התפקיד משתמש חשבון שירות, מריצים את הפקודה gcloud projects add-iam-policy-binding. בדוגמאות הבאות, מחליפים את PROJECT_ID במזהה הפרויקט ואת USER_EMAIL בכתובת אימייל תקינה אחת או יותר (אם מזינים כמה כתובות, צריך להפריד ביניהן בפסיקים).

לדוגמה:

gcloud iam service-accounts add-iam-policy-binding  looker-studio-service-account@PROJECT_ID.iam.gserviceaccount.com  \
--member="user:USER_EMAIL" \
--role="roles/iam.serviceAccountUser"

שלב 5: מתן גישה לחשבון השירות לנתונים ב-BigQuery

כדי לאפשר ל-Data Studio לגשת לנתונים שלכם, צריך להעניק לחשבון השירות את התפקיד BigQuery Data Viewer (צפייה בנתונים ב-BigQuery) ברמת הטבלה או מערך הנתונים. לא מומלץ להעניק גישה לחשבון שירות ברמת הפרויקט.

כדי להשלים את השלב הזה, מעתיקים את כתובת האימייל של סוכן השירות של Data Studio, כמו שמתואר בשלב 1. מקבלים את סוכן השירות של Data Studio כדי שתוכלו להדביק אותו בתיבת הדו-שיח Add principal כשתתבקשו לעשות זאת.

המסוף

כדי להעניק גישה לטבלה:

  1. מעתיקים את חשבון השירות של Data Studio, כמו שמתואר למעלה בשלב 2: יצירת חשבון שירות ל-Data Studio.
  2. עוברים אל Google Cloud רשימת חשבונות השירות במסוף.
  3. עוברים אל BigQuery ובוחרים פרויקט.
  4. לוחצים על מערך נתונים מערכי נתונים, ואז בוחרים מערך נתונים.
  5. בוחרים טבלה.
  6. בסרגל הכלים, לוחצים על התפריט person_add שיתוף ואז על שיתוף.
  7. בחלונית Share permissions, לוחצים על person_add ADD PRINCIPAL.
  8. בתיבה New principals, מדביקים את כתובת האימייל של סוכן השירות של Data Studio.
  9. בוחרים בתפקיד BigQuery Data Viewer (צפייה בנתוני BigQuery).
  10. לוחצים על SAVE.

כדי להעניק גישה למערך נתונים:

  1. מעתיקים את חשבון השירות של Data Studio, כמו שמתואר למעלה בשלב 2: יצירת חשבון שירות ל-Data Studio.
  2. עוברים אל Google Cloud רשימת חשבונות השירות במסוף.
  3. עוברים אל BigQuery ובוחרים פרויקט.
  4. לוחצים על dataset Datasets (מערכי נתונים) ואז בוחרים מערך נתונים.
  5. לוחצים על סמל האפשרויות הנוספות more_vert פעולות chevron_forward שיתוף chevron_forward ניהול הרשאות.
  6. בחלונית Share permissions, לוחצים על person_add ADD PRINCIPAL.
  7. בתיבה New principals, מדביקים את כתובת האימייל של סוכן השירות של Data Studio.
  8. בוחרים בתפקיד BigQuery Data Viewer (צפייה בנתוני BigQuery).
  9. לוחצים על SAVE.

gcloud

מומלץ להשתמש בהוראות Google Cloud במסוף כדי להעניק גישה לנתונים. כדי להעניק גישה לנתונים באמצעות כלי שורת הפקודה bq, אפשר לעיין במאמר בנושא שליטה בגישה למערכי נתונים במסמכי התיעוד של BigQuery.

מספקים למשתמשי Data Studio את חשבונות השירות של Data Studio

משתמשי Data Studio יצטרכו לדעת באיזה חשבון שירות להשתמש כשהם יוצרים מקורות נתונים. אין אפשרות לראות את רשימת חשבונות השירות הזמינים מתוך Data Studio, ולכן צריך לפרסם את המידע הזה באמצעות התיעוד של הארגון, אתר פנימי או אימייל.

יצירת מקור נתונים שמשתמש בפרטי כניסה של חשבון שירות

כדי ליצור מקורות נתונים שמשתמשים בפרטי כניסה של חשבון שירות, משתמשי Data Studio יכולים לפעול לפי אותם שלבים בסיסיים כמו עבור סוגים אחרים של פרטי כניסה לנתונים:

  1. יצירה או עריכה של מקור נתונים ב-BigQuery.
  2. בסרגל הכלים, לוחצים על Data Credentials.
  3. בוחרים באפשרות שירות פרטי חשבון.
  4. מזינים את כתובת האימייל של חשבון השירות בתיבה.
  5. לוחצים על עדכון.

עריכה של מקור נתונים שמשתמש בפרטי כניסה של חשבון שירות

כשמישהו עורך מקור נתונים שמשתמש בפרטי כניסה של חשבון שירות, Data Studio בודק אם יש לו הרשאה להשתמש בחשבון השירות. אם לא, מקור הנתונים יעבור לשימוש בפרטי הכניסה של אותו אדם.

איך בודקים מי משתמש בחשבון השירות כדי לגשת לנתונים

אפשר לבדוק את יומני הביקורת של חשבונות שירות במסוף Google Cloud . כדי לקבל יומני ביקורת לחשבונות שירות, צריך להפעיל את יומני הביקורת של IAM עבור פעילות של גישה לנתונים.

תרחיש לדוגמה של חשבון שירות

נניח שאתם רוצים לוודא שלמשתמשי Data Studio בחברה שלכם יש גישה רק לנתונים של חברת הבת במדינה שלהם. פתרון אפשרי הוא ליצור חשבון שירות לכל מדינה, ולהעניק למשתמשי Data Studio במדינה הזו בלבד הרשאה לפעול בתור חשבון השירות.

הגדרה לדוגמה

בדוגמה הזו, תיצרו שלושה חשבונות שירות: אחד לבריטניה, אחד לצרפת ואחד לגרמניה. לאחר מכן, תגדירו את סוכן השירות ואת כל המשתמשים שאתם רוצים שתהיה להם אפשרות ליצור מקורות נתונים שמשתמשים בחשבון השירות כגורמים ראשיים. תצטרכו גם להקצות לכל אחד מהם את התפקידים המתאימים.

חשבון שירות בבריטניה

service-account-1@example-org-uk-example-project.iam.gserviceaccount.com

מנהלי בתי ספר בבריטניה

חשבונות משתמשים תפקידים

service-org-12345@gcp-sa-datastudio.iam.gserviceaccount.com

זה סוכן השירות.

Service Account Token Creator
משתמש 1 Service Account User
משתמש 2 Service Account User

חשבון שירות בצרפת

service-account-1@example-org-fr-example-project.iam.gserviceaccount.com

מנהלים בצרפת

חשבונות משתמשים תפקידים

service-org-12345@gcp-sa-datastudio.iam.gserviceaccount.com

זה סוכן השירות.

Service Account Token Creator
משתמש 3 Service Account User
משתמש 4 Service Account User

חשבון שירות בגרמניה

service-account-1@example-org-de-example-project.iam.gserviceaccount.com

מנהלים בגרמניה

חשבונות משתמשים תפקידים

service-org-12345@gcp-sa-datastudio.iam.gserviceaccount.com

זה סוכן השירות.

Service Account Token Creator
משתמש 5 Service Account User
משתמש 6 Service Account User

שגיאות

בקטע הזה מוסברות השגיאות שיוצרי מקורות נתונים וצופים בדוחות ב-Data Studio עשויים לראות כשהם מנסים להשתמש בחשבון שירות. ברוב המקרים, השגיאות האלה נובעות מאותו גורם: הגדרה שגויה או לא מלאה של חשבון השירות.

חסר תפקיד של סוכן שירות

Messages

  • חסרה לסוכן השירות של Data Studio ההרשאה iam.serviceAccounts.getAccessToken בשירות הזה.
  • לחשבון השירות של מקור הנתונים הזה אין את התפקיד 'יצירת אסימונים בחשבון שירות'.

מטרה

לא הוקצה לסוכן השירות התפקיד Service Account Token Creator (או תפקיד אחר שכולל את ההרשאה iam.serviceAccounts.getAccessToken).

פתרון

מקצים לסוכן השירות את התפקיד יצירת אסימונים בחשבון שירות .

אין גישה לנתונים

הודעה

לחשבון השירות הזה אין גישה למערך הנתונים הבסיסי.

למען הקהילה

  • לא הוענקה לחשבון השירות גישה לנתונים של הפרויקט.
  • פרויקט החיוב מקושר לפרויקט שלחשבון השירות אין גישה אליו.
  • מקור הנתונים משתמש בשאילתה בהתאמה אישית, אבל לחשבון השירות אין את התפקיד BigQuery Job User בפרויקט.

פתרון

  • לפחות, צריך להעניק לחשבון השירות את התפקיד BigQuery Data Viewer (צפייה בנתוני BigQuery) בטבלה, במערך הנתונים או בפרויקט הבסיסיים.
  • אם משתמשים בשאילתה בהתאמה אישית, צריך גם להעניק לחשבון השירות את התפקיד BigQuery Job User בפרויקט שבו השאילתה מופעלת.

חסר תפקיד משתמש

הודעה

אין לך הרשאה להשתמש בחשבון השירות הזה.

מטרה

המשתמש לא נוסף כחשבון ראשי לחשבון השירות עם התפקיד משתמש בחשבון שירות.

פתרון

מקצים למשתמש את התפקיד משתמש בחשבון שירות בחשבון השירות.

נציג שירות לא זמין לחשבון

Messages

  • אי אפשר ליצור סוכני שירות לחשבון הזה. צריך לנסות שוב עם חשבון מנוהל ב-Google Workspace או ב-Cloud Identity.
  • פרטי הכניסה של סוכני השירות זמינים רק לארגונים מנוהלים ב-Google Workspace או ב-Cloud Identity. כדי להשתמש בתכונה הזו, צריך להשתמש בחשבון אחר.

מטרה

המשתמש מנסה להשתמש בחשבון Google רגיל (חשבון פרטי) כדי לגשת לנתונים שמנוהלים על ידי חשבון שירות.

פתרון

משתמשים בחשבון Google Workspace או Cloud Identity כדי לגשת לנתונים.

אי אפשר להשתמש בסוכן שירות בתיבת הדו-שיח של פרטי הכניסה

הודעה

אי אפשר להשתמש בסוכנים של שירות Data Studio כדי להתחבר ישירות לנתונים. במקום זאת, כדאי להשתמש בחשבון שירות.

פתרון

סוכני שירות שונים מחשבונות שירות. מזינים חשבון שירות בתיבת הדו-שיח של פרטי הכניסה. אפשר למצוא את רשימת חשבונות השירות הזמינים באמצעות מסוף Google Cloud או Cloud Shell:

המסוף

  1. עוברים לדף Google Cloud Platform > IAM & Admin > Service accounts.
  2. בוחרים פרויקט, אם צריך.
  3. בדף Service accounts for project, מאתרים את חשבון השירות שבו Data Studio ישתמש כדי לגשת לנתונים ב-BigQuery.
  4. מעתיקים את כתובת האימייל של החשבון.

gcloud

  1. פותחים את Cloud Shell.
  2. בוחרים פרויקט, אם צריך.
  3. כדי להציג את רשימת חשבונות השירות שיש לכם גישה אליהם, מריצים את הפקודה gcloud iam service-accounts list.

לדוגמה:

gcloud iam service-accounts list

מגבלות

  • פרטי הכניסה של חשבון השירות זמינים רק למקורות נתונים של BigQuery. המגבלות של IAM חלות על חשבונות שירות.
  • יכול להיות שיעברו כמה דקות עד שהשינויים בהרשאות של חשבון השירות יופיעו ב-Data Studio.