הטמעה חתומה היא דרך להציג למשתמשים טבלאות Look, תרשימים להמחשה, Explore, מרכזי בקרה או מרכזי שליטה של LookML פרטיים ומוטמעים, בלי שהם יצטרכו להתחבר בנפרד ל-Looker. במקום זאת, המשתמשים יאומתו דרך האפליקציה שלכם.
כדי להטמיע חתימה, צריך ליצור כתובת URL מיוחדת של Looker ולהשתמש בה ב-iframe. כתובת ה-URL מכילה את המידע שאתם רוצים לשתף, את מזהה המשתמש במערכת שלכם ואת ההרשאות שאתם רוצים לתת למשתמש. לאחר מכן, חותמים על כתובת ה-URL באמצעות מפתח סודי שסופק על ידי Looker.
כדי להטמיע באופן ציבורי, עיינו בקטע הטמעה ציבורית עם תגי iframe בדף התיעוד שיתוף, ייבוא והטמעה של Looks באופן ציבורי.
כדי להשתמש בהטמעה חתומה במופע של Looker, אדמין ב-Looker צריך להפעיל את ההטמעה החתומה בחלונית Admin ב-Looker וליצור מפתח סודי להטמעה. הוראות מפורטות זמינות בדף התיעוד תחילת העבודה עם הטמעה – הפעלת הטמעה חתומה.
אירוח מתאים להטמעה חתומה
בדפדפנים מסוימים, כמו Safari או דפדפנים שמותקנים בהם תוספים שחוסמים מודעות או קובצי Cookie למעקב, מדיניות ברירת המחדל חוסמת קובצי Cookie של צד שלישי. כשהתכונה הטמעה ללא קובצי Cookie מופעלת, דפדפנים שחוסמים קובצי Cookie של צד שלישי יכולים לאמת משתמשים ב-iframe המוטמע בדומיינים שונים. כדי להטמיע אימות ללא קובצי Cookie, צריך להגדיר את האימות בצד השרת. דוגמאות להגדרה מופיעות בדף התיעוד הטמעה ללא קובצי Cookie.
אם התכונה הטמעה ללא קובצי Cookie לא מופעלת, Looker משתמש בקובצי Cookie לאימות משתמשים. במקרה כזה, אי אפשר לאמת את ה-iframe המוטמע בדומיינים שונים בדפדפנים שחוסמים קובצי Cookie של צד שלישי (אלא אם המשתמש משנה את הגדרות הפרטיות של קובצי ה-Cookie בדפדפן). לדוגמה, אם רוצים להטמיע מידע ב-https://mycompany.com, צריך לוודא ש-Looker משתף את אותו דומיין, כמו https://analytics.mycompany.com. במקרה כזה, אם Looker מארח את המכונה שלכם, פנו לתמיכה של Looker כדי להגדיר את ה-DNS הנדרש להפעלת השימוש בדומיין מותאם אישית. כך Looker יוכל לשתף את אותו דומיין כמו האפליקציה המוטמעת ולהשתמש בקובצי Cookie מהדומיין הנוכחי, שמתקבלים כברירת מחדל בכל הדפדפנים.
אם יש לכם מופע של Looker שמתארח בצד הלקוח, ודאו שהאפליקציה שתשתמש בהטמעה חתומה משתמשת באותו דומיין כמו המופע של Looker.
שליטה בחשיפה של הלקוחות באמצעות מערכת סגורה
בהגדרת הטמעה חתומה, משתמשי Looker בדרך כלל מציגים נתונים ללקוחות שלהם, אבל יש להם לקוחות מחברות או מקבוצות שונות שלא אמורים לדעת זה על זה. בתרחיש כזה, כדי להגן על המידע הפרטי של הלקוחות, מומלץ מאוד להגדיר את Looker כמערכת סגורה, שנקראת גם התקנה של ריבוי דיירים. במערכת סגורה, התוכן מופרד כדי למנוע ממשתמשים מקבוצות שונות לדעת על קיומן של קבוצות אחרות. לכן, מומלץ להפעיל את האפשרות מערכת סגורה לפני שנותנים למשתמשים חיצוניים גישה למכונה.
למידע נוסף, קראו את דפי התיעוד תכנון והגדרה של מערכת רמות גישה ושיטות מומלצות לאבטחה של ניתוח נתונים מוטמע.
יצירת כתובת ה-URL החתומה להטמעה
יש כמה דרכים ליצור את כתובת ה-URL החתומה להטמעה. אפשר להשתמש באחת מהשיטות הבאות:
אפשר ליצור כתובת URL חתומה להטמעה באמצעות האפשרות Get embed URL בתפריט שלוש הנקודות של מרכז הבקרה, או בתפריט גלגל השיניים של פעולות Explore של Look או Explore.
משתמשים בנקודת הקצה Create Signed Embed Url של Looker API, כפי שמתואר בהמשך המסמך הזה.
משתמשים ב-Looker Embed SDK.
מקודדים את כתובת ה-URL החתומה להטמעה. כדי ליצור את כתובת ה-URL המתאימה, תצטרכו לכתוב קוד שיאפשר לכם לקודד את כתובת ה-URL באמצעות המפתח הסודי וליצור פריטים אחרים שקשורים לאבטחה. במאגר GitHub של דוגמאות להטמעה של Looker יש כמה סקריפטים לדוגמה. בקטעים הבאים מוסבר איזה מידע צריך לספק לסקריפטים האלה, ואיך ליצור כתובת URL חתומה להטמעה בלי להשתמש בסקריפט.
קידוד ידני של כתובת ה-URL החתומה להטמעה
כדי לכתוב את הקוד של כתובת ה-URL החתומה להטמעה, קודם צריך לאסוף את המידע הנדרש מ-Looker ואז ליצור את כתובת ה-URL החתומה להטמעה.
איסוף המידע הנדרש על Looker
כדי להתחיל ליצור את כתובת ה-URL, קודם כל צריך להחליט מה המידע שרוצים לכלול בה. מה צריך:
הטמעת כתובת URL
מאחזרים את כתובת ה-URL של ה-Look, ה-Explore, התצוגה החזותית של השאילתה או מרכז הבקרה שרוצים להטמיע. לאחר מכן, מסירים את הדומיין ומוסיפים את /embed לפני הנתיב, באופן הבא:
| פריט | תבנית URL רגילה | הטמעת כתובת URL |
|---|---|---|
| טבלת Look | https://instance_name.looker.com/looks/4 |
/embed/looks/4 |
| שלב שני | https://instance_name.looker.com/explore/my_model/my_explore |
/embed/explore/my_model/my_explore |
| המחשה חזותית של שאילתות | https://instance_name.looker.com/explore/my_model/my_explore?qid=1234567890abcdefghij1222 התווים האלפאנומריים שמופיעים אחרי הפרמטר qid= בכתובת ה-URL של הכלי "ניתוחים" הם Query.client_id. הערך Query.client_id הוא מחרוזת ייחודית שמייצגת את השאילתה ואת הגדרות התצוגה החזותית.כדי להטמיע תצוגה חזותית של שאילתה, מאחזרים את הערך Query.client_id של התצוגה החזותית של השאילתה ומעתיקים את Query.client_id לכתובת ה-URL להטמעה.אתם יכולים להשתמש בממשק המשתמש Explore של Looker כדי ליצור שאילתה עם תצוגה חזותית נתמכת ולהעתיק את הערך של Query.client_id מהפרמטר qid=, או לאחזר את Query.client_id באמצעות Looker API, למשל באמצעות השיטה Get Query. |
/embed/query-visualization/Query.client_id |
| לוח בקרה בהגדרת המשתמש | https://instance_name.looker.com/dashboards/1כוללים את כל ערכי המסננים של מרכז הבקרה שמסתירים את ערכי המסננים, הפרמטר hide_filter בכתובת ה-URL של מרכז הבקרה. |
/embed/dashboards/1 |
| מרכז שליטה של LookML | https://instance_name.looker.com/dashboards/my_model::my_dashboard |
/embed/dashboards/my_model::my_dashboard |
| ניתוח נתונים בממשק שיחה | בדף השיחות: https://instance_name.looker.com/conversationsבדף הסוכנים: https://instance_name.looker.com/agentsלשיחה ספציפית: https://instance_name.looker.com/conversations/conversation_idמידע נוסף זמין בדף התיעוד בנושא הטמעת ניתוח נתונים של שיחות. |
/embed/conversations/embed/agents/embed/conversations/c9f370ac830b4669aeb494396422004c |
הרשאות
קבוצת הרשאות מגדירה מה משתמש או קבוצה יכולים לעשות. אפשר להחיל הרשאות באחת משתי דרכים:
- ספציפית למודל: סוג ההרשאה הזה חל רק על קבוצות המודלים שהן חלק מאותו תפקיד.
- ברמת המכונה: סוג ההרשאה הזה חל על מכונת Looker כולה. משתמשים מוטמעים עם הרשאות ברמת המכונה יכולים לבצע פונקציות מסוימות בכל המכונה של Looker, אבל הם לא יכולים לגשת לתוכן שמבוסס על מודלים שלא נכללים בקבוצת המודלים של התפקיד שלהם.
מחליטים אילו הרשאות רוצים לתת למשתמש. ברשימה הבאה מפורטות כל ההרשאות הזמינות להטמעה חתומה. ההרשאות שלא מופיעות ברשימה הבאה לא נתמכות בהטמעה חתומה:
| הרשאה | תלוי ב- | סוג | הגדרה |
|---|---|---|---|
access_data |
ללא | ספציפי למודל | מאפשרת למשתמשים לגשת לנתונים (נדרשת כדי להציג תצוגות, לוחות בקרה או חקירות) |
see_lookml_dashboards |
access_data |
ספציפי למודל | מאפשרת למשתמשים לראות מרכזי שליטה של LookML. ההרשאה הזו נדרשת גם אם למשתמש יש גישת צפייה לתיקייה של מרכז הבקרה. |
see_looks |
access_data |
ספציפי למודל | המשתמש יכול לראות תבניות עיצוב |
see_user_dashboards |
see_looks |
ספציפי למודל | המשתמשים יכולים לראות מרכזי בקרה בהגדרת המשתמש ולעיין בתיקיות מהטמעה |
explore |
see_looks |
ספציפי למודל | המשתמש יכול לראות את דפי הניתוח |
create_table_calculations |
explore |
בכל המכונה | נדרשת כדי ליצור חישובים בטבלה ב-Explore |
create_custom_fields |
explore |
בכל המכונה | נדרשת כדי ליצור שדות בהתאמה אישית ב-Explore |
can_create_forecast |
explore |
בכל המכונה | מאפשרת למשתמשים ליצור או לערוך תחזיות בתצוגות חזותיות. |
save_content |
see_looks |
בכל המכונה | המשתמשים יכולים לבצע ולשמור שינויים בטבלאות Look ובלוחות הבקרה |
send_outgoing_webhook |
see_looks |
ספציפי למודל | המשתמשים יכולים לתזמן שליחת תוכן מ-Looker ל-webhook שרירותי |
send_to_s3 |
see_looks |
ספציפי למודל | מאפשרת למשתמש לתזמן שליחת תוכן מ-Looker לקטגוריה של Amazon S3 |
send_to_sftp |
see_looks |
ספציפי למודל | מאפשרת למשתמש לתזמן שליחת תוכן מ-Looker לשרת SFTP |
schedule_look_emails |
see_looks |
ספציפי למודל | מאפשרת למשתמש לתזמן העברת תוכן של Looker לכתובת האימייל שלו (אם הוגדרה באמצעות מאפיין משתמש בשם "email") או לכתובת אימייל שנמצאת במגבלות שנקבעו על ידי רשימת ההיתרים של דומיינים של כתובות אימייל. מאפשר למשתמש עם הרשאות create_alerts לשלוח התראות לכתובת אימייל שנמצאת במגבלות שנקבעו על ידי רשימת ההיתרים של דומיינים של אימייל. |
schedule_external_look_emails |
schedule_look_emails |
ספציפי למודל | מאפשרת למשתמשים לתזמן העברות תוכן של Looker לכל דומיין של כתובות אימייל. משתמשים עם הרשאות create_alerts יכולים לשלוח התראות לכל דומיין של אימייל. |
send_to_integration |
see_looks |
ספציפי למודל | מאפשרת למשתמש להעביר תוכן של Looker אל שירותי צד שלישי שמשולבים ב-Looker דרך Looker Action Hub. ההרשאה הזו לא קשורה לפעולות בנתונים. |
schedule_without_limit |
see_looks |
ספציפי למודל | נוספה בגרסה 26.4 בשילוב עם הרשאה אחת לפחות שמאפשרת למשתמש להעביר תוכן של Looker, ההרשאה הזו מאפשרת למשתמשים להעביר Looks או Explores ששולחים את כל שורות הנתונים. ההרשאה הזו מאפשרת לראות את האפשרות All Results (כל התוצאות) בתזמון של Looker בשביל Looks ו-Explores. |
create_alerts |
see_looks |
בכל המכונה | המשתמש יכול ליצור התראות במשבצות של מרכז הבקרה כדי לקבל התראות כשמתקיימים תנאים מסוימים או כשהם חורגים מהתנאים. המשתמשים יכולים לערוך, לשכפל ולמחוק את ההתראות שלהם ואת ההתראות הציבוריות של משתמשים אחרים. אם סביבת העבודה של המשתמש ב-Slack לא מחוברת למכונה של Looker, המשתמש לא יוכל ליצור התראות ששולחות התראות ל-Slack. |
download_with_limit |
see_looks |
בכל המכונה | מאפשרת למשתמש להוריד את התוצאות של שאילתה עם מגבלה |
download_without_limit |
see_looks |
בכל המכונה | המשתמש יכול להוריד את תוצאות השאילתה ללא הגבלה |
see_sql |
see_looks |
ספציפי למודל | המשתמש יכול לראות את ה-SQL של השאילתות ואת כל שגיאות ה-SQL שנובעות מהרצת שאילתות |
clear_cache_refresh |
access_data |
ספציפי למודל | המשתמשים יכולים לנקות את המטמון ולרענן מרכזי בקרה מוטמעים, מרכזי בקרה מדור קודם, משבצות של מרכזי בקרה, תצוגות Look ותצוגות Explore. |
see_drill_overlay |
access_data |
ספציפי למודל | המשתמשים יכולים להציג פירוט בלי לעבור לדף "ניתוח נתונים" המלא. |
manage_spaces |
ללא | בכל המכונה | הפעלת דפדפן התוכן כדי שהמשתמשים יוכלו ליצור, להעתיק, להעביר ולמחוק תיקיות. המשתמשים יצטרכו גם את הרשאת הגישה לתוכן ניהול גישה, עריכה בתיקייה, או בתיקיית ההורה אם הם יוצרים תיקייה חדשה. |
embed_browse_spaces |
ללא | בכל המכונה |
הפעלת דפדפן התוכן כדי שהמשתמש יוכל לעיין בתיקיות מתוך הטמעה. כל משתמש מוטמע שקיבל את ההרשאה embed_browse_spaces מקבל גישה לתיקייה מוטמעת אישית ולתיקייה Shared של הארגון, אם יש כזו.
מומלץ להעניק את ההרשאה embed_browse_spaces למשתמשים שיש להם את ההרשאה save_content, כדי שהמשתמש יוכל לעיין בתיקיות כשהוא בוחר איפה לשמור תוכן.
כדי לראות את התוכן בתיקיות, המשתמש צריך גם את ההרשאות see_looks, see_user_dashboards ו-see_lookml_dashboards.
ההרשאה embed_browse_spaces נדרשת למשתמשים מוטמעים שרוצים לסמן מרכזי בקרה או Looks כמועדפים, כי סימון תוכן כמועדף דורש גישה לתיקייה מועדפים.
|
embed_save_shared_space |
ללא | בכל המכונה |
מאפשרת למשתמש שיש לו גם את ההרשאה save_content לנווט לתיקייה Shared של הארגון, אם יש כזו, מתוך תיבת הדו-שיח Save. משתמשים שיש להם את ההרשאה save_content אבל אין להם את ההרשאה embed_save_shared_space יוכלו לשמור תוכן רק בתיקיית ההטמעה האישית שלהם.
ההרשאה embed_save_shared_space לא מבטלת את הרשאות הגישה לתוכן. לדוגמה, כדי שמשתמש יוכל לשמור בתיקייה Shared, עדיין צריכה להיות לו גישת ניהול גישה, עריכה לתיקייה Shared. בנוסף, אם למשתמש אין את ההרשאה embed_save_shared_space, אבל יש לו את ההרשאה save_content ואת הרשאת הגישה ניהול גישה, עריכה לתיקייה Shared, הוא עדיין יכול לשמור שם תוכן אם יש לו דרך חלופית לנווט לתיקייה Shared, למשל באמצעות האפשרות Explore from here ממרכז בקרה מוטמע.
|
gemini_in_looker |
ללא | ספציפי למודל | ההרשאה הזו היא היחידה שכלולה בתפקיד ברירת המחדל של Gemini. ההרשאה הזו מאפשרת למשתמשים לבצע את המשימות שמשויכות לכל אחת מהתכונות של Gemini ב-Looker שמופעלות מהדף Gemini ב-Looker בחלונית Admin. יכול להיות שתידרש הרשאה נוספת למשימות מסוימות. |
chat_with_agent |
gemini_in_looker |
ספציפי למודל | נוסף בגרסה 25.18 משתמשי "ניתוח נתונים בשיחה" יכולים להתכתב בצ'אט עם סוכני נתונים שמבוססים על נתונים של עד חמישה חקירות ב-Looker, או עם סוכני נתונים של מרכזי בקרה. כדי להתכתב בצ'אט עם סוכני נתונים של מרכז הבקרה, נדרשות הרשאות נוספות. |
chat_with_explore |
chat_with_agent |
ספציפי למודל | נוסף בגרסה 25.18 משתמשים של ניתוח נתונים בשיחה יכולים להתכתב בצ'אט עם Looker Explore אם יש להם גם הרשאות נדרשות נוספות. |
save_agents |
chat_with_explore |
ספציפי למודל | נוסף בגרסה 25.18 משתמשים ב-Conversational Analytics יכולים ליצור, לערוך, למחוק ולשתף סוכני נתונים במרכזי בקרה או ב-Explores. כדי לערוך, למחוק או לשתף סוכן נתונים שנוצר על ידי משתמש אחר, המשתמשים צריכים לקבל תפקיד שכולל את ההרשאה הזו בכל מודל שבו הסוכן משתמש, וגם הרשאות נדרשות נוספות וגישה מסוג ניהול גישה, עריכה לסוכן. |
admin_agents |
gemini_in_looker |
ספציפי למודל | נוסף בגרסה 25.18 משתמשים יכולים ליצור, לערוך, לשתף ולמחוק סוכני נתונים לשימוש עם Conversational Analytics API ועם Conversational Analytics מוטמע. כשמשתמש יוצר סוכן נתונים, הוא מקבל באופן אוטומטי גישה לסוכן הנתונים ברמת ניהול הגישה, עריכה. עם ההרשאה הזו, המשתמש לא צריך לקבל גישה לתוכן של סוכן הנתונים כדי לערוך, למחוק או לשתף סוכן נתונים שנוצר על ידי משתמש אחר. |
גישה למודלים
קובעים לאילו מודלים של LookML תהיה למשתמש גישה. זו תהיה רשימה של שמות מודלים.
מאפייני המשתמשים
קובעים אילו מאפייני משתמש צריכים להיות למשתמש, אם בכלל. תצטרכו את השם של מאפיין המשתמש מ-Looker, וגם את הערך שצריך להיות למשתמש במאפיין הזה.
קבוצות
מחליטים לאילו קבוצות המשתמש צריך להשתייך, אם בכלל. תצטרכו את מזהי הקבוצות, ולא את שמות הקבוצות. הוספת משתמש מוטמע חתום לקבוצת Looker מאפשרת לכם לנהל את הגישה של המשתמש הזה לתיקיות Looker. למשתמשים מוטמעים מחוברים תהיה גישה לכל התיקיות שמשותפות עם חברים בקבוצות Looker שלהם.
אפשר גם להשתמש בפרמטר external_group_id כדי ליצור קבוצה חיצונית לקבוצות הרגילות של Looker. במקרה כזה, למשתמשים מוטמעים חתומים עם אותו external_group_id תהיה גישה לתיקייה משותפת בשם "קבוצה", שהיא ייחודית לקבוצה החיצונית.
תפקידים מוטמעים
הפרמטרים permissions ו-models יוצרים תפקיד למשתמש המוטמע. התפקיד הזה מופיע בתור "תפקיד מוטמע" בדף Users בקטע Admin ב-Looker. אם הפרמטרים permissions, models ו-group_ids צוינו בכתובת ה-URL להטמעה, התפקיד המוטמע מתווסף לכל התפקידים שכבר הוקצו לקבוצות שמופיעות בפרמטר group_ids. זהה לתפקידים רגילים, כי כל התפקידים ב-Looker הם מצטברים.
לדוגמה, נניח שיש לכם קבוצה קיימת ב-Looker עם מזהה הקבוצה 1, ולקבוצה הזו כבר יש את ההרשאה explore למודל בשם model_one, ואתם יוצרים כתובת URL להטמעה עם הפרמטרים הבאים:
-
group_ids=["1"] -
permissions=["access_data","see_looks"] -
models=["model_two"]
במקרה כזה, המשתמש המוטמע יקבל בירושה את היכולת להציג ולחקור את הנתונים ב-model_one, והתפקיד המוטמע שנוצר עם הפרמטרים הקודמים יעניק גם את היכולת להציג את הנתונים ב-model_two.
יצירת כתובת ה-URL להטמעה
כתובת URL חתומה להטמעה היא בפורמט הבא:
https://HOST/login/embed/EMBED URL?PARAMETERS&signature=SIGNATURE
מארח
המארח הוא המיקום שבו מתארח המופע של Looker. לדוגמה, analytics.mycompany.com. חשוב לכלול את מספר היציאה אם לא הפעלתם העברה ליציאה אחרת, למשל analytics.mycompany.com:9999.
הטמעת כתובת URL
כתובת ה-URL להטמעה נקבעה קודם. הפורמט שלו יהיה דומה לזה:
/embed/looks/4/embed/explore/my_model/my_explore/embed/query-visualization/Query.client_id/embed/dashboards/1או/embed/dashboards-legacy/1/embed/dashboards/my_model::my_dashboardאו/embed/dashboards-legacy/my_model::my_dashboard
זה אומר שהתבנית /embed//embed/ תופיע בכתובת ה-URL הסופית, וזה תקין.
אם אתם משתמשים באירועי JavaScript מוטמעים, הקפידו להוסיף את הפרמטר embed_domain (הדומיין שבו נעשה שימוש ב-iframe) לסוף כתובת ה-URL להטמעה, באופן הבא:
/embed/looks/4
/embed/looks/4?embed_domain=https://mywebsite.com
הפרמטר embed_domain מתווסף לכתובת ה-URL להטמעה לפני קידוד כתובת ה-URL. אם כתובת ה-URL להטמעה כבר מכילה פרמטרים של שאילתת תוכן (כמו ערכי סינון), מוסיפים את הפרמטר embed_domain באמצעות אמפרסנד (&):
/embed/looks/4?filter_name=value
/embed/looks/4?filter_name=value&embed_domain=https://mywebsite.com
אם אתם משתמשים ב-Embed SDK, הקפידו להוסיף את הפרמטר embed_domain וגם את sdk=2 בסוף כתובת ה-URL להטמעה, כך:
/embed/looks/4
/embed/looks/4?embed_domain=https://mywebsite.com&sdk=2
הפרמטר sdk=2 מאפשר ל-Looker לזהות שערכת ה-SDK קיימת, ולהשתמש בתכונות נוספות שערכת ה-SDK מספקת. ה-SDK לא יכול להוסיף את הפרמטר הזה בעצמו כי הוא חלק מכתובת ה-URL החתומה.
פרמטרים
הפרמטרים הבאים של כתובת ה-URL משמשים לציון המידע הדרוש להטמעה החתומה:
| פרמטר | ערך ברירת המחדל | תיאור | סוג הנתונים | דוגמה |
|---|---|---|---|---|
nonce |
חובה להזין ערך | כל מחרוזת אקראית שרוצים, אבל אי אפשר לחזור עליה בתוך שעה והיא צריכה להיות קצרה מ-255 תווים.כך אפשר למנוע מתוקפים לשלוח מחדש כתובת URL של משתמש לגיטימי כדי לאסוף מידע שהם לא אמורים לקבל. | מחרוזת JSON | "22b1ee700ef3dc2f500fb7" |
time |
חובה להזין ערך | השעה הנוכחית כחותמת זמן של UNIX. | מספר שלם | 1407876784 |
session_length |
חובה להזין ערך | מספר השניות שהמשתמש צריך להישאר מחובר ל-Looker, בין 0 ל-2,592,000 שניות (30 ימים). | מספר שלם | 86400 |
external_user_id |
חובה להזין ערך | מזהה לכל משתמש באפליקציה שבה מוטמע Looker. Looker משתמש ב-external_user_id כדי להבדיל בין משתמשים מוטמעים חתומים, ולכן לכל משתמש צריך להיות מזהה ייחודי.אפשר ליצור external_user_id למשתמש עם כל מחרוזת שרוצים, כל עוד היא ייחודית לאותו משתמש. כל מזהה משויך לקבוצה של הרשאות, מאפייני משתמשים ומודלים. דפדפן אחד יכול לתמוך רק בexternal_user_id אחד, או בסשן משתמש אחד, בכל פעם. אי אפשר לשנות את ההרשאות או את מאפייני המשתמש באמצע הסשן.מטעמי אבטחה, חשוב לוודא שאתם לא משתמשים באותו external_user_id בסשנים שונים של הטמעה עבור משתמשים אינטראקטיביים שונים, וחשוב לוודא שאתם לא משתמשים באותו external_user_id עבור משתמש יחיד שיש לו הרשאות שונות, ערכי מאפייני משתמש שונים או גישה שונה למודלים.שימוש באותו external_user_id למספר משתמשים או לאותו משתמש עם מספר הרשאות, מאפייני משתמש או קבוצות מודלים, עלול לגרום לכך שהנתונים יהיו גלויים למשתמשים שאחרת לא הייתה להם גישה אליהם. |
מחרוזת JSON | "user-4" |
permissions |
חובה להזין ערך | רשימת ההרשאות שצריכות להיות למשתמש.רשימת ההרשאות המותרות מופיעה בקטע הרשאות בדף הזה. | מערך של מחרוזות | [ "access_data", "see_looks"] |
models |
חובה להזין ערך | רשימת שמות המודלים שלמשתמש צריכה להיות גישה אליהם. | מערך של מחרוזות | [ "model_one", "model_two"] |
group_ids |
[] | רשימת הקבוצות ב-Looker שהמשתמש צריך להיות חבר בהן, אם יש כאלה. להשתמש במזהי קבוצות במקום בשמות של קבוצות. | מערך של מחרוזות | ["4", "3"] |
external_group_id |
"" | מזהה ייחודי של הקבוצה שאליה המשתמש משתייך באפליקציה שבה מוטמע Looker.משתמשים שיש להם הרשאה לשמור תוכן, ומשתפים מזהה קבוצה חיצוני, יכולים לשמור ולערוך תוכן בתיקיית Looker משותפת שנקראת "קבוצה". הפרמטר external_group_id הוא השיטה היחידה שזמינה ליצירת קבוצות חיצוניות של משתמשים מוטמעים. אי אפשר להגדיר קבוצות משתמשים חיצוניות מוטמעות מתוך ממשק המשתמש של Looker.האורך של external_group_id לא יכול להיות יותר מ-81 תווים. לכל קבוצה נוצרת תיקייה תואמת, ושמות התיקיות מוגבלים ל-100 תווים. לשם התיקייה נוספת הקידומת "Embed Shared Group ", ולכן external_group_id מוגבל ל-81 תווים כדי לא לחרוג ממגבלת התווים (100 תווים או פחות). |
מחרוזת JSON | "Accounting" |
user_attributes |
{} | רשימת מאפייני המשתמש שצריכים להיות למשתמש, אם יש כאלה. מכיל רשימה של שמות מאפייני משתמשים ואחריהם ערך מאפיין המשתמש.אם מודל LookML מותאם לשוק המקומי, אפשר להשתמש במאפיין המשתמש locale בכתובת ה-URL להטמעה כדי לציין שפה להטמעה. לדוגמה, אם כוללים את הפרמטר user_attributes { "locale" : "fr_FR" }, ההטמעה תטען את השפה הצרפתית. |
גיבוב של מחרוזות | { "vendor_id" : "17", "company" : "xactness"} |
access_filters |
חובה להזין ערך | ב-Looker 3.10 הפרמטר הזה הוסר, אבל עדיין צריך לכלול אותו בכתובת ה-URL. משתמשים ב-access_filters עם פלייסהולדר ריק, לדוגמה access_filters={}. |
פלייסהולדר ריק | {} |
first_name |
"" | השם הפרטי של המשתמש. אם משאירים את השדה ריק, הערך של first_name יהיה הערך מהבקשה האחרונה, או "Embed" אם לא הוגדר שם פרטי אף פעם. |
מחרוזת JSON | "Alice" |
last_name |
"" | שם המשפחה של המשתמש. אם משאירים את השדה ריק, הערך של last_name יישאר כמו בבקשה האחרונה, או יהיה "Embed" אם לא הוגדר שם משפחה אף פעם. |
מחרוזת JSON | "Jones" |
user_timezone |
"" | אם הפעלתם את ההגדרה אזורי זמן ספציפיים למשתמש, הפרמטר הזה מגדיר את הערך של האפשרות Viewer Time Zone בתפריט הנפתח Time Zone ב-Look או במרכז הבקרה המוטמעים. הפרמטר הזה לא משנה באופן ישיר את אזור הזמן שבו התוכן מוצג. המשתמש יצטרך לבחור אזור זמן מהתפריט הנפתח.אפשר לראות ערכים תקינים בדף התיעוד הפניה לאזור זמן של הטמעה חתומה.טיפ מצוות Chat: אם אתם רוצים שהתוכן המוטמע יוגדר כברירת מחדל לאזור הזמן של הצופה, השתמשו באחת מהשיטות הבאות:?query_timezone=user_timezone לכתובת ה-URL להטמעה. לדוגמה:/embed/dashboards/1?query_timezone=user_timezone |
מחרוזת JSON או ערך null | "US/Pacific"- או -null |
force_logout_login |
חובה להזין ערך | אם משתמש רגיל ב-Looker כבר מחובר ל-Looker, והוא צופה בפריט מוטמע חתום, אתם יכולים לבחור אם:1) הם צריכים להציג את הפריט עם פרטי הכניסה הנוכחיים שלהםאו2) הם צריכים לצאת מהחשבון ולהיכנס אליו שוב עם פרטי הכניסה החתומים להטמעה. | ערך בוליאני (true או false) | true |
ca_chat |
true |
אם הפעלתם את Conversational Analytics ואת ההגדרה סוכני מרכז הבקרה, ההגדרה הזו קובעת אם חלונית השיחה של סוכן מרכז הבקרה גלויה למשתמשים מוטמעים. אם true, הסמל של Gemini Spark |
ערך בוליאני (true או false) | true |
חתימה
Looker משתמש בחתימה כדי לוודא שהחתימה בכתובת ה-URL להטמעה נוצרה באמצעות הסוד הנכון להטמעה, ושהפרמטרים בכתובת ה-URL להטמעה לא השתנו. אם הסוד להטמעה או הפרמטרים של כתובת ה-URL שונים או השתנו, החתימה לא תתאים והאימות יידחה.
כתוצאה מכך, החתימה בכתובת ה-URL להטמעה מספקת הוכחה קריפטוגרפית חזקה לכך שכתובת ה-URL להטמעה לא שונתה במהלך ההעברה, ושהיא נוצרה על ידי גורם מהימן שמחזיק במפתח הסודי להטמעה.
כדי ליצור את החתימה, צריך לפעול לפי השלבים הבאים.
- אוספים את ערכי הפרמטרים הבאים בסדר הזה:
- מארח, ואחריו
login/embed/(לדוגמה,analytics.mycompany.com/login/embed/) - הטמעת כתובת URL
- Nonce
- השעה הנוכחית
- אורך הסשן
- מזהה משתמש חיצוני
- הרשאות
- מודלים
- מזהי קבוצות
- מזהה קבוצה חיצוני
- מאפייני משתמש
- מסנני גישה (צריך פלייסהולדר ריק)
- הרשאות הגישה של סוכן הנתונים בלוח הבקרה של Conversational Analytics
- מארח, ואחריו
- צריך להגדיר את כל הערכים מלבד Host ו-Embed URL בפורמט JSON
- שרשור הערכים עם מעברי שורה (
\n) - חותמים על המחרוזת המשורשרת באמצעות HMAC-SHA1 עם המפתח הסודי להטמעה ב-Looker
קידוד
השלב האחרון הוא להוסיף קידוד לכתובת ה-URL.
לפני שמקודדים את כתובת ה-URL, כתובת URL להטמעה בפורמט תקין שמשתמשת בכל הפרמטרים האפשריים עשויה להיראות כך:
https://analytics.mycompany.com/login/embed//embed/dashboards/1?
nonce="22b1ee700ef3dc2f500fb7"&
time=1407876784&
session_length=86400&
external_user_id="user-4"&
permissions=["access_data","see_user_dashboards","see_looks"]&
models=["model_one","model_two"]&
group_ids=[4,3]&
external_group_id="Allegra K"&
user_attributes={"vendor_id":"17","company":"xactness"}&
access_filters={}&
ca_chat=false&
first_name="Alice"&
last_name="Jones"&
user_timezone="US/Pacific"&
force_logout_login=true&
signature=123456789ABCDEFGHIJKL
כמו שציינו קודם, /embed//embed/ אמור להופיע בכתובת ה-URL.
אחרי קידוד כתובת ה-URL, היא תיראה כך:
https://analytics.mycompany.com/login/embed/%2embed%2Fdashboards%2F1?
nonce=%2222b1ee700ef3dc2f500fb7&%22&
time=1407876784&
session_length=86400&
external_user_id=%22user-4%22&
permissions=%5B%22access_data%22%2C%22see_user_dashboards%22%2C%22see_looks%22%5D&
models=%5B%22model_one%22%2C%22model_two%22%5D&
group_ids=%5B4%2C3%5D&
external_group_id=%22Allegra%20K%22&
user_attributes=%7B%22vendor_id%22%3A%2217%22%2C%22company%22%3A%22xactness%22%7D&
access_filters%7B%7D%26%0A
ca_chat=false&
first_name=%22Alice%22&
last_name=%22Jones%22&
user_timezone=%22US%2FPacific%22&
force_logout_login=true&
signature=123456789ABCDEFGHIJKL
שימוש בנקודת קצה ל-API של Create Signed Embed Url
Looker API כולל את נקודת הקצה Create Signed Embed Url, שמקבלת קבוצה של פרמטרים להטמעה חתומה, כולל כתובת ה-URL של התוכן שרוצים להטמיע, ומחזירה כתובת URL מלאה, מקודדת וחתומה באופן קריפטוגרפי.
כדי להשתמש בנקודת קצה ל-API זו משרת אינטרנט, השרת צריך להיות מסוגל לאמת ב-Looker API עם הרשאות אדמין. הדומיין של שרת האינטרנט צריך להופיע גם ברשימת ההיתרים של הדומיינים להטמעה.
אפשר גם להשתמש ב-API Explorer כדי ליצור כתובת URL חתומה שמשתמשת בנקודת הקצה הזו. אתם יכולים להתקין את API Explorer במכונה של Looker מ-Looker Marketplace. אחרי שיוצרים את כתובת ה-URL החתומה, צריך להעתיק אותה בדיוק כמו שהיא. אפשר להשתמש בה רק פעם אחת, אחרת היא לא תעבוד. אפשר גם להשתמש ב-API Explorer כדי ליצור כתובת URL חתומה ולהשוות אותה לכתובת URL חתומה שנוצרה באופן ידני, לצורך פתרון בעיות.
מידע נוסף על Looker API זמין בדף התיעוד תחילת השימוש ב-Looker API.
בדיקת כתובת ה-URL להטמעה
כדי לבדוק את כתובת ה-URL הסופית, מדביקים אותה ב-Embed URI Validator בדף Embed בקטע Admin ב-Looker. האפשרות הזו לא יכולה להגיד לכם אם הנתונים וההרשאות שאתם רוצים הוגדרו בצורה נכונה, אבל היא יכולה לאמת שהאימות פועל כמו שצריך.
שיטות מומלצות להטמעת כמה רכיבי iframe באמצעות הטמעה חתומה
כשמטמיעים כמה רכיבי iframe של Looker בדף אחד, בקשות אימות בו-זמניות לאותו external_user_id יכולות לגרום להתנגשויות בהקצאת משתמשים, לתחרות על נעילה בשרת Looker או לביטול סשנים. אם האפליקציה שלכם מטמיעה כמה רכיבי iframe, כדאי לפעול לפי השיטות המומלצות הבאות:
אימות רק של ה-iframe הראשון באמצעות כתובת URL חתומה: כשמשתמשים בהטמעה חתומה עם קובצי Cookie שמופעלים דרך דומיין מותאם אישית, רק ה-iframe הראשון בדף צריך לטעון כתובת URL חתומה של
/login/embed/.... רכיבי iframe הבאים צריכים להמתין עד שרכיב ה-iframe הראשון יסיים את האימות, ואז לטעון כתובות URL להטמעה לא חתומות (לדוגמה,/embed/dashboards/DASHBOARD_ID) כדי שהם יקבלו בירושה את קובץ Cookie זמני מרכיב ה-iframe הראשון בלי להפעיל מחדש את הקצאת המשתמשים. Looker Embed SDK (@looker/embed-sdk) מטפל בזה באופן אוטומטי אחרי שהחיבור הראשון מסתיים.טעינה מראש של iframe כדי ליצור את הסשן: כדי ליצור סשן של משתמש מוטמע לפני שטוענים כמה רכיבי iframe, טוענים מראש iframe באמצעות
/embed/preload(או השיטה.preload()ב-Embed SDK v2) כדי ליצור את הסשן כמה שיותר מהר.שימוש בניווט בתוך מסגרת במקום ליצור מחדש רכיבי iframe: כשמשתמשים ב-Embed SDK v2, אפשר לנווט בתוך iframe שכבר נוצר על ידי קריאה לשיטות כמו
connection.loadDashboard(DASHBOARD_ID)אוconnection.loadUrl(EMBED_URL)במקום ליצור iframe חדש. מידע נוסף זמין במאמר מבוא ל-Embed SDK.שיתוף של
session_reference_tokenיחיד בהטמעה ללא קובצי Cookie: אם אתם משתמשים בהטמעה ללא קובצי Cookie עם כמה רכיבי iframe בדף, עיינו בקטע שיטות מומלצות להטמעה של כמה רכיבי iframe ללא קובצי Cookie בדף הטמעה ללא קובצי Cookie.