שימוש בחשבונות שירות עם שירות העברת הנתונים ל-BigQuery
שירות העברת הנתונים ל-BigQuery מאפשר לאמת העברות נתונים ממקורות נתונים נתמכים באמצעות חשבון שירות, במקום פרטי כניסה של משתמשים ספציפיים. חשבון שירות הוא חשבון Google שמשויך לפרויקט ב- Google Cloud , שיכול להריץ משימות כמו שאילתות מתוזמנות או צינורות עיבוד נתונים באצווה. אתם יכולים להגדיר אימות של חשבון שירות באמצעות מסוף Google Cloud , ה-API או שורת הפקודה של bq, ולעדכן העברות קיימות כשפרטי הכניסה משתנים.
קודי השגיאה הבאים מציינים מצבים שבהם צריך לעדכן את פרטי הכניסה:
העברת הנתונים נכשלה כי לא ניתנה הרשאה לגישה של המשתמש למקור הנתונים:
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
- טביעת רגל פחמנית
- העתקת מערך נתונים
- Display & Video 360
- Google Ad Manager
- Google Ads
- Google Merchant Center
- Google Play
- שאילתות מתוזמנות
- Search Ads 360
- Teradata
- בעלי התוכן ב-YouTube
לפני שמתחילים
- מוודאים שביצעתם את כל הפעולות שנדרשות כדי להפעיל את שירות העברת הנתונים ל-BigQuery.
- להקצות תפקידים של ניהול זהויות והרשאות גישה (IAM) שנותנים למשתמשים את ההרשאות שנדרשות כדי לבצע כל משימה שמופיעה במסמך הזה.
ההרשאות הנדרשות
כדי לעדכן העברת נתונים כך שתשתמש בחשבון שירות, אתם צריכים את ההרשאות הבאות:
הרשאת
bigquery.transfers.updateכדי לשנות את ההעברה.התפקיד המוגדר מראש
roles/bigquery.adminב-IAM כולל את ההרשאה הזו.גישה לחשבון השירות. מידע נוסף על הקצאת התפקיד "משתמש בחשבון שירות" למשתמשים זמין במאמר התפקיד "משתמש בחשבון שירות".
חשוב לוודא שלחשבון השירות שבוחרים להפעלת ההעברה יש את ההרשאות הבאות:
ההרשאות
bigquery.datasets.getו-bigquery.datasets.updateבמערך הנתונים המיועד. אם בטבלה מוגדרת בקרת גישה ברמת העמודה, לחשבון השירות צריכה להיות גם ההרשאהbigquery.tables.setCategory.התפקיד המוגדר מראש
bigquery.adminב-IAM כולל את כל ההרשאות האלה. למידע נוסף על תפקידי IAM בשירות העברת הנתונים ל-BigQuery, קראו את המאמר מבוא ל-IAM.גישה למקור הנתונים שהוגדר להעברה. למידע נוסף על ההרשאות הנדרשות למקורות נתונים שונים, קראו את המאמר מקורות נתונים עם תמיכה בחשבון שירות.
בהעברות מ-Google Ads, צריך להעניק לחשבון השירות הרשאה ברמת הדומיין. מידע נוסף זמין במדריך של Google Ads API בנושא חשבונות שירות.
עדכון פרטי הכניסה להעברת נתונים
אתם יכולים לעדכן העברת נתונים קיימת באמצעות פרטי הכניסה של חשבון שירות. צריך לעדכן את פרטי הכניסה במקרים הבאים:
העברת הנתונים נכשלה כי לא ניתנה הרשאה לגישה של המשתמש למקור הנתונים:
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
המסוף
בשלבים הבאים מוסבר איך לעדכן הגדרות של העברת נתונים כדי לבצע אימות באמצעות חשבון שירות במקום באמצעות חשבון המשתמש הפרטי שלכם.
במסוף Google Cloud , נכנסים לדף העברות נתונים.
לוחצים על ההעברה ברשימת העברות הנתונים.
לוחצים על EDIT כדי לעדכן את הגדרות ההעברה.

בשדה 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. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.