הפעלת שירות העברת הנתונים ל-BigQuery

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

כדי להגדיר את השירות כבעלים של פרויקט, צריך ליצור או לבחור פרויקט, להפעיל את BigQuery API ואת שירות העברת הנתונים ל-BigQuery, ולהקצות את התפקידים הנדרשים בניהול זהויות והרשאות גישה (IAM) לניהול ההעברות. מידע נוסף על תפקידים ב-IAM מופיע במאמר תפקידים והרשאות.

יצירת פרויקט והפעלת BigQuery API

לפני שמשתמשים בשירות העברת הנתונים ל-BigQuery, צריך ליצור פרויקט וברוב המקרים להפעיל בו את החיוב. אפשר להשתמש בפרויקט קיים עם שירות העברת הנתונים ל-BigQuery, או ליצור פרויקט חדש. אם אתם משתמשים בפרויקט קיים, יכול להיות שתצטרכו להפעיל את BigQuery API.

כדי ליצור פרויקט ולהפעיל את BigQuery API:

  1. נכנסים לדף לבחירת הפרויקט במסוף Cloud de Confiance .

    כניסה לדף לבחירת הפרויקט

  2. בוחרים או יוצרים פרויקט ב- Cloud de Confiance .

    התפקידים שנדרשים כדי לבחור או ליצור פרויקט

    • בחירת פרויקט: כדי לבחור פרויקט לא נדרש תפקיד IAM ספציפי – אתם יכולים לבחור כל פרויקט שקיבלתם בו תפקיד.
    • יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד "יצירת פרויקטים" (roles/resourcemanager.projectCreator), שכולל את ההרשאה resourcemanager.projects.create. איך מקצים תפקידים?
  3. מפעילים את החיוב בפרויקט לכל ההעברות. אתם מחויבים ב-0 $על העברות בחינם.

    צריך להפעיל את החיוב רק פעם אחת לכל פרויקט, גם אם מעבירים נתונים מכמה מקורות. כדי לשלוח שאילתות לגבי הנתונים ב-BigQuery אחרי שהם מועברים, צריך להפעיל את החיוב.

    איך מוודאים שהחיוב מופעל בפרויקט

  4. ‫BigQuery מופעל באופן אוטומטי בפרויקטים חדשים. כדי להפעיל את BigQuery בפרויקט קיים, צריך להפעיל את BigQuery API.

    הפעלת BigQuery API

הפעלת שירות העברת הנתונים ל-BigQuery

כדי ליצור העברה, צריך להפעיל את שירות העברת הנתונים ל-BigQuery. כדי להפעיל את שירות העברת הנתונים ל-BigQuery, צריך להיות לכם תפקיד בעלים בפרויקט.

כדי להפעיל את שירות העברת הנתונים ל-BigQuery:

  1. פותחים את הדף BigQuery Data Transfer API בספריית ה-API.

  2. בתפריט הנפתח, בוחרים את הפרויקט המתאים.

  3. לוחצים על הכפתור "הפעלה".

    הפעלת Data Transfer API

סוכן שירות

שירות העברת הנתונים ל-BigQuery משתמש בסוכן שירות כדי לגשת למשאבים שלכם ולנהל אותם. המשאבים האלה כוללים, בין היתר:

  • אחזור של טוקן גישה לחשבון השירות, שבו משתמשים כשמאשרים את העברת הנתונים.
  • פרסום התראות בנושא Pub/Sub שצוין, אם הוא מופעל.
  • הפעלת משימות ב-BigQuery.
  • אחזור אירועים מהמינוי שצוין ל-Pub/Sub לצורך העברה מבוססת-אירועים של Cloud Storage

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

הרשאה לחשבון שירות בפרויקטים שונים

אם אתם מאשרים את העברת הנתונים באמצעות חשבון שירות מפרויקט שונה מהפרויקט שבו מופעל שירות העברת הנתונים ל-BigQuery, אתם צריכים להקצות את התפקיד roles/iam.serviceAccountTokenCreator לסוכן השירות באמצעות הפקודה הבאה ב-Google Cloud CLI:

gcloud iam service-accounts add-iam-policy-binding service_account \
--member serviceAccount:service-project_number@gcp-sa-bigquerydatatransfer.s3ns-system.iam.gserviceaccount.com \
--role roles/iam.serviceAccountTokenCreator

מחליפים את מה שכתוב בשדות הבאים:

  • ‫service_account הוא חשבון השירות בפרויקטים שונים שמשמש לאישור העברת הנתונים.
  • ‫project_number הוא מספר הפרויקט שבו מופעל שירות העברת הנתונים ל-BigQuery.

מידע נוסף על הגדרת משאבים בפרויקטים שונים זמין במאמר הגדרת משאב בפרויקט אחר, במסמכי התיעוד של ניהול זהויות והרשאות גישה (IAM) בנושא התחזות לחשבון שירות.

כשמפעילים את BigQuery Data Transfer Service API דרך מסוף Cloud de Confiance , ‏ Google מנסה להעניק את ההרשאות הנדרשות באופן אוטומטי. עם זאת, אם אתם מפעילים את ה-API או יוצרים העברות באמצעות Terraform,‏ Google Cloud CLI או שיטות פרוגרמטיות אחרות, אתם צריכים להגדיר את ההרשאות הנדרשות באופן ידני. כדי לאשר העברה באמצעות חשבון שירות מפרויקט אחר, צריך להביא בחשבון את הדברים הבאים:

  • הגדרת הרשאות להעברות בין פרויקטים: כדי לגשת באופן מאובטח למקורות נתונים בפרויקטים שונים, מקצים לסוכן השירות של DTS (שנמצא בפרויקט היעד) את התפקיד roles/iam.serviceAccountTokenCreator בזהות של חשבון השירות של המקור.

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

מגבלה

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

bq update
--transfer_config
--update_credentials
--service_account_name="SERVICE_ACCOUNT" projects/PROJECT_ID/locations/LOCATION/transferConfigs/CONFIG_ID

מחליפים את מה שכתוב בשדות הבאים:

  • ‫SERVICE_ACCOUNT: השם של חשבון השירות בפרויקט אחר.
  • ‫PROJECT_ID: שם הפרויקט שמשויך להעברת הנתונים.
  • LOCATION: המיקום של העברת הנתונים.
  • ‫CONFIG_ID: המזהה של הגדרות ההעברה.

יצירה ידנית של סוכן שירות

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

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

gcloud projects add-iam-policy-binding project_number \
--member serviceAccount:service-project_number@gcp-sa-bigquerydatatransfer.s3ns-system.iam.gserviceaccount.com \
--role roles/bigquerydatatransfer.serviceAgent

מחליפים את מה שכתוב בשדות הבאים:

  • ‫project_number הוא מספר הפרויקט שבו מופעל שירות העברת הנתונים ל-BigQuery.

מתן גישה ל-bigquery.admin

אנחנו ממליצים להקצות את תפקיד ה-IAM המוגדר מראש bigquery.admin למשתמשים שיוצרים העברות של שירות העברת הנתונים ל-BigQuery. התפקיד bigquery.admin כולל את ההרשאות ב-IAM שנדרשות כדי לבצע את המשימות הנפוצות ביותר. התפקיד bigquery.admin כולל את ההרשאות הבאות של שירות העברת הנתונים ל-BigQuery:

  • הרשאות לשירות העברת הנתונים ל-BigQuery:
    • bigquery.transfers.update
    • bigquery.transfers.get
  • הרשאות ב-BigQuery:
    • bigquery.datasets.get
    • bigquery.datasets.getIamPolicy
    • bigquery.datasets.update
    • bigquery.datasets.setIamPolicy
    • bigquery.jobs.create

במקרים מסוימים, יכול להיות שיהיו הבדלים בהרשאות הנדרשות בין מקורות נתונים שונים. כדי לקבל מידע ספציפי על IAM, עיינו בקטע "הרשאות נדרשות" במדריך להעברת נתונים של כל מקור נתונים. לדוגמה, ראו הרשאות העברה של Amazon S3 או הרשאות העברה של Cloud Storage.

כדי להקצות את התפקיד bigquery.admin:

המסוף

  1. פותחים את הדף IAM במסוף Cloud de Confiance .

    פותחים את הדף IAM.

  2. לוחצים על בחירת פרויקט.

  3. בוחרים פרויקט ולוחצים על Open.

  4. לוחצים על Add כדי להוסיף חברים חדשים לפרויקט ולהגדיר את ההרשאות שלהם.

  5. בתיבת הדו-שיח הוספת חברים:

    • בשדה Members, מזינים את כתובת האימייל של המשתמש או הקבוצה.
    • בתפריט הנפתח Select a role, לוחצים על BigQuery > BigQuery Admin.
    • לוחצים על הוספה.

      מתן הרשאת אדמין

gcloud

אתם יכולים להשתמש ב-Google Cloud CLI כדי להקצות למשתמש או לקבוצה את התפקיד bigquery.admin.

כדי להוסיף קישור יחיד למדיניות ה-IAM של הפרויקט, מקלידים את הפקודה הבאה: כדי להוסיף משתמש, צריך לציין את הדגל --member בפורמט user:user@example.com. כדי להוסיף קבוצה, צריך לציין את הדגל --member בפורמט group:group@example.com.

gcloud projects add-iam-policy-binding project_id \
--member principal:address \
--role roles/bigquery.admin

כאשר:

  • ‫project_id הוא מזהה הפרויקט.
  • ‫principal הוא group או user.
  • ‫address היא כתובת האימייל של המשתמש או הקבוצה.

לדוגמה:

gcloud projects add-iam-policy-binding myproject \
--member group:group@example.com \
--role roles/bigquery.admin

הפקודה מפיקה את המדיניות המעודכנת:

    bindings:
    - members:
      - group:group@example.com
        role: roles/bigquery.admin
    

למידע נוסף על תפקידי IAM ב-BigQuery, קראו את המאמר תפקידים והרשאות מוגדרים מראש.

פתרון בעיות בהגדרות ההעברה

במאמר פתרון בעיות בהגדרות של העברות מוסבר איך לפתור בעיות בשירות העברת הנתונים ל-BigQuery.

המאמרים הבאים

אחרי שמפעילים את שירות העברת הנתונים ל-BigQuery, יוצרים העברה למקור הנתונים.