Looker में हस्ताक्षर किए गए यूआरएल के साथ एम्बेड करने की सुविधा

1. शुरू करने से पहले

हस्ताक्षर की गई एम्बेडिंग की मदद से, एम्बेड किए गए लुक, विज़ुअलाइज़ेशन, एक्सप्लोर या डैशबोर्ड को निजी तौर पर अपने उपयोगकर्ताओं को दिखाया जा सकता है. इसके लिए, उन्हें अलग से Looker में लॉग इन करने की ज़रूरत नहीं होती. इसके बजाय, उपयोगकर्ताओं की पुष्टि आपके ऐप्लिकेशन के ज़रिए की जाएगी.

हस्ताक्षर करके एम्बेड करने की सुविधा का इस्तेमाल करने के लिए, सबसे पहले एक खास Looker यूआरएल बनाएं. इसका इस्तेमाल iframe में किया जाएगा. यूआरएल में वह जानकारी होती है जिसे आपको शेयर करना है. साथ ही, इसमें आपके सिस्टम में मौजूद उपयोगकर्ता का आईडी और वे अनुमतियां होती हैं जो आपको उस उपयोगकर्ता को देनी हैं. इसके बाद, Looker की ओर से उपलब्ध कराई गई सीक्रेट कुंजी का इस्तेमाल करके, यूआरएल पर हस्ताक्षर करें.

ज़रूरी शर्तें

  • Looker इंस्टेंस चालू होना चाहिए
  • आपके पास Looker इंस्टेंस का एडमिन ऐक्सेस होना चाहिए

आपको क्या सीखने को मिलेगा

  • हस्ताक्षर किए गए एम्बेडिंग की अनुमति देने के लिए, Looker इंस्टेंस को सेट अप करने का तरीका
  • सीक्रेट कोड जनरेट करने का तरीका
  • आपको किस तरह की जानकारी इकट्ठा करनी होगी, ताकि उसे साइन किए गए एम्बेड यूआरएल में शामिल किया जा सके
  • हस्ताक्षर किया गया एम्बेड यूआरएल जनरेट करने का तरीका
  • एम्बेड किए गए आइटम को अपने ऐप्लिकेशन में कैसे जोड़ें

2. Looker की सही होस्टिंग

कुछ ब्राउज़र में, सुरक्षा से जुड़ी ऐसी नीति डिफ़ॉल्ट रूप से लागू होती है जो तीसरे पक्ष की कुकी को ब्लॉक करती है. इससे, साइन किए गए कॉन्टेंट को एम्बेड करने की सुविधा काम नहीं करेगी. इस कोडलैब के लिए, इस समस्या को हल करने का सबसे आसान तरीका यह है कि आप अपने ब्राउज़र में तीसरे पक्ष की कुकी को कुछ समय के लिए अनुमति दें:

प्रोडक्शन सेटअप में, तीसरे पक्ष की कुकी को मैनेज करने के लिए, आपको इनमें से कोई एक रणनीति चुननी होगी:

  • अपने Looker इंस्टेंस और उन ऐप्लिकेशन को एक ही डोमेन पर रखें जहां आपको साइन की गई एम्बेडिंग का इस्तेमाल करना है. उदाहरण के लिए, आपका Looker इंस्टेंस looker.mycompany.com पर मौजूद हो सकता है, जबकि साइन की गई एम्बेडिंग साइट analytics.mycompany.com पर मौजूद थी.
  • कुकीलेस एम्बेड सुविधा चालू करें. इससे तीसरे पक्ष की कुकी को ब्लॉक करने वाले ब्राउज़र, अलग-अलग डोमेन पर पुष्टि कर पाते हैं. इस विकल्प का इस्तेमाल करने के लिए, अतिरिक्त कॉन्फ़िगरेशन की ज़रूरत होती है. इसके बारे में Looker के कुकीलेस एम्बेडिंग दस्तावेज़ पेज पर बताया गया है.

3. सुरक्षा कुंजी जनरेट करना

हस्ताक्षर किया गया एम्बेड यूआरएल बनाने के लिए, आपको Looker से एक सीक्रेट कुंजी की ज़रूरत होगी. इसके लिए:

  1. Looker के एडमिन सेक्शन में जाकर, एम्बेड करें पेज पर जाएं.
  2. एसएसओ की पुष्टि करने की सुविधा एम्बेड करें ड्रॉप-डाउन से, चालू है को चुनें. इसके बाद, अपडेट करें को चुनें.
  3. एम्बेड करने का सीक्रेट जनरेट करने के लिए, एम्बेड करने का सीक्रेट सेक्शन में जाकर, सीक्रेट रीसेट करें बटन चुनें.

इस सीक्रेट को किसी सुरक्षित जगह पर कॉपी करें, क्योंकि इसे रीसेट किए बिना Looker से वापस नहीं पाया जा सकता. कुंजी रीसेट करने पर, पुरानी कुंजी का इस्तेमाल करने वाले सभी एम्बेड काम नहीं करेंगे.

4. हस्ताक्षर किए गए एम्बेड यूआरएल के लिए इनपुट इकट्ठा करना

हस्ताक्षर किया गया एम्बेड यूआरएल बनाने के लिए, आपको यह जानकारी इकट्ठा करनी होगी.

दिखाए जाने वाले डेटा का यूआरएल

उस Look, एक्सप्लोर, क्वेरी विज़ुअलाइज़ेशन या डैशबोर्ड का यूआरएल पाएं जिसे आपको जोड़ना है. इसके बाद, डोमेन हटाएं और पाथ से पहले /embed लगाएं.

उदाहरण के लिए, https://instance_name.cloud.looker.com/looks/4, /embed/looks/4 हो जाएगा.

इसके अलावा, https://instance_name.cloud.looker.com/explore/my_model/my_explore को /embed/explore/my_model/my_explore में बदल दिया जाएगा.

आपको एम्बेड किए गए उपयोगकर्ता को कौनसी अनुमतियां देनी हैं

वे अनुमतियां चुनें जो आपको एम्बेड किए गए उपयोगकर्ता को देनी हैं. हस्ताक्षर किए गए एम्बेडिंग के लिए ज़रूरी अनुमतियां, Looker के हस्ताक्षर किए गए एम्बेडिंग दस्तावेज़ पेज पर देखी जा सकती हैं.

इस कोडलैब के लिए, यहां दी गई अनुमतियां ज़रूरी हो सकती हैं:

  • access_data
  • see_lookml_dashboards
  • see_looks
  • see_user_dashboards
  • explore

अगर आपको यह जांच करनी है कि एम्बेड किए गए कॉन्टेंट में, उपयोगकर्ताओं को ब्राउज़ करने और उसे सेव करने की सुविधा मिलती है या नहीं, तो आपको इन बातों का ध्यान रखना चाहिए:

  • save_content
  • embed_browse_spaces
  • embed_save_shared_space

आपको एम्बेड किए गए उपयोगकर्ता को किस मॉडल का ऐक्सेस देना है

उन Looker मॉडल को चुनें जिनका ऐक्सेस आपको एम्बेड किए गए उपयोगकर्ता को देना है. उपयोगकर्ता के पास कम से कम उस मॉडल का ऐक्सेस होना चाहिए जिस पर Look, Explore, क्वेरी विज़ुअलाइज़ेशन या डैशबोर्ड आधारित है.

उपयोगकर्ता के ऐसे एट्रिब्यूट जिन्हें आपको एम्बेड किए गए उपयोगकर्ता के लिए सेट करना है

अगर आपको एम्बेड किए गए उपयोगकर्ता को Looker के उपयोगकर्ता एट्रिब्यूट देने हैं, तो उन्हें चुनें. इस कोडलैब के लिए, उपयोगकर्ता एट्रिब्यूट जोड़ने की ज़रूरत नहीं है.

वे ग्रुप जिनके लिए आपको एम्बेड किए गए उपयोगकर्ता को अनुमति देनी है

तय करें कि उपयोगकर्ता को किन ग्रुप आईडी (ग्रुप के नाम नहीं) में शामिल किया जाना चाहिए. इस कोडलैब के लिए, ग्रुप जोड़ने की ज़रूरत नहीं हो सकती.

आपकी कंपनी का उपयोगकर्ता आईडी और ग्रुप

Looker के साइन किए गए एम्बेड यूआरएल के लिए, आपको अपने ऐप्लिकेशन में मौजूद हर उस उपयोगकर्ता के लिए एक यूनीक आइडेंटिफ़ायर देना होगा जो एम्बेड किए गए Looker एलिमेंट को देखता है. Looker इसे "बाहरी यूज़र आईडी" कहता है. यह कोई भी स्ट्रिंग हो सकती है.

अगर ज़रूरी हो, तो "बाहरी ग्रुप आईडी" भी दिया जा सकता है. यह आपके ऐप्लिकेशन में, उपयोगकर्ता के ग्रुप के लिए एक यूनीक आइडेंटिफ़ायर होता है.

5. यूआरएल जनरेट करने वाली स्क्रिप्ट चुनें

सही तरीके से हस्ताक्षर किया गया एम्बेड यूआरएल बनाने के लिए, आपको कोड का इस्तेमाल करना होगा. इससे, यूआरएल को अपनी सीक्रेट कुंजी के साथ सही तरीके से एन्कोड किया जा सकेगा और सुरक्षा से जुड़ी अन्य चीज़ें जनरेट की जा सकेंगी.

अच्छी बात यह है कि Looker की looker_embed_sso_examples Github रिपॉज़िटरी में, अलग-अलग प्रोग्रामिंग भाषाओं में कई सैंपल स्क्रिप्ट उपलब्ध हैं. अपनी ज़रूरत के हिसाब से स्क्रिप्ट चुनें और उसे अपने डेवलपमेंट एनवायरमेंट में कॉपी करें.

6. डेटा भरना और स्क्रिप्ट चलाना

आपने यूआरएल जनरेट करने के लिए जो स्क्रिप्ट चुनी है उसमें ऐसे वैरिएबल या ऑब्जेक्ट होंगे जिनमें पहले से इकट्ठा की गई आपकी सारी जानकारी रखी जा सकती है. साथ ही, यह जानकारी किस तरह से दिखाई जानी चाहिए, इसके उदाहरण भी दिए गए होंगे:

स्क्रिप्ट का नाम

आपके इनपुट के लिए अनुमानित लाइनें

LookerEmbedClientExample.java

15 से 28

csharp_example.cs

18 - 35

go_example.go

193 - 202

node_example.js

87 - 104

python_example.py

103 - 111

ruby_example.rb

88 - 101

sso_embed.php

14 - 27

इकट्ठा किए गए डेटा से उदाहरणों को बदलने के बाद, हस्ताक्षर किया गया एम्बेड यूआरएल जनरेट करने के लिए स्क्रिप्ट चलाएं. अगले चरण के लिए, यूआरएल नोट करें.

7. यूआरएल की जांच करना

अपने फ़ाइनल यूआरएल की जांच करने के लिए, Looker के एडमिन सेक्शन के Embed पेज पर मौजूद Embed URI Validator में उसे चिपकाएं. यह सुविधा यह पता नहीं लगा सकती कि आपके हिसाब से डेटा और अनुमतियां सही तरीके से सेट अप की गई हैं या नहीं. हालांकि, यह पुष्टि कर सकती है कि आपकी पुष्टि करने की प्रोसेस ठीक से काम कर रही है.

8. यूआरएल को iframe में एम्बेड करना

आखिर में, जनरेट किए गए यूआरएल को src एट्रिब्यूट में जोड़कर, अपने ऐप्लिकेशन में Look, Explore, क्वेरी विज़ुअलाइज़ेशन या डैशबोर्ड एम्बेड करें.iframe उस iframe को अपने ऐप्लिकेशन या टेस्ट एनवायरमेंट में डालें.

अगर आपको iframe के साथ इंटरैक्ट करना है, तो JavaScript का इस्तेमाल करें. इसके लिए, Looker के एम्बेड किए गए JavaScript इवेंट का इस्तेमाल करें.

9. अतिरिक्त जानकारी

Looker की साइन की गई एम्बेडिंग सुविधा को सावधानी से कॉन्फ़िगर किया जाना चाहिए. इससे यह पक्का किया जा सकेगा कि एम्बेड किए गए उपयोगकर्ताओं को सिर्फ़ आपकी पसंद के मुताबिक डेटा दिखे और उन्हें सिर्फ़ ज़रूरी अनुमतियां मिलें. कृपया इन बातों का ध्यान रखें:

  • Looker के हस्ताक्षर किए गए एम्बेडिंग के दस्तावेज़ वाले पेज पर, हस्ताक्षर किए गए एम्बेड यूआरएल को जनरेट करने के तरीके के बारे में पूरी जानकारी दी गई है. साथ ही, इसमें कॉन्फ़िगरेशन के सभी उपलब्ध विकल्पों के बारे में भी बताया गया है.
  • Looker के एम्बेड की गई ऐनलिटिक्स के लिए सुरक्षा के सबसे सही तरीके वाले दस्तावेज़ पेज पर, साइन की गई एम्बेडिंग को सुरक्षित तरीके से कॉन्फ़िगर करने के बारे में दिशा-निर्देश दिए गए हैं.
  • Looker के ग्राहक, अक्सर साइन की गई एम्बेडिंग का इस्तेमाल अपने क्लाइंट को डेटा दिखाने के लिए करते हैं. साथ ही, वे यह भी चाहते हैं कि अलग-अलग कंपनियों या ग्रुप के क्लाइंट को एक-दूसरे के बारे में जानकारी न हो. इस स्थिति में, हमारा सुझाव है कि Looker को बंद सिस्टम के तौर पर कॉन्फ़िगर करें. इसे कभी-कभी "मल्टीटैलेंट इंस्टॉलेशन" भी कहा जाता है.
  • हस्ताक्षर किए गए एम्बेड करने की सुविधा, Looker के API के ज़रिए उपलब्ध है.