ל-Looker יש תמיכה ברמת השילוב ב-MSSQL. בדף הזה יש מידע על חיבור Looker ל-MSSQL.
הצפנה של תנועה ברשת
מומלץ להצפין את תעבורת הנתונים ברשת בין אפליקציית Looker לבין מסד הנתונים. כדאי לשקול אחת מהאפשרויות שמתוארות בדף הפעלת גישה מאובטחת למסד נתונים.
אם אתם רוצים להשתמש בהצפנת SSL, תוכלו לעיין במסמכי התיעוד של מיקרוסופט.
הגדרת אימות שרת
Looker דורש 'אימות שרת SQL' בשרת MSSQL. אם שרת MSSQL מוגדר רק כ-Windows Integrated Authentication, צריך לשנות את הגדרת השרת ל-Windows Integrated Authentication ו-SQL Server Authentication.
אם הגדרת השרת לא תקינה, Looker לא יוכל להתחבר. ההודעה הזו תופיע בהודעות היומן של SQL Server, למשל: "ניסיון להתחבר באמצעות אימות SQL נכשל. השרת מוגדר לאימות של Windows בלבד".
אם צריך לבצע את השינוי הזה, אפשר לפעול לפי השלבים הבאים:
- ב-SQL Server Management Studio Object Explorer, לוחצים לחיצה ימנית על השרת ואז לוחצים על Properties (מאפיינים).
- בדף אבטחה, בקטע אימות שרת, בוחרים את מצב אימות השרת החדש ולוחצים על אישור.
- בתיבת הדו-שיח SQL Server Management Studio, לוחצים על OK כדי לאשר שצריך להפעיל מחדש את SQL Server.
- ב-Object Explorer, לוחצים לחיצה ימנית על השרת ואז לוחצים על Restart. אם SQL Server Agent פועל, צריך להפעיל אותו מחדש.
מידע נוסף זמין במסמכי התיעוד של Microsoft.
יצירת משתמש Looker
Looker מאמת את מסד הנתונים באמצעות אימות של SQL Server. אין תמיכה בשימוש בחשבון דומיין.
כדי ליצור חשבון, מריצים את הפקודות הבאות. משנים את הסיסמה some_password_here לסיסמה ייחודית ומאובטחת:
CREATE LOGIN looker
WITH PASSWORD = 'some_password_here';
USE MyDatabase;
CREATE USER looker FOR LOGIN looker;
GO
מתן הרשאה למשתמש Looker לבחור מתוך טבלאות
ב-Looker נדרשת ההרשאה SELECT לכל טבלה או סכימה שרוצים לשלוח להן שאילתות. יש כמה דרכים להקצות הרשאה מסוג SELECT:
כדי להעניק הרשאה לכל סכימה בנפרד, מריצים את הפקודה הבאה לכל סכימה:
SELECTGRANT SELECT on SCHEMA :: 'schema_name' to looker;כדי להעניק הרשאת
SELECTלטבלאות ספציפיות, מריצים את הפקודה הבאה לכל טבלה:GRANT SELECT on OBJECT :: 'schema_name'.'table_name' to looker;ב-MSSQL בגרסה 2012 ואילך, אפשר גם להקצות למשתמש Looker את התפקיד
db_datareaderבאמצעות הפקודות הבאות:USE MyDatabase; ALTER ROLE db_datareader ADD MEMBER looker; GO
מתן הרשאה למשתמש Looker להציג ולהפסיק הרצת שאילתות
צריך לתת ל-Looker הרשאה לזהות שאילתות ולהפסיק את ההרצה שלהן. לשם כך נדרשות ההרשאות הבאות:
ALTER ANY CONNECTIONVIEW SERVER STATE
כדי להעניק את ההרשאות האלה, מריצים את הפקודות הבאות:
USE Master;
GRANT ALTER ANY CONNECTION TO looker;
GRANT VIEW SERVER STATE to looker;
GO
מתן הרשאה למשתמש Looker ליצור טבלאות
כדי לתת למשתמש Looker הרשאה ליצור PDT, מריצים את הפקודות הבאות:
USE MyDatabase;
GRANT CREATE TABLE to looker;
GO
הגדרת סכימה זמנית
כדי ליצור סכימה שנמצאת בבעלות משתמש Looker ולהעניק למשתמש Looker את ההרשאות הנדרשות, מריצים את הפקודה הבאה:
CREATE SCHEMA looker_scratch AUTHORIZATION looker;
הגדרת אימות Kerberos
אם אתם משתמשים באימות Kerberos עם מסד הנתונים של MSSQL, אתם צריכים לפעול לפי השלבים להגדרת Looker לחיבור באמצעות Kerberos, כמו שמתואר בקטע הבא.
הגדרת התצורה של לקוח Kerberos
קודם כול, צריך לוודא שכמה חלקי תוכנה מותקנים ושיש כמה קבצים במחשב של Looker.
לקוח Kerberos
מריצים את הפקודה kinit כדי לוודא שלקוח Kerberos מותקן במכונת Looker. אם לקוח Kerberos לא מותקן, צריך להתקין את הקבצים הבינאריים של לקוח Kerberos.
לדוגמה, ב-Redhat או ב-CentOS, הפקודה תהיה:
sudo yum install krb5-workstation krb5-libs krb5-auth-dialog
Java 8
צריך להתקין את Java 8 במכונת Looker ובתיקיות PATH ו-JAVA_HOME של משתמש Looker. אם צריך, מתקינים אותו באופן מקומי בספרייה looker.
Java Cryptography Extension
מורידים ומתקינים את Java Cryptography Extension (JCE) ל-Java 8 מדף ההורדה הזה של Oracle.
- מאתרים את הספרייה
jre/lib/securityשל התקנת Java. - צריך להסיר את קובצי ה-JAR הבאים מהספרייה הזו:
local_policy.jarו-US_export_policy.jar. - מחליפים את שני הקבצים האלה בקובצי ה-JAR שכלולים בהורדה של קובצי המדיניות של JCE Unlimited Strength Jurisdiction Policy Files.
יכול להיות שאפשר להשתמש בגרסאות של Java מלפני Java 8 עם JCE מותקן, אבל לא מומלץ לעשות את זה.
- מאתרים את הספרייה
מעדכנים את
JAVA_HOMEואתPATHב-~looker/.bash_profileכך שיצביעו על ההתקנה הנכונה של Java ו-source ~/.bash_profile, או יוצאים מהחשבון ונכנסים אליו שוב.בודקים את גרסת Java באמצעות
java -version.מאמתים את משתנה הסביבה
JAVA_HOMEבאמצעותecho $JAVA_HOME.
gss-jaas.conf
יוצרים קובץ gss-jaas.conf בספרייה looker עם התוכן הבא:
com.sun.security.jgss.initiate {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=true
doNotPrompt=true;
};
אם צריך, אפשר להוסיף את debug=true לקובץ הזה באופן הבא:
com.sun.security.jgss.initiate {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=true
doNotPrompt=true
debug=true;
};
krb5.conf
בשרת שבו פועל Looker צריך להיות גם קובץ krb5.conf תקין. כברירת מחדל, הקובץ הזה נמצא בתיקייה /etc/krb5.conf. אם הוא נמצא במיקום אחר, צריך לציין זאת בסביבה (KRB5_CONFIG בסביבת המעטפת).
יכול להיות שתצטרכו להעתיק את הקובץ הזה ממכונת לקוח אחרת של Kerberos.
lookerstart.cfg
מפנים לקבצים gss-jaas.conf ו-krb5.conf על ידי יצירת קובץ בספרייה looker (אותה ספרייה שמכילה את סקריפט לטעינה בזמן ההפעלה looker) בשם lookerstart.cfg שמכיל את השורות הבאות:
JAVAARGS="-Djava.security.auth.login.config=/path/to/gss-jaas.conf -Djavax.security.auth.useSubjectCredsOnly=false -Djava.security.krb5.conf=/etc/krb5.conf"
LOOKERARGS=""
אם הקובץ krb5.conf לא נמצא ב-/etc/krb5.conf, צריך גם להוסיף את המשתנה הזה:
-Djava.security.krb5.conf=/path/to/krb5.conf
לצורך ניפוי באגים, מוסיפים את המשתנים הבאים:
-Dsun.security.jgss.debug=true -Dsun.security.krb5.debug=true
לאחר מכן מפעילים מחדש את Looker באמצעות ./looker restart.
אימות באמצעות Kerberos
אימות משתמשים
אם
krb5.confלא נמצא ב-/etc/, צריך להשתמש במשתנה הסביבהKRB5_CONFIGכדי לציין את המיקום שלו.מריצים את הפקודה
klistכדי לוודא שיש כרטיס תקף במטמון כרטיסי Kerberos.אם אין כרטיס, מריצים את הפקודה
kinit username@REALMאוkinit usernameכדי ליצור את הכרטיס.החשבון שמשמש עם Looker הוא כנראה חשבון ללא ראש, ולכן אפשר לקבל קובץ keytab מ-Kerberos כדי לאחסן את פרטי הכניסה לשימוש ארוך טווח. משתמשים בפקודה כמו
kinit -k -t looker_user.keytab username@REALMכדי לקבל את כרטיס Kerberos.
חידוש אוטומטי של הכרטיס
מגדירים משימת cron שפועלת מדי פעם כדי לשמור כרטיס פעיל במטמון כרטיסי Kerberos. תדירות ההרצה תלויה בהגדרת האשכול. klist צריך לציין מתי הכרטיסים יפוגו.
יצירת חיבור Looker למסד הנתונים
כדי ליצור את החיבור מ-Looker למסד הנתונים:
- בקטע Admin (ניהול) ב-Looker, בוחרים באפשרות Connections (חיבורים) ואז לוחצים על Add Connection (הוספת חיבור).
בתפריט הנפתח ניב, בוחרים את הגרסה של Microsoft SQL Server.
בשדות מארח מרוחק ויציאה, מזינים את שם המארח והיציאה (יציאת ברירת המחדל היא 1433).
אם אתם צריכים לציין יציאה שאינה ברירת המחדל (1433) ומסד הנתונים שלכם דורש שימוש בפסיק במקום בנקודתיים, אתם יכולים להוסיף
useCommaHostPortSeparator=trueבשדה פרמטרים נוספים של JDBC בהמשך הגדרות החיבור. כך תוכלו להשתמש בפסיק בשדה מארח מרוחק:יציאה. לדוגמה:jdbc:sqlserver://hostname,1434ממלאים את שאר פרטי החיבור. רוב ההגדרות משותפות לרוב הניבים של מסדי הנתונים. מידע נוסף זמין בדף חיבור Looker למסד הנתונים.
כדי לוודא שהחיבור בוצע בהצלחה, לוחצים על בדיקה. מידע לפתרון בעיות זמין בדף בנושא בדיקת הקישוריות למסד הנתונים.
כדי לשמור את ההגדרות האלה, לוחצים על Connect (חיבור).
הגדרת החיבור ל-Looker
פועלים לפי ההוראות בדף התיעוד בנושא חיבור Looker למסד הנתונים כדי ליצור חיבור למסד הנתונים של MSSQL. בקטע Additional JDBC parameters (פרמטרים נוספים של JDBC) בדף Connection Settings (הגדרות חיבור), מוסיפים את הפרמטרים הבאים:
;integratedSecurity=true;authenticationScheme=JavaKerberos
חלק מהרשתות מוגדרות לשני תחומים של Kerberos, אחד ל-Windows Active Directory והשני ל-Linux ולמערכות אחרות שאינן Windows. במקרה כזה, כשמגדירים את תחום ה-Linux ואת תחום Active Directory כך שיהיו ביניהם יחסי אמון, זה נקרא 'אימות בין תחומים'.
אם ברשת שלכם נעשה שימוש באימות בין תחומים, אתם צריכים לציין במפורש את שם המשתמש ב-Kerberos עבור MSSQL Server. בשדה Additional JDBC parameters (פרמטרים נוספים של JDBC), מוסיפים את הפרטים הבאים:
;serverSpn=service_name/FQDN\:PORT@REALM
מחליפים את FQDN ואת PORT@REALM בפרטי הרשת. לדוגמה:
;serverSpn=MSSQLSvc/dbserver.internal.example.com:1433@AD.EXAMPLE.COM
בנוסף, בדף Connection Settings ב-Looker צריך להזין ערכים בשדות Username ו-Password, אבל הם לא נדרשים ל-Kerberos. מזינים ערכי placeholder בשדות האלה.
בודקים את החיבור כדי לוודא שהוא מוגדר בצורה נכונה.
פרמטרים נתמכים של JDBC
ב-Microsoft SQL Server, Looker תומך בפרמטרים הבאים של JDBC בשדה Additional JDBC parameters של החיבור. מידע על הפרמטרים האלה זמין במסמכי התיעוד של מסד הנתונים.
accessTokenApplicationIntentapplicationNameauthenticationauthenticationSchemecancelQueryTimeoutcolumnEncryptionSettingdatabasedatabaseNamedisableStatementPoolingdomainenablePrepareOnFirstPreparedStatementCallEncryptfailoverPartnerfipsgsscredentialhostNameInCertificateinstanceNameIntegrated SecurityintegratedSecurityjaasConfigurationNamekeyStoreAuthenticationlastUpdateCountlocktimeoutloginTimeoutmsiClientIdmultiSubnetFailoverpacketSizepasswordportNumberqueryTimeoutrealmresponseBufferingselectMethodsendStringParametersAsUnicodesendTimeAsDatetimeserverNameserverPreparedStatementDiscardThresholdserverSpntransparentNetworkIPResolutiontrustServerCertificateuseBulkCopyForBatchInsertuseCommaHostPortSeparatoruserworkstationIDxopenStates
תמיכה בתכונות
כדי ש-Looker יתמוך בתכונות מסוימות, הדיאלקט של מסד הנתונים שלכם צריך לתמוך בהן גם כן.
התכונות הבאות נתמכות ב-Microsoft SQL Server 2008 ומעלה החל מ-Looker 26.10:
| תכונה | האם יש תמיכה? |
|---|---|
| Looker (Google Cloud core) | |
| צבירה סימטרית | |
| טבלאות נגזרות | |
| טבלאות נגזרות מתמידות שמבוססות על SQL | |
| טבלאות נגזרות מתמידות מבוססות LookML | |
| תצוגות יציבות | |
| ביטול שאילתה | |
| טבלאות ציר שמבוססות על SQL | |
| אזורי זמן | |
| SSL | |
| סכומי ביניים | |
| פרמטרים נוספים של JDBC | |
| תלוי אותיות רישיות | |
| סוג מיקום | |
| סוג הרשימה | |
| מאון | |
| אחוזון נפרד | |
| SQL Runner Show Processes | |
| SQL Runner Describe Table | |
| SQL Runner Show Indexes | |
| SQL Runner Select 10 | |
| מספר הפעמים שהופעל SQL Runner | |
| SQL Explain | |
| פרטי כניסה של OAuth 2.0 | |
| תגובות להוספת הקשר | |
| איגום חיבורים | |
| רישומים מסוג HLL | |
| מודעות מצטברת | |
| המרות מצטברות של PDT | |
| אלפיות שנייה | |
| מיקרו-שניות | |
| תצוגות מהותיות | |
| מדדים של השוואה בין תקופות שונות | |
| ספירה משוערת של ערכים ייחודיים | |
| מודלים אנליטיים בתוך מסד הנתונים | |
| יומנים בהתאמה אישית |
התכונות הבאות נתמכות ב-Microsoft SQL Server 2016 החל מ-Looker 26.10:
| תכונה | האם יש תמיכה? |
|---|---|
| Looker (Google Cloud core) | |
| צבירה סימטרית | |
| טבלאות נגזרות | |
| טבלאות נגזרות מתמידות שמבוססות על SQL | |
| טבלאות נגזרות מתמידות מבוססות LookML | |
| תצוגות יציבות | |
| ביטול שאילתה | |
| טבלאות ציר שמבוססות על SQL | |
| אזורי זמן | |
| SSL | |
| סכומי ביניים | |
| פרמטרים נוספים של JDBC | |
| תלוי אותיות רישיות | |
| סוג מיקום | |
| סוג הרשימה | |
| מאון | |
| אחוזון נפרד | |
| SQL Runner Show Processes | |
| SQL Runner Describe Table | |
| SQL Runner Show Indexes | |
| SQL Runner Select 10 | |
| מספר הפעמים שהופעל SQL Runner | |
| SQL Explain | |
| פרטי כניסה של OAuth 2.0 | |
| תגובות להוספת הקשר | |
| איגום חיבורים | |
| רישומים מסוג HLL | |
| מודעות מצטברת | |
| המרות מצטברות של PDT | |
| אלפיות שנייה | |
| מיקרו-שניות | |
| תצוגות מהותיות | |
| מדדים של השוואה בין תקופות שונות | |
| ספירה משוערת של ערכים ייחודיים | |
| מודלים אנליטיים בתוך מסד הנתונים | |
| יומנים בהתאמה אישית |
Microsoft SQL Server 2017 ואילך תומך בתכונות הבאות החל מ-Looker 26.10:
| תכונה | האם יש תמיכה? |
|---|---|
| Looker (Google Cloud core) | |
| צבירה סימטרית | |
| טבלאות נגזרות | |
| טבלאות נגזרות מתמידות שמבוססות על SQL | |
| טבלאות נגזרות מתמידות מבוססות LookML | |
| תצוגות יציבות | |
| ביטול שאילתה | |
| טבלאות ציר שמבוססות על SQL | |
| אזורי זמן | |
| SSL | |
| סכומי ביניים | |
| פרמטרים נוספים של JDBC | |
| תלוי אותיות רישיות | |
| סוג מיקום | |
| סוג הרשימה | |
| מאון | |
| אחוזון נפרד | |
| SQL Runner Show Processes | |
| SQL Runner Describe Table | |
| SQL Runner Show Indexes | |
| SQL Runner Select 10 | |
| מספר הפעמים שהופעל SQL Runner | |
| SQL Explain | |
| פרטי כניסה של OAuth 2.0 | |
| תגובות להוספת הקשר | |
| איגום חיבורים | |
| רישומים מסוג HLL | |
| מודעות מצטברת | |
| המרות מצטברות של PDT | |
| אלפיות שנייה | |
| מיקרו-שניות | |
| תצוגות מהותיות | |
| מדדים של השוואה בין תקופות שונות | |
| ספירה משוערת של ערכים ייחודיים | |
| מודלים אנליטיים בתוך מסד הנתונים | |
| יומנים בהתאמה אישית |