שימוש בחשבונות שירות עם שירות העברת נתונים ל-BigQuery
חלק ממקורות הנתונים תומכים באימות העברת נתונים באמצעות חשבון שירות דרך מסוף Google Cloud , API או שורת הפקודה bq. חשבון שירות הוא חשבון Google שמשויך לפרויקט Google Cloud . חשבון שירות יכול להריץ משימות, כמו שאילתות מתוזמנות או צינורות לעיבוד אצווה, על ידי אימות באמצעות פרטי הכניסה של חשבון השירות ולא פרטי הכניסה של משתמש.
אתם יכולים לעדכן העברת נתונים קיימת באמצעות פרטי הכניסה של חשבון שירות. מידע נוסף זמין במאמר בנושא עדכון פרטי הכניסה להעברת נתונים.
במצבים הבאים צריך לעדכן את פרטי הכניסה:
ההעברה נכשלה כי לא הצלחנו לאשר את הגישה של המשתמש למקור הנתונים:
Error code 401 : Request is missing required authentication credential. UNAUTHENTICATEDמופיעה השגיאה INVALID_USER כשמנסים להפעיל את ההעברה:
Error code 5 : Authentication failure: User Id not found. Error code: INVALID_USERID
מידע נוסף על אימות באמצעות חשבונות שירות זמין במאמר מבוא לאימות.
מקורות נתונים עם תמיכה בחשבון שירות
שירות העברת נתונים ל-BigQuery יכול להשתמש בפרטי כניסה של חשבון שירות להעברות עם:
* Cloud Storage * Amazon Redshift * Amazon S3 * Campaign Manager * Carbon Footprint * Dataset Copy * Display & Video 360 * Google Ad Manager * Google Ads * Google Merchant Center * Google Play * Scheduled Queries * Search Ads 360 * Teradata * YouTube Content Ownerלפני שמתחילים
- מוודאים שביצעתם את כל הפעולות שנדרשות במאמר הפעלת שירות העברת נתונים ל-BigQuery.
- צריך להקצות תפקידים בניהול הזהויות והרשאות הגישה (IAM) שנותנים למשתמשים את ההרשאות הנדרשות לביצוע כל משימה שמופיעה במאמר הזה.
ההרשאות הנדרשות
כדי לעדכן העברת נתונים כך שתשתמש בחשבון שירות, צריכות להיות לכם ההרשאות הבאות:
הרשאת
bigquery.transfers.updateלשינוי ההעברה.ההרשאה הזו כלולה בתפקיד IAM המוגדר מראש
roles/bigquery.admin.גישה לחשבון השירות. מידע נוסף על מתן תפקיד בחשבון שירות למשתמשים זמין במאמר התפקיד 'משתמש בחשבון שירות'.
חשוב לוודא שלחשבון השירות שבוחרים להריץ את ההעברה יש את ההרשאות הבאות:
ההרשאות
bigquery.datasets.getו-bigquery.datasets.updateבמערך הנתונים המיועד. אם בטבלה מוגדר בקרת גישה ברמת העמודה, לחשבון השירות צריכה להיות גם ההרשאהbigquery.tables.setCategory.תפקיד ה-IAM המוגדר מראש
bigquery.adminכולל את כל ההרשאות האלה. מידע נוסף על תפקידי IAM בשירות העברת נתונים ל-BigQuery זמין במאמר מבוא ל-IAM.גישה למקור הנתונים שהוגדר להעברה. מידע נוסף על ההרשאות הנדרשות למקורות נתונים שונים זמין במאמר מקורות נתונים עם תמיכה בחשבון שירות.
בהעברות של Google Ads, לחשבון השירות צריכה להיות הרשאה ברמת הדומיין. מידע נוסף זמין במדריך בנושא חשבון שירות של Google Ads API.
עדכון פרטי הכניסה להעברת נתונים
המסוף
התהליך הבא מעדכן את ההגדרה של העברת נתונים כדי לבצע אימות בתור חשבון שירות במקום בתור חשבון משתמש פרטי.
נכנסים לדף 'העברות נתונים' במסוף Google Cloud .
לוחצים על ההעברה ברשימת העברות הנתונים.
לוחצים על עריכה כדי לעדכן את הגדרות ההעברה.

בשדה Service Account, מזינים את השם של חשבון השירות.
לוחצים על Save.
BQ
כדי לעדכן את פרטי הכניסה של העברת נתונים, אפשר להשתמש בכלי שורת הפקודה של BigQuery כדי לעדכן את הגדרות ההעברה.
משתמשים בפקודה bq update עם הדגלים --transfer_config, --update_credentials ו---service_account_name.
לדוגמה, הפקודה הבאה מעדכנת את ההגדרה של העברת נתונים כך שהאימות יתבצע באמצעות חשבון שירות במקום באמצעות חשבון משתמש פרטי:
bq update \
--transfer_config \
--update_credentials \
--service_account_name=abcdef-test-sa@abcdef-test.iam.gserviceaccount.com projects/862514376110/locations/us/transferConfigs/5dd12f26-0000-262f-bc38-089e0820fe38 \
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Python API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.