אישור חשבונות להעברת נתונים
במסמך הזה מוסבר איך שירות העברת הנתונים ל-BigQuery פועל עם סוגים שונים של חשבונות, אילו סוגים של הרשאות צריך כדי לבצע משימות כלליות של העברת נתונים, ואיך לפתור בעיות שקשורות להרשאות.
כדי להתחיל להשתמש בשירות העברת נתונים ל-BigQuery, צריך לוודא שהחשבונות שמשויכים לפרויקט – גם חשבונות משתמשים וגם חשבונות שירות – מאומתים ומורשים עם ההרשאות הנכונות לביצוע ההעברה. מידע על הרשאות ספציפיות למקור נתונים מופיע במדריך ההעברה של כל מקור נתונים.
מושגים מרכזיים
שירות העברת הנתונים ל-BigQuery מבצע אוטומציה של העברת נתונים ממקורות נתונים שונים ל-BigQuery. מודל האימות וההרשאה פועל בשני שלבים שונים, מישור הבקרה ומישור הנתונים, ומתייחס לשני סוגי משתמשים: יוצר ההעברה או הבעלים של ההעברה.
מישור הבקרה
מישור הבקרה מייצג את השלב בתהליך ההרשאה שבו משתמש מאומת יכול לשלוט בהגדרות ההעברה ובריצות שלה ולנהל אותן. למשתמש במישור הבקרה צריכות להיות הרשאות מתאימות לניהול זהויות והרשאות גישה (IAM) כדי לשלוט בהגדרות ההעברה ובפעולות ההעברה ולנהל אותן:
- ההרשאה
bigquery.transfers.update, שמאפשרת למשתמשים לבצע את הפעולות הבאות:- הגדרת תצורות להעברת נתונים.
- ניהול ההעברות הקיימות, כמו עדכון, השבתה או מחיקה של העברה.
- ההרשאה
bigquery.transfers.get, שמאפשרת למשתמשים לעקוב אחרי הרצות של העברה, למשל לבדוק את הסטטוס של הרצת העברה או לצפות בהיסטוריה ובדוחות של הרצת העברה.
אם אתם משתמשים ב Google Cloud מסוף או בכלי שורת הפקודה של BigQuery כדי ליצור העברה, אתם צריכים גם את ההרשאה bigquery.transfers.get.
לא נדרשת ההרשאה bigquery.transfers.update כדי להגדיר שאילתה מתוזמנת. מידע נוסף זמין במאמר בנושא ההרשאות הנדרשות לשאילתות מתוזמנות.
מישור הנתונים
מישור הנתונים מייצג את השלב שבו הנתונים לא נמצאים בשליטה ישירה של המשתמש. במישור הנתונים, שירות העברת הנתונים ל-BigQuery יכול להפעיל העברות נתונים במצב אופליין, ויכול להפעיל ריצות של העברה באופן אוטומטי על סמך לוח זמנים שצוין על ידי המשתמש. במישור הנתונים, פרטי הכניסה של בעלי ההעברה משמשים לגישה לנתוני המקור, ו (בהתאם למקור הנתונים) פרטי הכניסה של בעלי ההעברה או סוכן השירות של שירות העברת הנתונים ל-BigQuery משמשים להפעלת משימות BigQuery ולכתיבת נתונים למערך נתוני היעד.
לפרטים נוספים על ההרשאות הנדרשות, אפשר לעיין בסעיפים הבאים במדריך הזה:
- הרשאת גישת קריאה למקורות נתונים חיצוניים
- הרשאה להפעלת משימות ב-BigQuery
- הרשאה להפעלת משימות ב-BigQuery ולכתיבת נתונים למערך הנתונים של היעד
העברת יוצר לעומת העברת בעלים
יוצר ההעברה הוא זהות המשתמש שיצר והגדיר את תצורת ההעברה. משתמש בשירות העברת נתונים ל-BigQuery ויוצר העברה יכול להיות חשבון משתמש או חשבון שירות.
המונח 'בעלים של העברה' מתייחס לזהות המשתמש ששירות העברת הנתונים ל-BigQuery משתמש בה כדי לאשר את העברת הנתונים, ובמיוחד כדי לחלץ את נתוני המקור. במקורות הנתונים שתומכים בחשבונות שירות, הבעלים של ההעברה יכול להיות חשבון משתמש או חשבון שירות. במקורות נתונים אחרים, הבעלים של ההעברה חייב להיות חשבון משתמש.
הבעלים של ההעברה והמשתמש שיצר את ההעברה יכולים להיות בעלי אותה זהות משתמש, אבל זה לא חובה. יש כמה דרכים להגדיר משתמש אחר כבעלים של ההעברה, ולא את המשתמש שיצר את ההעברה:
- כשיוצרים העברה, אפשר להגדיר את הבעלים כחשבון שירות אם מקור הנתונים תומך בחשבונות שירות.
- אחרי שיוצרים העברה, אפשר להעביר את הבעלות לחשבון משתמש חדש (או לחשבון שירות אם מקור הנתונים תומך בחשבונות שירות) שיש לו הרשאות
bigquery.transfers.updateו-bigquery.transfers.get. כדי לעדכן את פרטי הכניסה, צריך להתחבר לחשבון החדש.
הרשאת גישת קריאה למקורות נתונים חיצוניים
יכול להיות שיהיו הבדלים בין ההרשאות שנדרשות לקריאת נתוני המקור ממקור נתונים אחד לבין ההרשאות שנדרשות ממקור נתונים אחר. לדוגמה, כדי לגשת ל-Google Ads, נדרשות הרשאות גישה לקריאה של מספר הלקוח ב-Google Ads. באופן דומה, Google Play דורש גישה לדוחות ב-Google Play Console. למידע נוסף על הרשאות שספציפיות למקור נתונים, אפשר לעיין במדריכי ההעברה של כל מקור נתונים.
בהתאם לסוג הזהות של הבעלים של ההעברה, נדרשת שיטת הרשאה שונה כדי לאחזר את אסימון הגישה לנתוני המקור.
העברת בעלות כחשבון שירות
כשמשתמשים בחשבון שירות כבעלים של ההעברה, ההרשאות הנדרשות ניתנות באופן אוטומטי כשמפעילים את BigQuery Data Transfer Service API בפרויקט. שירות העברת הנתונים ל-BigQuery משתמש בסוכן שירות כדי לקבל את אסימון הגישה לחשבון השירות שסופק על ידי המשתמש (הבעלים של ההעברה).
כשמפעילים את שירות העברת נתונים ל-BigQuery API, נוצר סוכן שירות עבור הפרויקט. בנוסף, המערכת מעניקה לסוכן השירות את התפקיד BigQuery Data Transfer Service Agent (roles/bigquerydatatransfer.serviceAgent), שכולל את ההרשאה iam.serviceAccounts.getAccessToken. ההרשאה הזו מאפשרת לסוכן השירות של שירות העברת הנתונים ל-BigQuery להתחזות לחשבון השירות של בעלי ההעברה כדי לאחזר את אסימון הגישה.
מידע נוסף על סוכן השירות של שירות העברת נתונים ל-BigQuery זמין במאמר בנושא סוכן שירות. מידע נוסף על שימוש בחשבונות שירות ורשימה עדכנית של מקורות נתונים שתומכים בחשבונות שירות זמין במאמר שימוש בחשבונות שירות.
העברת בעלות דרך חשבון משתמש
אם הבעלים של ההעברה שיוצר את הגדרת ההעברה הוא חשבון משתמש (ולא חשבון שירות), צריך להעניק באופן ידני הרשאה לשירות העברת הנתונים ל-BigQuery כדי לקבל את אסימון הגישה לחשבון המשתמש ולגשת לנתוני המקור בשם הבעלים של ההעברה. אפשר לתת אישור ידני באמצעות ממשק תיבת הדו-שיח של OAuth.
צריך לתת הרשאה לשירות העברת הנתונים ל-BigQuery רק בפעם הראשונה שיוצרים העברה למקור נתונים מסוים. צריך לתת את ההרשאה שוב כשיוצרים את ההעברה הראשונה לאזור חדש, גם אם משתמשים באותו מקור נתונים. העברות נתונים מערוצי YouTube הן היוצא מן הכלל – צריך להעניק אישור להרשאות באופן ידני בכל פעם שיוצרים העברת נתונים של ערוץ YouTube.
אם הבעלים החדש לא יצר בעבר העברה למקור הנתונים באזור הזה, שינוי הבעלים של ההעברה על ידי עדכון פרטי הכניסה ידרוש אישור ידני.
בצילום המסך הבא מוצג ממשק תיבת הדו-שיח של OAuth כשיוצרים העברה של Google Ads. בתיבת הדו-שיח מוצגות הרשאות ספציפיות למקור הנתונים שצריך לתת:
כדי לבטל את ההרשאות שניתנו:
- עוברים אל הדף של החשבון ב-Google.
- לוחצים על שירות העברת נתונים ל-BigQuery.
- כדי לבטל את ההרשאות, לוחצים על הסרת הגישה.
הרשאה להפעלת משימות ב-BigQuery
כשמבצעים מיגרציה מרוב מקורות הנתונים, למעט מיגרציה באמצעות שאילתות מתוזמנות או עותקים של מערכי נתונים, שירות העברת הנתונים ל-BigQuery מסתמך על סוכני שירות כדי להפעיל משימות BigQuery בפרויקט. ההרשאה הנדרשת bigquery.job.create ניתנת אוטומטית לסוכן השירות כשמפעילים את BigQuery Data Transfer Service API בפרויקט. מידע נוסף זמין במאמר בנושא הפעלת שירות העברת נתונים ל-BigQuery.
כשמבצעים העברה באמצעות שאילתות מתוזמנות או עותקים של מערכי נתונים, שירות העברת הנתונים ל-BigQuery משתמש בפרטי הכניסה של בעלי ההעברה כדי להתחיל את העבודות ב-BigQuery.
הרשאה להפעלת משימות ב-BigQuery ולכתיבת נתונים למערך הנתונים של היעד
כשמבצעים מיגרציה מרוב מקורות הנתונים, למעט מיגרציה באמצעות שאילתות מתוזמנות או העתקות של מערכי נתונים, שירות העברת הנתונים ל-BigQuery מסתמך על סוכן השירות כדי לכתוב נתונים למערך נתוני היעד ב-BigQuery. ההרשאה הנדרשת, roles/bigquery.dataEditor, ניתנת לסוכן השירות על ידי שירות העברת הנתונים ל-BigQuery כשיוצרים את ההעברה. כדי להעניק את ההרשאה בהצלחה, צריך הרשאה מסוג bigquery.datasets.update במערך הנתונים של היעד.
כשמבצעים מיגרציה באמצעות שאילתות מתוזמנות או עותקים של מערכי נתונים, שירות העברת הנתונים ל-BigQuery משתמש בפרטי הכניסה של בעלי ההעברה כדי להריץ את המשימות ב-BigQuery ולכתוב את הנתונים במערך נתוני היעד ב-BigQuery.
שיקולים בנושא הרשאה להעברת ערוץ YouTube
בהעברת נתונים של ערוץ YouTube, המחבר של ערוץ YouTube יכול להעביר נתונים רק מערוץ YouTube שמשויך לפרטי הכניסה של המשתמש שיצר את העברת הנתונים. כדי להעביר נתונים מערוצי YouTube שונים, צריך ליצור העברת נתונים לכל ערוץ, ולכל העברת נתונים שנוצרת, צריך להשתמש בהרשאת המשתמש שמשויכת לאותו ערוץ YouTube.
פתרון בעיות שקשורות להרשאות
אם נתקלתם בבעיות שקשורות להרשאה או להרשאות בהעברה, כדאי לעיין במאמר בעיות שקשורות להרשאה ולהרשאות.