ל-Looker יש תמיכה ברמת השילוב ב-MSSQL. בדף הזה מוסבר איך לחבר את Looker ל-MSSQL.
הצפנת התנועה ברשת
מומלץ להצפין את התנועה ברשת בין אפליקציית Looker לבין מסד הנתונים. כדאי לשקול אחת מהאפשרויות שמתוארות בדף הפעלת גישה מאובטחת למסד נתונים.
אם אתם רוצים להשתמש בהצפנת SSL, תוכלו לעיין במסמכי Microsoft.
הגדרת אימות שרת
כדי להשתמש ב-Looker, צריך להגדיר "אימות של SQL Server" בשרת MSSQL. אם שרת MSSQL מוגדר רק כ-Windows Integrated Authentication, צריך לשנות את הגדרת השרת ל-Windows Integrated Authentication ו-SQL Server Authentication.
אם הגדרת השרת לא תקינה, Looker לא יוכל להתחבר. השגיאה הזו תופיע בהודעות היומן של SQL Server, למשל: "An attempt to log in using SQL authentication failed. השרת מוגדר לאימות של Windows בלבד".
אם השינוי הזה נדרש, אפשר לבצע את השלבים הבאים:
- ב-SQL Server Management Studio Object Explorer, לוחצים לחיצה ימנית על השרת ואז לוחצים על Properties (מאפיינים).
- בדף Security (אבטחה), בקטע Server authentication (אימות שרת), בוחרים את מצב אימות השרת החדש ולוחצים על OK (אישור).
- בתיבת הדו-שיח 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:
כדי לתת הרשאת
SELECTלסכימות ספציפיות, מריצים את הפקודה הבאה לכל סכימה:GRANT 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 ולהעניק לו את ההרשאות הנדרשות, מריצים את הפקודה הבאה:
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 כדי לאחסן את פרטי הכניסה לשימוש לטווח ארוך. כדי לקבל את כרטיס Kerberos, משתמשים בפקודה כמו
kinit -k -t looker_user.keytab username@REALM.
חידוש אוטומטי של הכרטיס
מגדירים משימת cron שפועלת מדי פעם כדי לשמור כרטיס פעיל במטמון הכרטיסים של Kerberos. התדירות שבה צריך להריץ את הפקודה תלויה בהגדרות של האשכול. השדה klist צריך לציין מתי הכרטיסים יפוגו.
יצירת החיבור של Looker למסד הנתונים
כדי ליצור את החיבור בין Looker למסד הנתונים:
- בקטע Admin ב-Looker, בוחרים באפשרות Connections ולוחצים על Add Connection.
בתפריט הנפתח Dialect (ניב), בוחרים את הגרסה של Microsoft SQL Server.
בשדות מארח מרוחק ויציאה, מזינים את שם המארח והיציאה (יציאת ברירת המחדל היא 1433).
אם אתם צריכים לציין יציאה שאינה ברירת המחדל (1433) ומסד הנתונים שלכם דורש שימוש בפסיק במקום בנקודתיים, תוכלו להוסיף
useCommaHostPortSeparator=trueבשדה פרמטרים נוספים של JDBC בחלק התחתון של הגדרות החיבור. כך תוכלו להשתמש בפסיק בשדה מארח מרוחק:יציאה. לדוגמה:jdbc:sqlserver://hostname,1434ממלאים את שאר פרטי החיבור. רוב ההגדרות משותפות לרוב הניבים של מסדי הנתונים. מידע נוסף זמין בדף חיבור Looker למסד הנתונים.
כדי לוודא שהחיבור בוצע בהצלחה, לוחצים על הלחצן בדיקת החיבור בקטע פרטי הסטטוס בחלק התחתון של הדף הגדרות החיבורים.
אם ב-Looker מוצגת האפשרות Can Connect (אפשר להתחבר), לוחצים על Connect (התחברות) כדי ליצור את החיבור.
החיבור למסד הנתונים יתווסף לרשימה בדף Admin (ניהול) בקטע Connections (חיבורים) ב-Looker.
הגדרת החיבור ל-Looker
פועלים לפי ההוראות בדף התיעוד חיבור Looker למסד הנתונים כדי ליצור חיבור למסד הנתונים של MSSQL. בקטע Additional JDBC parameters (פרמטרים נוספים של JDBC) בדף Connection Settings (הגדרות חיבור), מוסיפים את הפרמטרים הבאים:
;integratedSecurity=true;authenticationScheme=JavaKerberos
חלק מהרשתות מוגדרות לשני תחומי Kerberos, אחד ל-Windows Active Directory והשני ל-Linux ולמערכות אחרות שאינן של Windows. במקרה כזה, כשמגדירים את תחום ה-Linux ואת תחום ה-Active Directory כך שיסמכו זה על זה, זה נקרא "אימות בין תחומים".
אם הרשת שלכם משתמשת באימות בין תחומים, אתם צריכים לציין במפורש את ה-principal של Kerberos לשרת MSSQL. בשדה 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. מזינים ערכים פיקטיביים בשדות האלה.
בודקים את החיבור כדי לוודא שהוא מוגדר בצורה נכונה.
פרמטרים נתמכים של JDBC
ב-Microsoft SQL Server, Looker תומך בפרמטרים הבאים של JDBC בשדה Additional JDBC parameters של החיבור. מידע על הפרמטרים האלה מופיע במאמרי העזרה של מסד הנתונים.
accessTokenApplicationIntentapplicationNameauthenticationauthenticationSchemecancelQueryTimeoutcolumnEncryptionSettingdatabasedatabaseNamedisableStatementPoolingdomainenablePrepareOnFirstPreparedStatementCallEncryptfailoverPartnerfipsgsscredentialhostNameInCertificateinstanceNameIntegrated SecurityintegratedSecurityjaasConfigurationNamekeyStoreAuthenticationlastUpdateCountlocktimeoutloginTimeoutmsiClientIdmultiSubnetFailoverpacketSizepasswordportNumberqueryTimeoutrealmresponseBufferingselectMethodsendStringParametersAsUnicodesendTimeAsDatetimeserverNameserverPreparedStatementDiscardThresholdserverSpntransparentNetworkIPResolutiontrustServerCertificateuseBulkCopyForBatchInsertuseCommaHostPortSeparatoruserworkstationIDxopenStates
תמיכה בתכונות
כדי ש-Looker יתמוך בתכונות מסוימות, גם הניב של מסד הנתונים צריך לתמוך בהן.
החל מגרסה Looker 26.20, Microsoft SQL Server 2008+ תומך בתכונות הבאות:
| תכונה | נתמך? |
|---|---|
| Looker (Google Cloud core) | |
| צבירה סימטרית | |
| טבלאות נגזרות | |
| טבלאות נגזרות מתמידות שמבוססות על SQL | |
| טבלאות נגזרות מתמידות מבוססות LookML | |
| תצוגות יציבות | |
| סגירת שאילתות | |
| טבלאות ציר שמבוססות על SQL | |
| אזורי זמן | |
| SSL | |
| סיכומי ביניים | |
| פרמטרים נוספים של JDBC | |
| תלוי אותיות רישיות (case-sensitive) | |
| סוג מיקום | |
| סוג הרשימה | |
| מאון | |
| מאון ייחודי | |
| SQL Runner Show Processes | |
| SQL Runner Describe Table | |
| הצגת אינדקסים ב-SQL Runner | |
| SQL Runner Select 10 | |
| ספירת SQL Runner | |
| הסבר על SQL | |
| פרטי כניסה של OAuth 2.0 | |
| הערות להוספת הקשר | |
| איגום חיבורים | |
| HLL sketches | |
| מודעות מצטברת | |
| PDT מצטברות | |
| אלפיות השנייה | |
| מיקרו-שניות | |
| תצוגות מהותיות | |
| מדדים של השוואה בין תקופות שונות | |
| ספירה משוערת של ערכים ייחודיים | |
| מודלים של ניתוח נתונים במסד הנתונים | |
| יומנים בהתאמה אישית |
החל מגרסה 26.20 של Looker, Microsoft SQL Server 2016 תומך בתכונות הבאות:
| תכונה | נתמך? |
|---|---|
| Looker (Google Cloud core) | |
| צבירה סימטרית | |
| טבלאות נגזרות | |
| טבלאות נגזרות מתמידות שמבוססות על SQL | |
| טבלאות נגזרות מתמידות מבוססות LookML | |
| תצוגות יציבות | |
| סגירת שאילתות | |
| טבלאות ציר שמבוססות על SQL | |
| אזורי זמן | |
| SSL | |
| סיכומי ביניים | |
| פרמטרים נוספים של JDBC | |
| תלוי אותיות רישיות (case-sensitive) | |
| סוג מיקום | |
| סוג הרשימה | |
| מאון | |
| מאון ייחודי | |
| SQL Runner Show Processes | |
| SQL Runner Describe Table | |
| הצגת אינדקסים ב-SQL Runner | |
| SQL Runner Select 10 | |
| ספירת SQL Runner | |
| הסבר על SQL | |
| פרטי כניסה של OAuth 2.0 | |
| הערות להוספת הקשר | |
| איגום חיבורים | |
| HLL sketches | |
| מודעות מצטברת | |
| PDT מצטברות | |
| אלפיות השנייה | |
| מיקרו-שניות | |
| תצוגות מהותיות | |
| מדדים של השוואה בין תקופות שונות | |
| ספירה משוערת של ערכים ייחודיים | |
| מודלים של ניתוח נתונים במסד הנתונים | |
| יומנים בהתאמה אישית |
החל מגרסה 26.20 של Looker, Microsoft SQL Server 2017 ואילך תומך בתכונות הבאות:
| תכונה | נתמך? |
|---|---|
| Looker (Google Cloud core) | |
| צבירה סימטרית | |
| טבלאות נגזרות | |
| טבלאות נגזרות מתמידות שמבוססות על SQL | |
| טבלאות נגזרות מתמידות מבוססות LookML | |
| תצוגות יציבות | |
| סגירת שאילתות | |
| טבלאות ציר שמבוססות על SQL | |
| אזורי זמן | |
| SSL | |
| סיכומי ביניים | |
| פרמטרים נוספים של JDBC | |
| תלוי אותיות רישיות (case-sensitive) | |
| סוג מיקום | |
| סוג הרשימה | |
| מאון | |
| מאון ייחודי | |
| SQL Runner Show Processes | |
| SQL Runner Describe Table | |
| הצגת אינדקסים ב-SQL Runner | |
| SQL Runner Select 10 | |
| ספירת SQL Runner | |
| הסבר על SQL | |
| פרטי כניסה של OAuth 2.0 | |
| הערות להוספת הקשר | |
| איגום חיבורים | |
| HLL sketches | |
| מודעות מצטברת | |
| PDT מצטברות | |
| אלפיות השנייה | |
| מיקרו-שניות | |
| תצוגות מהותיות | |
| מדדים של השוואה בין תקופות שונות | |
| ספירה משוערת של ערכים ייחודיים | |
| מודלים של ניתוח נתונים במסד הנתונים | |
| יומנים בהתאמה אישית |