התחברות ל-AlloyDB ל-PostgreSQL
חיבור של AlloyDB ל-PostgreSQL ב-BigQuery מאפשר למשתמשים לשלוח שאילתות על נתונים ב-AlloyDB בזמן אמת, בלי להעתיק או להעביר נתונים ל-BigQuery. כדי להגדיר את החיבור הזה, צריך ליצור חיבור ל-AlloyDB ולתת גישה לחשבון השירות.
לפני שמתחילים
- מפעילים את BigQuery Connection API.
-
כדי לקבל את ההרשאות שנדרשות ליצירת חיבור ל-AlloyDB, צריך לבקש מהאדמין להקצות לכם את התפקיד אדמין של חיבורי BigQuery (
roles/bigquery.connectionAdmin) ב-IAM בפרויקט. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
יצירת חיבור ל-AlloyDB
השיטה המומלצת היא להשתמש בחיבורים כדי לטפל בפרטי הכניסה למסד הנתונים כשמתחברים ל-AlloyDB. החיבורים מוצפנים ונשמרים באופן מאובטח בשירות החיבורים של BigQuery. אם פרטי הכניסה של המשתמש תקפים לנתונים אחרים במקור, אפשר להשתמש שוב בחיבור. לדוגמה, אפשר להשתמש בחיבור אחד כדי לשלוח שאילתות לאותו מסד נתונים במכונה של AlloyDB כמה פעמים.
כדי ליצור חיבור ל-AlloyDB, בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף BigQuery.
בחלונית Explorer, לוחצים על Add.
תיבת הדו-שיח Add data נפתחת.
בחלונית Filter By, בקטע Data Source Type, בוחרים באפשרות Databases.
אפשר גם להזין
alloydbבשדה Search for data sources.בקטע Featured data sources, לוחצים על Google Cloud AlloyDB.
לוחצים על כרטיס הפתרון AlloyDB: BigQuery Federation.
בתיבת הדו-שיח External data source, מזינים את הפרטים הבאים:
- בשדה Connection type, בוחרים באפשרות AlloyDB.
- בשדה Connection ID, מזינים מזהה למשאב החיבור. אפשר להשתמש באותיות, מספרים וקווים תחתונים. לדוגמה,
bq_alloydb_connection. - בקטע Data location, בוחרים מיקום (או אזור) ב-BigQuery שתואם לאזור של מקור הנתונים החיצוני.
- אופציונלי: בשדה Friendly name, מזינים שם ידידותי למשתמש בשביל החיבור, למשל
My connection resource. השם הידידותי יכול להיות כל ערך שיעזור לכם לזהות את משאב החיבור אם תצטרכו לשנות אותו בהמשך. - אופציונלי: בשדה Description, מזינים תיאור למשאב החיבור.
- אופציונלי: הצפנה אם רוצים להשתמש במפתח הצפנה בניהול הלקוח (CMEK) כדי להצפין את פרטי הכניסה, בוחרים באפשרות מפתח הצפנה בניהול הלקוח (CMEK) ואז בוחרים מפתח בניהול הלקוח. אחרת, פרטי הכניסה שלכם מוגנים על ידי Google-owned and Google-managed encryption keyשמוגדרת כברירת מחדל.
- בשדה Database name, מזינים את השם של מסד הנתונים.
- בשדה Database username, מזינים את שם המשתמש של מסד הנתונים.
- בשדה Database password, מזינים את הסיסמה של מסד הנתונים.
- אופציונלי: כדי לראות את הסיסמה, לוחצים על הצגת הסיסמה.
בשדה AlloyDB Instance, מזינים את ה-URI של החיבור למכונה הראשית או למכונה לקריאה בלבד של AlloyDB, עם הקידומת //alloydb.googleapis.com.
- URI לדוגמה:
//alloydb.googleapis.com/projects/PROJECT_ID/locations/REGION_ID/clusters/CLUSTER_NAME/instances/INSTANCE_ID
- URI לדוגמה:
לוחצים על יצירת חיבור.
לוחצים על מעבר לחיבור.
בחלונית Connection info, מעתיקים את מזהה חשבון השירות כדי להשתמש בו בשלב הבא, שבו נותנים את הרשאות ה-IAM המתאימות.
BQ
מזינים את הפקודה bq mk עם הדגלים הבאים:
bq mk \
--connection \
--location=LOCATION \
--project_id=PROJECT_ID \
--connector_configuration '{
"connector_id": "google-alloydb",
"asset": {
"database": "DATABASE",
"google_cloud_resource": "RESOURCE_PATH"
},
"authentication": {
"username_password": {
"username": "USERNAME",
"password": {
"plaintext": "PASSWORD"
}
}
}
}' \
CONNECTION_ID
מחליפים את מה שכתוב בשדות הבאים:
-
LOCATION: מציינים את האזור של מערך הנתונים ב-BigQuery שרוצים לשלב עם הנתונים מ-AlloyDB. שאילתות שמשתמשות בחיבור הזה חייבות לפעול מהאזור הזה. -
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . -
DATABASE: מזינים את שם מסד הנתונים. -
RESOURCE_PATH: מזינים את ה-URI של החיבור למכונה הראשית או למכונה לקריאה בלבד של AlloyDB, עם הקידומת //alloydb.googleapis.com.- URI לדוגמה:
//alloydb.googleapis.com/projects/PROJECT_ID/locations/REGION_ID/clusters/CLUSTER_NAME/instances/INSTANCE_ID
- URI לדוגמה:
-
USERNAME: מזינים את שם המשתמש של מסד הנתונים. -
PASSWORD: מזינים את הסיסמה של המשתמש במסד הנתונים. -
CONNECTION_ID: מזהה החיבור.
דגל אופציונלי:
-
--kms_key_name: מפתח הצפנה בניהול הלקוח. אם לא מציינים את המדיניות, פרטי הכניסה מוגנים על ידי ברירת המחדל Google-owned and Google-managed encryption key.
API
ב-BigQuery Connection API, אפשר להפעיל את CreateConnection בתוך ConnectionService כדי ליצור מופע של חיבור. פרטים נוספים זמינים בדף ספריית הלקוח.
מתן גישה לחשבון השירות
חשבון שירות נוצר באופן אוטומטי כשיוצרים את החיבור הראשון בפרויקט. השם של חשבון השירות הוא BigQuery Connection Service Agent. כדי לקבל את מזהה חשבון השירות, צפו בפרטי החיבור. מזהה חשבון השירות הוא בפורמט הבא:
service-PROJECT_NUMBER@gcp-sa-bigqueryconnection.iam.gserviceaccount.com.
כדי להתחבר ל-AlloyDB, צריך לתת לחיבור החדש גישה ל-AlloyDB, כדי ש-BigQuery יוכל לגשת לנתונים בשם המשתמשים. לחשבון השירות צריכה להיות ההרשאה הבאה:
alloydb.instances.connect
אתם יכולים להקצות לחשבון השירות שמשויך לחיבור את תפקיד ה-IAM של לקוח AlloyDB, שכבר כולל את ההרשאה הזו. אם לחשבון השירות כבר יש את ההרשאה הנדרשת, אתם יכולים לדלג על השלב הזה.
המסוף
נכנסים לדף IAM & Admin.
לוחצים על Grant Access.
תיבת הדו-שיח Add principals נפתחת.
בשדה New principals, מזינים את מזהה חשבון השירות שנלקח מפרטי החיבור.
בקטע Assign roles, בוחרים את התפקיד AlloyDB Client (
roles/alloydb.client).לוחצים על Save.
gcloud
משתמשים בפקודה gcloud projects add-iam-policy-binding:
gcloud projects add-iam-policy-binding PROJECT_ID --member=serviceAccount:SERVICE_ACCOUNT_ID --role=roles/alloydb.client
מספקים את הערכים הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . -
SERVICE_ACCOUNT_ID: מזהה חשבון השירות שנלקח מפרטי החיבור.
שיתוף חיבורים עם משתמשים
כדי לאפשר למשתמשים לשלוח שאילתות לגבי נתונים ולנהל חיבורים, אתם יכולים להקצות את התפקידים הבאים:
roles/bigquery.connectionUser: מאפשרת למשתמשים להשתמש בחיבורים כדי להתחבר למקורות נתונים חיצוניים ולהריץ עליהם שאילתות.
roles/bigquery.connectionAdmin: מאפשר למשתמשים לנהל חיבורים.
במאמר תפקידים והרשאות מוגדרים מראש תוכלו לקרוא מידע נוסף על תפקידים והרשאות של IAM ב-BigQuery.
בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף BigQuery.
החיבורים מופיעים בפרויקט בקבוצה שנקראת Connections.
בחלונית השמאלית, לוחצים על Explorer:

אם החלונית הימנית לא מוצגת, לוחצים על הרחבת החלונית הימנית כדי לפתוח אותה.
בחלונית Explorer, מרחיבים את שם הפרויקט.
לוחצים על Connections (חיבורים) ואז על החיבור.
כדי לשתף חיבור, בחלונית פרטים לוחצים על שיתוף. לאחר מכן מבצעים את הפעולות הבאות:
בתיבת הדו-שיח Connection permissions, משתפים את החיבור עם חשבונות משתמשים אחרים על ידי הוספה או עריכה של חשבונות משתמשים.
לוחצים על Save.
BQ
משתמשים בפקודה set-iam-policy הבאה:
bq set-iam-policy RESOURCE FILE_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
RESOURCE: מזינים את שם המשאב בפורמטproject_id.region.connection_idאוregion.connection_id. -
FILE_NAME: שם הקובץ שמכיל את מדיניות ה-IAM בפורמט JSON.
מידע נוסף על הפקודה set-iam-policy זמין במאמר שליטה בגישה למשאבים באמצעות IAM.
API
משתמשים בשיטה projects.locations.connections.setIAM בקטע של מאמרי העזרה של BigQuery Connections REST API, ומספקים מכונה של המשאב policy.
המאמרים הבאים
- מידע על סוגי החיבורים השונים
- מידע נוסף על ניהול החיבורים
- מידע על שאילתות לכמה מסדי נתונים
- איך שולחים שאילתות לנתונים ב-AlloyDB