חיבור Looker (Google Cloud Core)‎ למסד הנתונים

כדי לשלוח שאילתות לגבי הנתונים, צריך לחבר את המכונה של Looker (Google Cloud core) למסד נתונים. במדריך הזה מוסבר איך להשתמש בניבים נתמכים ולהגדיר אפשרויות חיבור ספציפיות.

במכונות שמשתמשות בחיבורים פרטיים, יכול להיות שתצטרכו לבצע הגדרות נוספות כדי לגשת למסדי נתונים. ההגדרה הספציפית תלויה בהגדרת הרשת של המכונה של Looker (Google Cloud core) שאיתה אתם עובדים.

הגדרת חיבור למסד נתונים

כדי לאפשר חקירת נתונים, צריך לחבר את Looker (Google Cloud core) למסד נתונים. ברשימת הניבים הנתמכים מפורטים הניבים שנתמכים ב-Looker (Google Cloud core).

אתם יכולים ליצור חיבור למסד נתונים בתוך מכונה של Looker (Google Cloud core) אם יש לכם אחת מההרשאות הבאות:

כדי לחבר את מסד הנתונים, אתם יכולים לפעול לפי המדריך הגדרת Looker שמופיע באופן דינמי במכונה של Looker (Google Cloud core), או לפי השלבים שמפורטים בדפי התיעוד הספציפיים לניב. רוב ההגדרות משותפות לרוב הניבים של מסדי הנתונים. בדף התיעוד קישור Looker למסד הנתונים מפורט מידע על שדות נפוצים בחלון הגדרת החיבור של Looker.

אם אתם רוצים להגדיר את החיבור של Looker (Google Cloud core) עם אחת מהאפשרויות הבאות, יש שלבים נוספים:

שימוש ב-Application Default Credentials כדי להתחבר למסד נתונים ב-BigQuery

מכונות של Looker (Google Cloud core) יכולות להשתמש בApplication Default Credentials (ADC) כדי לאמת כשאתם מגדירים חיבור למסד נתונים של BigQuery SQL סטנדרטי. כשמשתמשים ב-ADC, החיבור יאמת את מסד הנתונים באמצעות פרטי הכניסה של חשבון השירות של הפרויקט ב-Looker (Google Cloud core).

כדי להשתמש ב-ADC עם מסד נתונים של BigQuery, בוחרים באפשרות Application Default Credentials בשדה Authentication בדף Connection Settings של המכונה של Looker. התהליך המלא מפורט במאמר קישור Looker למסד נתונים של BigQuery.

אם במכונה של Looker (Google Cloud core) משתמשים בטבלאות נגזרות מתמידות עם מערך נתונים של BigQuery, צריך גם להקצות לחשבון השירות של Looker את התפקיד "עריכת נתונים ב-BigQuery" בניהול זהויות והרשאות גישה (IAM).

אם אתם מתחברים למסד נתונים של BigQuery שנמצא בפרויקט אחר מהמכונה של Looker (ליבה של Google Cloud), נדרשת הגדרה נוספת. אפשר לקרוא על כך בקטע שימוש ב-Application Default Credentials עם מסד נתונים של BigQuery בפרויקט אחר ב- Google Cloud .

התחזות לחשבון שירות

אם אתם רוצים לבצע אימות למסד הנתונים של BigQuery באמצעות חשבון שירות אחר, ולא באמצעות חשבון השירות של הפרויקט ב-Looker (Google Cloud core), אתם יכולים ליצור תהליך בקשה מועבר. כדי לעשות את זה, מזינים חשבון שירות אחר או שרשרת של חשבונות שירות שמופרדים בפסיקים בשדה Impersonated Service Account. חשבון השירות של Looker (Google Cloud core) משמש באופן אוטומטי כחשבון השירות הראשון בשרשרת, ואין צורך להוסיף אותו לשדה. חשבון השירות האחרון בשרשרת (שנקרא גם חשבון השירות שאליו מתחזים) הוא החשבון שמבצע אימות מול מסד הנתונים.

כשמשתמשים בהתחזות לחשבון שירות, צריך לבצע את הפעולות הבאות:

תגי מדיניות ב-BigQuery והסתרת מידע דינמית

כש-Looker (Google Cloud core) מתחבר ל-BigQuery באמצעות ADC או חשבון שירות, BigQuery לא מקבל את פרטי הכניסה של משתמשי Looker ספציפיים. מכיוון ש-BigQuery רואה רק זהות אחת לכל השאילתות, האבטחה המובנית ברמת העמודה של BigQuery (תגי מדיניות והסתרת מידע) לא יכולה להחיל כללי גישה או הסתרת מידע שונים על כל משתמש ב-Looker.

כדי להטמיע הסתרת מידע דינמית באמצעות Looker (Google Cloud core) ו-BigQuery, אפשר לבחור באחת מהאפשרויות הארכיטקטוניות הבאות:

  • הסתרת מידע בשכבת האפליקציה (נתמכת ב-ADC ובחשבונות שירות): שומרים על חיבור יחיד למסד הנתונים שמשתמש ב-ADC או בחשבון שירות, ומחילים לוגיקה של הסתרת מידע בשכבה הסמנטית של LookML באמצעות הצהרות CASE WHEN ב-LookML שמופעלות על ידי מאפייני משתמש שממופים מספק הזהויות שלכם.
  • מיסוך בשכבת מסד הנתונים (נדרש OAuth): מגדירים את החיבור בין Looker ל-BigQuery כך שישתמש ב-OAuth במקום ב-ADC. ‫OAuth מעביר את פרטי הכניסה של כל משתמש קצה ישירות ל-BigQuery, וכך BigQuery יכול להעריך ולאכוף באופן מקורי את תגי המדיניות ואת כללי הסתרת הנתונים לכל משתמש.

שימוש ב-Application Default Credentials עם מסד נתונים של BigQuery בפרויקט אחר ב- Google Cloud

השלבים לשימוש ב-ADC למסד נתונים של BigQuery SQL סטנדרטי שנמצא מחוץ לפרויקט שמכיל את המכונה של Looker (Google Cloud core) זהים לשלבים להגדרת חיבור בתוך אותו פרויקט. עם זאת, לפני שתוכלו להגדיר את החיבור במכונה של Looker (Google Cloud core), לחשבון השירות של הפרויקט ב-Looker (Google Cloud core) צריכים להיות תפקידי ה-IAM הבאים:

אם לחשבון השירות של Looker (Google Cloud core) עדיין אין תפקידי IAM בפרויקט שמכיל את מערך הנתונים של BigQuery, צריך להשתמש בכתובת האימייל של חשבון השירות כשמקצים תפקידים בפרויקט הזה. כדי למצוא את כתובת האימייל של חשבון השירות, נכנסים לדף IAM במסוף Google Cloud ובוחרים באפשרות Include Google-provided role grants. הפורמט של כתובת האימייל יהיה service-<project number>@gcp-sa-looker.. משתמשים בכתובת האימייל הזו כדי להקצות את התפקידים המתאימים לחשבון השירות.

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

עכשיו אפשר להשתמש ב-ADC עם מסד הנתונים הזה של BigQuery SQL סטנדרטי. הפרויקט שמצורף לחשבון השירות שצוין בדף Connection Settings ישמש לחיוב וגם כפרויקט ברירת המחדל.

שימוש ב-Application Default Credentials כדי להתחבר למסד נתונים של Cloud SQL

במכונות של Looker (Google Cloud core) אפשר להשתמש ב-ADC כדי לאמת חיבור למסד נתונים של Cloud SQL (Cloud SQL ל-PostgreSQL או Cloud SQL ל-MySQL). כשמשתמשים ב-ADC כדי לאמת את מסד הנתונים של Cloud SQL, הפרויקט ב- Google Cloud שבו פועל מסד הנתונים של Cloud SQL הוא הפרויקט שמחויב על שאילתות Looker.

בחיבורים של Looker ל-Cloud SQL שמשתמשים ב-ADC, ‏ADC מתחזה לחשבון שירות או לשרשרת של חשבונות שירות כדי לגשת למסד הנתונים. כשיוצרים את החיבור של Looker למסד הנתונים, משתמשים בשדה IAM database username(s)‎ כדי לציין את חשבון השירות, או את שרשרת חשבונות השירות, ש-ADC יתחזה אליהם. חשבון השירות של Looker שנוצר באופן אוטומטי כשיצרתם את המכונה של Looker (Google Cloud core) משמש באופן אוטומטי כחשבון השירות הראשון בשרשרת, ואין צורך להוסיף אותו לשדה.

אם אתם רוצים לאמת את מסד הנתונים של Cloud SQL באמצעות חשבון שירות אחר, ולא באמצעות חשבון השירות של Looker, אתם יכולים ליצור תהליך בקשה מואצל על ידי הזנת חשבון שירות אחר, או שרשרת של חשבונות שירות מופרדים בפסיקים, בשדה שמות משתמשים של מסד נתונים ב-IAM.

חשבון השירות האחרון בשרשרת (שנקרא גם חשבון השירות המתחזה) הוא החשבון שמאמת את מסד הנתונים, וצריך להוסיף אותו כמשתמש במסד הנתונים של Cloud SQL. אם אתם משתמשים בחשבון השירות של Looker כחשבון השירות האחרון בשרשרת (על ידי השארת השדה שמות משתמשים של מסד נתונים ב-IAM ריק), אתם צריכים להוסיף את חשבון השירות של Looker כמשתמש במסד הנתונים של Cloud SQL.

אלה השלבים הכלליים לחיבור מסד נתונים של Cloud SQL ל-PostgreSQL או של Cloud SQL ל-MySQL ל-Looker באמצעות ADC:

  1. מוסיפים את חשבון השירות שמתחזים אליו למסד הנתונים ב-Cloud SQL.
  2. הגדרת התחזות לחשבון שירות במסד הנתונים של Cloud SQL.
  3. מתחברים למסד הנתונים כדי להריץ פקודות הגדרה נוספות ל-Cloud SQL ל-PostgreSQL או ל-Cloud SQL ל-MySQL.
  4. יוצרים את החיבור של Looker למסד הנתונים.

הוספת חשבון השירות שבוצעה אליו התחזות למסד הנתונים ב-Cloud SQL

כשאתם יוצרים את החיבור של Looker למסד הנתונים, אתם משתמשים בשדה IAM database username(s)‎ כדי לציין את חשבון השירות, או את שרשרת חשבונות השירות, ש-ADC יתחזה אליהם כדי לבצע פעולות במסד הנתונים. חשבון השירות האחרון בשרשרת ההתחזות נחשב לחשבון השירות שבוצעה אליו התחזות.

כדי להשתמש ב-ADC עם Cloud SQL, צריך להוסיף את חשבון השירות המתחזה למסד הנתונים של Cloud SQL:

  • במקרה של ברירת המחדל, אם משאירים את השדה IAM database username(s)‎ ריק, ADC יתחזה לחשבון השירות של Looker. במקרה הזה, חשבון השירות של Looker הוא חשבון השירות שמתחזים אליו, ולכן צריך להוסיף את חשבון השירות של Looker למסד הנתונים של Cloud SQL. בדף התיעוד יצירת מכונה של Looker (Google Cloud core)‎ מוסבר על חשבון השירות של Looker ואיך אפשר לראות את כתובת האימייל של חשבון השירות של Looker.
  • אם אתם מציינים חשבון שירות אחר מחשבון השירות של Looker, או אם אתם מציינים שרשרת של חשבונות שירות בשדה IAM database username(s)‎, אתם צריכים להוסיף את חשבון השירות האחרון בשרשרת ההתחזות למסד הנתונים של Cloud SQL.

כדי להוסיף חשבון שירות למסד הנתונים של Cloud SQL, צריך להיות לכם תפקיד IAM של אדמין ב-Cloud SQL.

כדי להוסיף את חשבון השירות המתחזה למסד הנתונים ב-Cloud SQL, פועלים לפי ההליך "הוספת משתמש IAM או חשבון שירות למכונה של מסד הנתונים" בהתאם לניב של מסד הנתונים:

הגדרת התחזות לחשבון שירות במסד הנתונים של Cloud SQL

אחרי שיוצרים את משתמש Cloud SQL במסד הנתונים, צריך להגדיר את מסד הנתונים של Cloud SQL להתחזות לשירות:

  1. מפעילים את Cloud SQL Admin API.
  2. חשוב לוודא שלכל חשבונות השירות בשרשרת, כולל חשבון השירות של Looker, יש את ההרשאות המתאימות ב-IAM.
  3. פועלים לפי ההוראות להקצאת תפקיד יחיד במסוף Google Cloud . מקצים את התפקידים הבאים ב-Cloud SQL לחשבון השירות המתחזה שהוספתם למסד הנתונים ב-Cloud SQL:

    אם אתם מציינים חשבון שירות אחר מחשבון השירות של Looker, או אם אתם מציינים שרשרת של חשבונות שירות בשדה שמות משתמשים של מסד נתונים ב-IAM, אתם צריכים לתת לכל חשבון שירות בשרשרת את ההרשאה הבאה:

פקודות הגדרה נוספות ל-Cloud SQL ל-MySQL

ב-Cloud SQL ל-MySQL, צריך להתחבר למכונה של מסד הנתונים ולהריץ את הפקודה הבאה במסד הנתונים של Cloud SQL ל-MySQL:

GRANT ALL on DATABASE_NAME.* to 'DATABASE_USER'@'%'

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

  • ‫DATABASE_NAME: שם מסד הנתונים.
  • ‫DATABASE_USER: שם המשתמש המקוצר של חשבון השירות המתחזה שהוספתם למסד הנתונים של Cloud SQL. הפורמט של חשבון השירות יהיה service-<project number>@gcp-sa-looker.. מקצרים את שם המשתמש על ידי הסרת @ וכל מה שמופיע אחריו. אחרי החיתוך, שם המשתמש ייראה כך: service-<project number>.

לדוגמה, אם שם המשתמש של חשבון השירות הוא service-12345678901@gcp-sa-looker. ושם מסד הנתונים הוא looker-test, הפקודה תהיה:

GRANT ALL on looker-test.* to 'service-12345678901'@'%'

פקודות הגדרה נוספות ל-Cloud SQL ל-PostgreSQL

ב-Cloud SQL ל-PostgreSQL, צריך להתחבר למכונה של מסד הנתונים ולהריץ כמה פקודות הגדרה במסד הנתונים של Cloud SQL ל-PostgreSQL:

  • נותנים למשתמש הרשאות במסד הנתונים, כמו שמתואר בקטע משתמשים ואבטחה בדף התיעוד של PostgreSQL.
  • מגדירים את נתיב החיפוש שבו Looker SQL Runner ישתמש כדי לאחזר מטא-נתונים ממסד הנתונים, כפי שמתואר בקטע הגדרת search_path בדף PostgreSQL במסמכי התיעוד של Looker.

יצירת החיבור מ-Looker (Google Cloud core) למסד הנתונים של Cloud SQL

כדי ליצור את החיבור בין Looker למסד הנתונים:

  1. בקטע Admin ב-Looker, בוחרים באפשרות Connections ולוחצים על Add Connection.
  2. בתפריט הנפתח Dialect, בוחרים באפשרות Google Cloud PostgreSQL, או באפשרות Google Cloud SQL ל-Cloud SQL ל-MySQL.
  3. בקטע Authentication, לוחצים על האפשרות Application Default Credentials.
  4. בשדה IAM database username(s), מציינים את חשבון השירות או את שרשרת חשבונות השירות שאתם רוצים ש-ADC יתחזה אליהם כדי לבצע פעולות במסד הנתונים:

    • אם אתם רוצים ש-Looker יאמת את מסד הנתונים של Cloud SQL באמצעות חשבון השירות של הפרויקט ב-Looker (Google Cloud core), השאירו את השדה הזה ריק.
    • אם אתם רוצים ש-Looker יאמת את מסד הנתונים של Cloud SQL באמצעות חשבון שירות אחר, ולא באמצעות חשבון השירות של הפרויקט ב-Looker (Google Cloud core), אתם יכולים ליצור תהליך בקשה מועבר על ידי הזנת חשבון שירות אחר, או שרשרת של חשבונות שירות שמופרדים בפסיקים.
  5. ממלאים את שאר פרטי החיבור. רוב ההגדרות משותפות לרוב הניבים של מסדי הנתונים. מידע נוסף זמין בדף התיעוד קישור Looker למסד הנתונים.

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

  7. אם ב-Looker מוצגת ההודעה Can Connect, לוחצים על Connect כדי ליצור את החיבור.

החיבור למסד הנתונים יתווסף לרשימה בדף Admin (ניהול) בקטע Connections (חיבורים) ב-Looker.

אחרי שמגדירים חיבור למסד נתונים, אפשר להגדיר פרויקט של LookML.

הגדרת אימות OAuth באמצעות BigQuery

כדי להגדיר אימות OAuth לחיבורים למסד נתונים של BigQuery במכונה של Looker (Google Cloud core):

  1. בקטע Authentication (אימות), בוחרים באפשרות OAuth. כברירת מחדל, Looker (Google Cloud core) משתמש בפרטי הכניסה של אפליקציית OAuth שבהם האדמין של Looker השתמש כשהוא יצר את המכונה של Looker (Google Cloud core). אתם לא צריכים ליצור או להזין באופן ידני מזהה לקוח וסוד.
  2. מוסיפים עוד כתובת URI להפניה אוטומטית בשדה Authorized redirect URIs בלקוח OAuth של המכונה (או יוצרים לקוח OAuth חדש עם פרטי הכניסה ומוסיפים כתובת URI להפניה אוטומטית). כתובת ה-URI להפניה אוטומטית צריכה להיות כתובת ה-URL של המכונה של Looker, ואחריה /external_oauth/redirect. למידע נוסף, קראו את המאמר יצירת פרטי כניסה ל-OAuth בשביל BigQuery.

אם רוצים להזין ידנית פרטי כניסה אחרים של OAuth לחיבור הזה, מפעילים את המתג הגדרה ידנית של פרטי כניסה ל-OAuth ואז ממלאים את השדות מזהה לקוח ב-OAuth וסוד לקוח ב-OAuth. אם תזינו באופן ידני את פרטי הכניסה ל-OAuth, זה לא ישנה או יעדכן את פרטי הכניסה ששימשו ליצירת המכונה של Looker (Google Cloud core). כדי ליצור ולהשתמש בפרטי כניסה שונים, פועלים לפי השלבים שמפורטים במאמר הגדרת פרויקט של מסד נתונים ב-BigQuery ל-OAuth.

ניבים נתמכים ב-Looker (Google Cloud core)

בטבלה הבאה מפורטת התמיכה של Looker (Google Cloud core) בדיאלקטים של מסדי נתונים:

ניב יש תמיכה?
Actian Avalanche
Amazon Athena
Amazon Aurora MySQL
Amazon Redshift
Amazon Redshift 2.1+
Amazon Redshift Serverless 2.1+
Apache Druid
Apache Druid 0.13.x - 0.17.x
Apache Druid 0.18+
Apache Hive 2.3+
Apache Hive 3.1.2+
Apache Spark 3+
ClickHouse
ClickHouse 26+
Cloudera Impala 3.1+
Cloudera Impala 3.1+ with Native Driver
Cloudera Impala with Native Driver
DataVirtuality
Databricks
Denodo 7
Denodo 8 & 9
Dremio
Dremio 11+
Dremio 26+ with Arrow Flight SQL
Exasol
Google BigQuery Legacy SQL
Google BigQuery Standard SQL
Google Cloud AlloyDB for PostgreSQL
Google Cloud PostgreSQL
Google Cloud SQL
Google Spanner
Greenplum
HyperSQL
IBM Netezza
MariaDB
Microsoft Azure PostgreSQL
Microsoft Azure SQL Database
Microsoft Azure Synapse Analytics
Microsoft SQL Server 2008+
Microsoft SQL Server 2012+
Microsoft SQL Server 2016
Microsoft SQL Server 2017+
MongoBI
MongoSQL
MySQL
MySQL 8.0.12+
Oracle
Oracle ADWC
PostgreSQL 9.5+
PostgreSQL pre-9.5
PrestoDB
PrestoSQL
SAP HANA
SAP HANA 2+
SingleStore
SingleStore 7+
Snowflake
Teradata
Trino
Vector
Vertica

הוראות להגדרת מסד הנתונים

ההוראות זמינות לניבים הבאים של SQL:

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