Looker sangat bermanfaat dalam membuat data dapat diakses oleh semua pengguna atau pelanggan Anda. Seperti yang ingin kami sampaikan, Looker membantu "mendemokrasikan data". Anda dapat memberdayakan pengguna untuk melihat laporan sendiri tanpa harus meminta analis membuat dasbor secara manual; dengan Looker, pengguna Anda bahkan dapat melakukan analisis mereka sendiri. Salah satu cara untuk melakukannya adalah dengan menggunakan fitur sematan yang ditandatangani milik Looker. Halaman ini membahas dua metode berbeda untuk mengimplementasikan penyematan yang ditandatangani, Looker API dan Software Development Kit (SDK) sematan Looker.
Misalnya, Anda ingin mengintegrasikan laporan ke dalam aplikasi atau sistem internal perusahaan Anda sendiri dan tidak ingin memberikan kredensial Looker kepada semua pengguna. Hal ini dapat dilakukan dengan fitur penyematan yang ditandatangani Looker. Hal ini berbeda dengan referensi umum pada alur kerja SSO seperti LDAP atau SAML, yang juga dapat diintegrasikan ke instance Looker Anda.
Penyematan yang ditandatangani dengan sematan yang ditandatangani menandakan bahwa, setelah URL sematan dibuat dan permintaan dikirim dari browser, sesi Looker pengguna telah dimulai dan ia akan login. URL ini ditandatangani dan hanya dapat digunakan satu kali. URL ini membuat iframe yang memungkinkan developer menyematkan konten seperti Eksplorasi, Tampilan, dan dasbor ke situs atau aplikasi perusahaan Anda. Saat URL digunakan, jika pengguna tidak memiliki akun yang ada, akun akan dibuat untuk mereka berdasarkan parameter yang diteruskan ke URL.
Developer dapat memanfaatkan Looker API atau Looker API SDK untuk membuat iframe ini secara dinamis. Anda dapat menerapkan tema dan menyesuaikan kontennya agar sesuai dengan kebutuhan perusahaan Anda atau grup pengguna tertentu. Untuk mengetahui lebih lanjut potensi menyematkan Looker ke konten Anda, berikut adalah demo lengkap yang berisi penjelasan tentang bagaimana konsep ini dapat diterapkan.
Jadi bagaimana cara memulainya?
Sekarang, misalkan Anda telah menonton demo dan ingin mencoba menambahkan iframe ini ke aplikasi Anda. Dari mana harus memulai, dan metode apa yang tepat untuk kasus penggunaan Anda?
Looker menawarkan beberapa opsi utama untuk membuat konten ini, yang dapat ditempatkan di dalam aplikasi atau situs Anda:
- Contoh repositori skrip Looker yang ditulis dalam berbagai bahasa pemrograman (C#, Python, Node.js, Python, Ruby, PHP)
- Endpoint
Create Signed Embed Url
yang disertakan dalam REST API kami, yang dapat diakses melalui permintaan HTTP atau salah satu SDK kami - Embed SDK Looker
Secara umum, kami merekomendasikan endpoint Embed SDK dan REST API kepada pelanggan, bukan contoh skrip, karena SDK dan REST API sering diperbarui oleh developer kami, dan keduanya membuat URL yang lebih pendek dibandingkan dengan skrip. (URL yang lebih pendek sedikit lebih mudah dikelola.) Ada juga beberapa fitur keamanan berguna yang ditawarkan oleh Embed SDK dan endpoint REST API, yang akan dibahas nanti dalam halaman ini.
Misalkan kita ingin pengguna aplikasi dapat melihat dasbor dari Looker di halaman data di aplikasi pelanggan. Alur kerja penyematan umum mungkin terlihat seperti ini:
- Pengguna login ke aplikasi. Mereka mungkin menggunakan layanan SAML atau hanya email dan sandi untuk login ke aplikasi.
- Aplikasi akan mengonfirmasi bahwa kredensial benar, dan pengguna dapat mengakses konten dengan sukses.
- Berdasarkan respons dari alur kerja login, informasi pengguna diteruskan ke fungsi yang dapat menggunakan salah satu contoh skrip kami untuk membuat URL sematan yang ditandatangani. Skrip ini memerlukan izin pengguna, ID grup, rahasia sematan, URL host, atribut pengguna seperti nama depan dan belakang, filter akses, durasi sesi, dan URL yang kita inginkan agar dapat diakses oleh pengguna. Semua informasi ini dikirim ke Looker, dan URL yang ditandatangani akan dibuat.
- Pengguna menavigasi ke halaman data dalam aplikasi, tempat URL bertanda tangan ini ditempatkan dalam iframe; selanjutnya, browser menayangkan permintaan pada URL iframe. Dasbor menyebar dengan pengalaman yang dipersonalisasi, dan pengguna dapat mengakses data dari Looker dalam aplikasi.
Endpoint Create Signed Embed Url
Dengan menggunakan REST API Looker atau salah satu SDK, developer dapat membuat URL yang dienkode dan ditandatangani berdasarkan kumpulan parameter. Ini adalah permintaan POST. Server tempat permintaan API berasal harus dapat melakukan autentikasi ke Looker dengan izin admin. Salah satu manfaat utama penggunaan endpoint ini adalah rahasia penyematan tidak diperlukan untuk menggunakannya; endpoint sudah dikonfigurasi untuk mengambil rahasia sematan saat ini. Panggilan ke endpoint ini juga tidak diperhitungkan terhadap pembatasan kapasitas API. Secara umum, kredensial API lebih mudah dirotasi dibandingkan dengan rahasia sematan. Beberapa kredensial API 3 dapat aktif secara bersamaan, tetapi hanya satu rahasia sematan yang dapat digunakan sekaligus pada satu instance. Hal ini memudahkan Anda untuk menukar kredensial tanpa gangguan layanan. Endpoint Create Signed Embed Url
juga membuat URL yang lebih pendek dan lebih ringkas dibandingkan dengan skrip contoh dalam repositori contoh skrip URL sematan yang ditandatangani.
Berikut adalah contoh alur kerja yang menggunakan endpoint Create Signed Embed Url
:
- Pengguna mencoba masuk ke aplikasi Anda, paling sering dengan kombinasi nama pengguna dan sandi atau mungkin melalui Penyedia Identitas (IdP).
- Jika pengguna berhasil login ke aplikasi, endpoint
Create Signed Embed Url
akan dijalankan. Fungsi yang dibuat oleh tim developer Anda akan meneruskan kredensial spesifik pengguna tersebut ke endpoint ini, dan URL yang ditandatangani akan ditampilkan dari Looker ke server Anda. - Pengguna mungkin memiliki opsi untuk mengklik tab data dalam aplikasi. Saat mereka membuka tab data, halaman ini akan meminta URL yang telah ditandatangani dari server Anda dan menempatkannya dalam iframe pada halaman.
- Pengguna melihat dasbor dari Looker yang di-iframe-kan dengan lancar ke aplikasi Anda dengan data live.
SDK Tersemat
Embed SDK Looker adalah kumpulan fungsi JavaScript yang dikemas untuk mempermudah penyematan konten Looker bagi developer. Embed SDK memungkinkan Anda menambahkan konten Looker ke halaman di aplikasi atau situs Anda tanpa harus membuat elemen HTML tertentu. SDK ini memungkinkan developer membuat komunikasi point-to-point yang aman antara halaman HTML dan konten Looker Anda. Embed SDK kini mengenkapsulasi iframe, yang berarti pelanggan tidak perlu membuat atau mengelola iframe. Embed SDK hanya untuk aplikasi browser, tetapi menyertakan fungsi utilitas bantuan untuk membuat URL yang ditandatangani. Keduanya tersedia di TypeScript dan Python. Meskipun Embed SDK ditampilkan di registry nmpjs, Anda tidak perlu menggunakan server web Node.js.
Salah satu fitur unik Embed SDK adalah SDK ini juga memungkinkan Anda memanfaatkan komponen Looker, kumpulan blok kode yang dapat digunakan kembali dan dibuat untuk membantu mengimplementasikan sistem desain Looker.
Manfaat lain dari Embed SDK adalah jumlah fungsi bawaan yang menghilangkan banyak pekerjaan dari tim pengembangan Anda. Salah satu contoh utamanya adalah membatalkan klik. Embed SDK menggunakan MessageChannel
API, bukan postMessage
. Ini berarti dua skrip yang berjalan di halaman yang sama dapat berkomunikasi satu sama lain menggunakan postMessage
API. Hal ini memungkinkan fungsi lain berkomunikasi dengan iframe atau membuat fungsi lain berkomunikasi dengan iframe.
Contoh alur kerja untuk Embed SDK dapat terlihat seperti ini:
- Pengguna mencoba login ke aplikasi Anda.
- Jika berhasil login, informasi pengguna akan dikirim ke utilitas bantuan
Node.js
di server yang menjalankan aplikasi tersebut. Tindakan ini meneruskan informasi yang diperlukan ke instance Looker, dan URL yang ditandatangani akan ditampilkan. - Pengguna membuka halaman data di aplikasi tempat Embed SDK digunakan untuk menempatkan iframe. Karena Embed SDK ditulis dalam JavaScript, kita dapat menggunakan
LookerEmbedSDK.createDashboardWithId
dan menargetkan elemen DOM tertentu (biasanya span atau div) di halaman untuk menambahkan iframe (URL bertanda tangan). - Halaman dimuat, dan URL bertanda tangan akan memuat dasbor dari instance Looker.
Jadi...metode mana yang terbaik?
Manakah dari metode berikut yang digunakan tim pengembangan yang akan bergantung pada kasus penggunaan khusus Anda:
Seperti yang ditunjukkan dalam diagram sebelumnya, metode endpoint Create Signed Embed Url
dan metode Embed SDK yang dijelaskan sebelumnya memungkinkan tim pengembangan Anda berfokus pada produk, bukan cara Looker terintegrasi dengan aplikasi. Kedua metode tersebut juga memungkinkan pengalaman data yang lengkap di aplikasi native Anda.
Metode endpoint Create Signed Embed Url
berbeda dari metode Embed SDK dalam hal berikut:
- Tidak memerlukan rahasia penyematan.
- Prosesnya mirip dengan menggunakan REST API lainnya.
- Endpoint harus disebut sisi server.
Metode Embed SDK memiliki fitur berikut:
- Elemen ini berbasis JavaScript dan dapat menargetkan elemen DOM tertentu.
- Library ini berinteraksi dengan komponen Looker untuk membantu menata gaya UI.
- Alat ini terintegrasi dengan fungsi utilitas bantuan, dan pengembangan dapat dilakukan di sisi klien.
Jika ada pertanyaan spesifik tentang persyaratan pengembangan atau arsitektur, Anda dapat menghubungi tim Layanan Profesional Looker atau salah satu partner pengembangan kami.
Selain itu, tim dukungan kami dapat membantu Anda mengatasi masalah tingkat tinggi atau perilaku yang tidak terduga. Anda dapat membuka permintaan dukungan di Pusat Bantuan Looker dengan mengklik Hubungi Kami.
Lihat Postingan komunitas Alat sematan yang ditandatangani dan referensi pemecahan masalah untuk referensi tambahan.