جاسازی امضا شده با Looker

۱. قبل از شروع

جاسازی امضا شده روشی برای ارائه ظاهرها، تجسم‌ها، کاوش‌ها یا داشبوردهای جاسازی شده به صورت خصوصی به کاربران شما بدون نیاز به داشتن یک حساب کاربری Looker جداگانه است. در عوض، کاربران از طریق برنامه خودتان احراز هویت می‌شوند.

جاسازی امضا شده با ایجاد یک URL خاص Looker که در یک iframe استفاده خواهید کرد، آغاز می‌شود. این URL شامل اطلاعاتی است که می‌خواهید به اشتراک بگذارید، شناسه کاربر در سیستم شما و مجوزهایی که می‌خواهید آن کاربر داشته باشد. سپس URL را با یک کلید مخفی ارائه شده توسط Looker امضا خواهید کرد.

پیش‌نیازها

  • یک نمونه Looker در حال اجرا داشته باشید
  • در نمونه Looker خود مدیر باشید

آنچه یاد خواهید گرفت

  • چگونه نمونه Looker خود را برای امکان جاسازی امضا شده تنظیم کنیم؟
  • نحوه تولید کلید مخفی
  • چه اطلاعاتی را باید برای درج در URL جاسازی‌شده امضا شده خود جمع‌آوری کنید
  • نحوه تولید URL امضا شده برای جاسازی
  • نحوه اضافه کردن آیتم تعبیه شده به برنامه شما

۲. میزبانی وب Proper Looker

برخی از مرورگرها به طور پیش‌فرض از یک سیاست امنیتی استفاده می‌کنند که کوکی‌های شخص ثالث را مسدود می‌کند، که مانع از کار جاسازی امضا شده می‌شود. برای این Codelab، ساده‌ترین راه برای حل این مشکل، مجاز کردن موقت کوکی‌های شخص ثالث در مرورگر شما است:

در یک محیط عملیاتی، شما باید یکی از استراتژی‌های زیر را برای مقابله با کوکی‌های شخص ثالث انتخاب کنید:

  • هم نمونه Looker و هم برنامه (برنامه‌هایی) که قرار است از جاسازی امضا شده در آنها استفاده کنید را در یک دامنه قرار دهید. برای مثال، ممکن است نمونه Looker شما در looker.mycompany.com باشد در حالی که سایت جاسازی امضا شده شما در analytics.mycompany.com باشد.
  • ویژگی جاسازی بدون کوکی را فعال کنید، که به مرورگرهایی که کوکی‌های شخص ثالث را مسدود می‌کنند اجازه می‌دهد تا در دامنه‌های مختلف احراز هویت شوند. استفاده از این گزینه نیاز به پیکربندی اضافی دارد، همانطور که در صفحه مستندات جاسازی بدون کوکی Looker توضیح داده شده است.

۳. یک کلید مخفی ایجاد کنید

برای ایجاد یک URL جاسازی‌شده امضا شده، به یک کلید مخفی از Looker نیاز دارید. برای انجام این کار:

  1. به صفحه جاسازی در بخش مدیریت Looker بروید.
  2. از منوی کشویی Embed SSO Authentication، گزینه Enabled (فعال) و سپس Update (به‌روزرسانی) را انتخاب کنید.
  3. برای ایجاد رمز جاسازی، دکمه‌ی «بازنشانی رمز» را در بخش «رمز جاسازی» انتخاب کنید.

این رمز را در یک مکان امن کپی کنید، زیرا بدون تنظیم مجدد آن نمی‌توانید آن را از Looker بازیابی کنید. تنظیم مجدد کلید، هرگونه جاسازی که از کلید قدیمی استفاده کرده است را از بین می‌برد.

۴. ورودی‌ها را برای URL جاسازی‌شده امضا شده جمع‌آوری کنید

برای ایجاد یک URL جاسازی‌شده امضا شده، باید اطلاعات زیر را جمع‌آوری کنید.

آدرس اینترنتی (URL) داده‌هایی که قرار است نمایش داده شوند

آدرس اینترنتی (URL) مربوط به Look، Explore، query visualization یا داشبوردی که می‌خواهید جاسازی کنید را بازیابی کنید. سپس دامنه را حذف کرده و /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 بیابید.

برای اهداف این Codelab، مجوزهای زیر احتمالاً حداقل لیست قابل اجرا هستند:

  • access_data
  • see_lookml_dashboards
  • see_looks
  • see_user_dashboards
  • explore

اگر می‌خواهید توانایی کاربران یک سیستم جاسازی‌شده را در مرور و ذخیره محتوا آزمایش کنید، می‌توانید موارد زیر را نیز در نظر بگیرید:

  • save_content
  • embed_browse_spaces
  • embed_save_shared_space

دسترسی مدلی که می‌خواهید کاربر تعبیه‌شده داشته باشد

مدل‌های Looker را که می‌خواهید کاربر تعبیه‌شده به آنها دسترسی داشته باشد، انتخاب کنید. حداقل، کاربر باید به مدلی که زیربنای Look، Explore، تجسم پرس‌وجو یا داشبوردی است که شما برای نمایش انتخاب کرده‌اید، دسترسی داشته باشد.

ویژگی‌های کاربری که می‌خواهید کاربر جاسازی‌شده داشته باشد

در صورت وجود، ویژگی‌های کاربر Looker را که می‌خواهید کاربر جاسازی‌شده داشته باشد، انتخاب کنید. برای این Codelab ممکن است نیازی به افزودن هیچ ویژگی کاربری نباشد.

گروه‌هایی که می‌خواهید کاربر جاسازی‌شده داشته باشد

در صورت وجود، مشخص کنید که کاربر باید به کدام شناسه‌های گروه (نه نام گروه‌ها) تعلق داشته باشد. برای این Codelab ممکن است نیازی به اضافه کردن هیچ گروهی نباشد.

شناسه کاربری و گروه شرکت شما

URL های جاسازی شده امضا شده Looker از شما می خواهند که برای هر کاربر در برنامه خود که یک عنصر Looker جاسازی شده را مشاهده می کند، یک شناسه منحصر به فرد ارائه دهید. Looker این را "شناسه کاربر خارجی" می نامد و می تواند هر رشته ای باشد.

در صورت لزوم، می‌توانید یک «شناسه گروه خارجی» نیز ارائه دهید. این یک شناسه منحصر به فرد برای گروهی است که کاربر در برنامه شما به آن تعلق دارد.

۵. اسکریپت تولید URL خود را انتخاب کنید

ساخت یک URL جاسازی‌شده‌ی امضاشده‌ی مناسب، مستلزم استفاده از کد است تا بتوانید URL را به درستی با کلید مخفی خود رمزگذاری کنید و سایر موارد مرتبط با امنیت را تولید کنید.

خوشبختانه، چندین نمونه اسکریپت به زبان‌های برنامه‌نویسی مختلف در مخزن گیت‌هاب Looker به آدرس looker_embed_sso_examples موجود است. اسکریپتی را که برای شما مناسب است انتخاب کنید و آن را در محیط توسعه خود کپی کنید.

۶. داده‌ها را وارد کنید و اسکریپت را اجرا کنید

اسکریپت تولید URL که انتخاب کرده‌اید، شامل متغیرها یا یک شیء خواهد بود که می‌توانید تمام اطلاعات جمع‌آوری‌شده قبلی خود را به همراه مثال‌هایی برای نحوه ارائه آن اطلاعات در آن قرار دهید:

نام اسکریپت

ردیف‌های Apx برای ورودی شما

LookerEmbedClientExample.java

۱۵ - ۲۸

csharp_example.cs

۱۸ - ۳۵

go_example.go

۱۹۳ - ۲۰۲

node_example.js

۸۷ - ۱۰۴

python_example.py

۱۰۳ - ۱۱۱

ruby_example.rb

۸۸ - ۱۰۱

sso_embed.php

۱۴ - ۲۷

پس از جایگزینی مثال‌ها با داده‌هایی که جمع‌آوری کرده‌اید، اسکریپت را اجرا کنید تا URL جاسازی‌شده امضا شده شما ایجاد شود. URL را برای مرحله بعدی یادداشت کنید.

۷. URL را آزمایش کنید

برای آزمایش URL نهایی خود، آن را در اعتبارسنج جاسازی URI در صفحه جاسازی بخش مدیریت Looker قرار دهید. اگرچه این ویژگی نمی‌تواند تعیین کند که آیا داده‌ها و مجوزهای مورد نظر شما به درستی تنظیم شده‌اند یا خیر، اما می‌تواند تأیید کند که احراز هویت شما به درستی کار می‌کند.

۸. قرار دادن آدرس اینترنتی (URL) در یک iframe

در نهایت، با اضافه کردن URL تولید شده به ویژگی src یک iframe ، نمایش بصری جستجو، جستجو یا داشبورد خود را در برنامه خود جاسازی کنید. آن iframe را در برنامه یا محیط آزمایشی خود قرار دهید.

در صورت تمایل، می‌توانید با استفاده از جاوا اسکریپت و با استفاده از رویدادهای جاوا اسکریپت تعبیه‌شده در Looker با iframe تعامل داشته باشید.

۹. اطلاعات تکمیلی

قابلیت جاسازی امضا شده‌ی Looker باید با دقت پیکربندی شود تا اطمینان حاصل شود که کاربران جاسازی شده به داده‌های مورد نظر شما و مجوزهای آنها محدود می‌شوند. لطفاً موارد زیر را در نظر بگیرید:

  • صفحه مستندات جاسازی امضا شده Looker جزئیات دقیقی در مورد نحوه تولید یک URL جاسازی امضا شده، به همراه تمام گزینه‌های پیکربندی موجود، ارائه می‌دهد.
  • صفحه مستندات بهترین شیوه‌های امنیتی Looker برای تجزیه و تحلیل‌های جاسازی‌شده، راهنمایی‌هایی را برای پیکربندی ایمن جاسازی امضا شده ارائه می‌دهد.
  • جاسازی امضا شده اغلب توسط مشتریان Looker برای ارائه داده‌ها به مشتریان خودشان استفاده می‌شود، در حالی که مستلزم آن است که مشتریان شرکت‌ها یا گروه‌های مختلف از وجود یکدیگر مطلع نباشند. در این سناریو، اکیداً توصیه می‌کنیم Looker را به عنوان یک سیستم بسته پیکربندی کنید، که گاهی اوقات "نصب چند مستأجری" نامیده می‌شود.
  • قابلیت جاسازی امضا شده از طریق API Looker در دسترس است.