Penyematan dengan tanda tangan adalah cara untuk menyajikan Look, visualisasi, Jelajah, dasbor, atau dasbor LookML tersemat pribadi kepada pengguna Anda tanpa mengharuskan mereka memiliki login Looker terpisah. Sebagai gantinya, pengguna akan diautentikasi melalui aplikasi Anda sendiri.
Penyematan yang ditandatangani berfungsi dengan membuat URL Looker khusus yang akan Anda gunakan di iframe. URL tersebut berisi informasi yang ingin Anda bagikan, ID pengguna di sistem Anda, dan izin yang Anda inginkan untuk dimiliki pengguna. Kemudian, Anda akan menandatangani URL dengan kunci rahasia yang disediakan oleh Looker.
Untuk penyematan publik, lihat bagian Penyematan publik dengan tag iframe
di halaman dokumentasi Membagikan, mengimpor, dan menyematkan Look secara publik.
Sebelum Anda dapat menggunakan penyematan yang ditandatangani di instance Looker, admin Looker harus mengaktifkan penyematan yang ditandatangani di panel Admin Looker dan membuat kunci secret penyematan. Untuk mengetahui petunjuknya, lihat halaman dokumentasi Memulai penyematan — mengaktifkan penyematan yang ditandatangani.
Hosting yang tepat untuk penyematan yang ditandatangani
Beberapa browser — misalnya, Safari, atau browser dengan ekstensi yang diinstal yang memblokir iklan atau cookie pelacakan — secara default menggunakan kebijakan cookie yang memblokir cookie pihak ketiga. Jika fitur Penyematan Tanpa Cookie diaktifkan, browser yang memblokir cookie pihak ketiga dapat mengautentikasi pengguna di iframe tersemat di berbagai domain. Autentikasi penyematan tanpa cookie memerlukan konfigurasi sisi server. Lihat halaman dokumentasi Penyematan tanpa cookie untuk mengetahui contoh penyiapan.
Jika fitur Penyematan Tanpa Cookie tidak diaktifkan, Looker akan menggunakan cookie untuk autentikasi pengguna. Dalam hal ini, upaya mengautentikasi iframe tersemat di seluruh domain tidak dapat dilakukan di browser yang memblokir cookie pihak ketiga (kecuali jika pengguna mengubah setelan privasi cookie browser mereka). Misalnya, jika ingin menyematkan informasi di https://mycompany.com
, Anda harus memastikan bahwa Looker memiliki domain yang sama, seperti https://analytics.mycompany.com
. Dalam hal ini, jika Looker menghosting instance Anda, hubungi Dukungan Looker untuk menyiapkan konfigurasi DNS yang diperlukan guna mengaktifkan penggunaan domain kustom. Tindakan ini akan memungkinkan Looker berbagi domain yang sama dengan aplikasi penyematan dan menggunakan cookie pihak pertama, yang diterima secara default di semua browser.
Jika Anda memiliki instance Looker yang dihosting pelanggan, pastikan aplikasi yang akan menggunakan penyematan yang ditandatangani menggunakan domain yang sama dengan instance Looker Anda.
Mengontrol visibilitas klien dengan sistem tertutup
Dalam konfigurasi penyematan yang ditandatangani, pengguna Looker biasanya menyajikan data kepada pelanggan mereka sendiri, sementara memiliki klien dari perusahaan atau grup yang berbeda yang tidak boleh saling mengetahui. Dalam skenario ini, untuk melindungi informasi pribadi pelanggan, sebaiknya konfigurasikan Looker sebagai sistem tertutup, yang juga disebut penginstalan multi-tenant. Dalam sistem tertutup, konten disimpan dalam silo untuk mencegah pengguna dari berbagai grup mengetahui satu sama lain. Oleh karena itu, sebaiknya aktifkan opsi Sistem Tertutup sebelum Anda memberikan akses ke instance kepada pengguna eksternal.
Untuk mengetahui informasi selengkapnya, lihat halaman dokumentasi Mendesain dan mengonfigurasi sistem tingkat akses dan Praktik terbaik keamanan untuk analisis tersemat.
Membuat URL penyematan yang ditandatangani
Ada beberapa cara untuk membuat URL penyematan yang ditandatangani. Anda dapat menggunakan salah satu metode berikut:
Anda dapat membuat URL sematan yang ditandatangani menggunakan opsi Dapatkan URL sematan di menu dasbor tiga titik pada dasbor, atau di menu roda gigi Jelajahi tindakan pada Tampilan atau Jelajahi.
Gunakan endpoint Create Signed Embed Url Looker API, seperti yang dijelaskan nanti dalam dokumen ini.
Gunakan Looker Embed SDK.
Kode URL penyematan yang ditandatangani. Untuk membuat URL yang tepat, Anda harus menulis kode agar dapat mengenkode URL dengan kunci rahasia dengan benar dan membuat item terkait keamanan lainnya. Anda dapat menemukan beberapa contoh skrip di Repositori GitHub contoh penyematan Looker. Bagian berikut menjelaskan informasi yang perlu Anda berikan ke skrip tersebut, serta cara mem-build URL sematan yang ditandatangani tanpa menggunakan skrip.
Membuat kode URL penyematan yang ditandatangani secara manual
Untuk membuat kode URL sematan yang ditandatangani, kumpulkan informasi Looker yang diperlukan terlebih dahulu, lalu buat URL sematan yang ditandatangani.
Mengumpulkan informasi Looker yang diperlukan
Sebagai titik awal untuk membuat URL, Anda harus menentukan semua informasi yang perlu disertakan terlebih dahulu. Anda memerlukan:
URL sematan
Ambil URL Tampilan, Jelajahi, visualisasi kueri, atau dasbor yang ingin disematkan. Kemudian, hapus domain dan tempatkan /embed
sebelum jalur, sebagai berikut:
Item | Pola URL Normal | URL sematan |
---|---|---|
Look | https://instance_name.looker.com/looks/4 |
/embed/looks/4 |
Eksplorasi | https://instance_name.looker.com/explore/my_model/my_explore |
/embed/explore/my_model/my_explore |
Visualisasi kueri | https://instance_name.looker.com/explore/my_model/my_explore?qid=1234567890abcdefghij12 22 karakter alfanumerik yang mengikuti parameter qid= di URL Jelajah terdiri dari Query.client_id . Nilai Query.client_id adalah string unik yang mewakili kueri dan setelan visualisasi.Untuk menyematkan visualisasi kueri, ambil nilai Query.client_id visualisasi kueri, lalu salin Query.client_id ke URL sematan Anda.Anda dapat menggunakan UI Jelajahi Looker untuk membuat kueri dengan visualisasi yang didukung dan menyalin nilai Query.client_id dari parameter qid= , atau Anda dapat mengambil Query.client_id dengan Looker API, misalnya menggunakan metode Get Query . |
/embed/query-visualization/Query.client_id |
Dasbor yang ditentukan pengguna | https://instance_name.looker.com/dashboards/1 Sertakan nilai filter dasbor, atau jika menyembunyikan nilai filter, parameter hide_filter di URL dasbor. |
|
Dasbor lama yang ditentukan pengguna | https://instance_name.looker.com/dashboards-legacy/1 |
/embed/dashboards-legacy/1 |
Dasbor LookML | https://instance_name.looker.com/dashboards/my_model::my_dashboard |
/embed/dashboards/my_model::my_dashboard |
Dasbor LookML lama | https://instance_name.looker.com/dashboards-legacy/my_model::my_dashboard |
/embed/dashboards-legacy/my_model::my_dashboard |
Konten tersemat selalu mencerminkan versi produksi konten. Setiap perubahan yang dilakukan saat dalam Mode Pengembangan yang memengaruhi konten dan belum di-deploy ke produksi tidak akan muncul dalam penyematan.
Izin
Kumpulan izin menentukan tindakan yang dapat dilakukan pengguna atau grup. Izin dapat diterapkan dengan salah satu dari dua cara:
- Khusus Model: Jenis izin ini hanya diterapkan ke set model yang merupakan bagian dari peran yang sama.
- Seluruh Instance: Jenis izin ini berlaku untuk instance Looker secara keseluruhan. Pengguna tersemat dengan izin seluruh instance dapat menjalankan fungsi tertentu di seluruh instance Looker, tetapi tidak dapat mengakses konten berdasarkan model yang tidak disertakan dalam set model peran mereka.
Tentukan izin yang ingin Anda berikan kepada pengguna. Daftar berikut menunjukkan semua izin yang tersedia untuk penyematan yang ditandatangani. Izin yang tidak ada dalam daftar berikut tidak didukung untuk penyematan yang ditandatangani:
Izin | Bergantung Pada | Jenis | Definisi |
---|---|---|---|
access_data |
Tidak ada | Khusus Model | Mengizinkan pengguna mengakses data (diperlukan untuk melihat Tampilan, dasbor, atau Jelajah) |
see_lookml_dashboards |
access_data |
Khusus Model | Mengizinkan pengguna melihat dasbor LookML |
see_looks |
access_data |
Khusus Model | Memungkinkan pengguna melihat Tampilan |
see_user_dashboards |
see_looks |
Khusus Model | Memungkinkan pengguna melihat dasbor yang ditentukan pengguna dan menjelajahi folder dari penyematan |
explore |
see_looks |
Khusus Model | Memungkinkan pengguna melihat halaman Jelajahi |
create_table_calculations |
explore |
Seluruh Instance | Diperlukan untuk membuat kalkulasi tabel di Eksplorasi |
create_custom_fields |
explore |
Seluruh Instance | DITAMBAHKAN 22.4 Diperlukan untuk membuat kolom kustom di Jelajahi |
can_create_forecast |
explore |
Seluruh Instance | DITAMBAHKAN 22.12 Memungkinkan pengguna membuat atau mengedit prakiraan dalam visualisasi. |
save_content |
see_looks |
Seluruh Instance | Memungkinkan pengguna membuat dan menyimpan perubahan pada Tampilan dan dasbor |
send_outgoing_webhook |
see_looks |
Khusus Model | Memungkinkan pengguna menjadwalkan pengiriman konten Looker ke webhook arbitrer |
send_to_s3 |
see_looks |
Khusus Model | Memungkinkan pengguna menjadwalkan pengiriman konten Looker ke bucket Amazon S3 |
send_to_sftp |
see_looks |
Khusus Model | Memungkinkan pengguna menjadwalkan pengiriman konten Looker ke server SFTP |
schedule_look_emails |
see_looks |
Khusus Model | Memungkinkan pengguna menjadwalkan pengiriman konten Looker ke email mereka sendiri (jika ditetapkan dengan atribut pengguna bernama "email") atau ke alamat email yang berada dalam batasan yang ditetapkan oleh daftar yang diizinkan untuk domain email. Memungkinkan pengguna dengan izin create_alerts mengirim notifikasi pemberitahuan ke alamat email yang berada dalam batasan yang ditetapkan oleh daftar yang diizinkan untuk domain email. |
schedule_external_look_emails |
schedule_look_emails |
Khusus Model | Memungkinkan pengguna menjadwalkan pengiriman konten Looker ke domain email mana pun. Memungkinkan pengguna dengan izin create_alerts mengirim notifikasi pemberitahuan ke domain email mana pun. |
send_to_integration |
see_looks |
Khusus Model | Memungkinkan pengguna mengirim konten Looker ke layanan pihak ketiga yang terintegrasi dengan Looker melalui Looker Action Hub. Izin ini tidak terkait dengan tindakan data. |
create_alerts |
see_looks |
Seluruh Instance | Memungkinkan pengguna membuat notifikasi di kartu dasbor untuk menerima notifikasi saat kondisi yang ditentukan terpenuhi atau terlampaui. Pengguna dapat mengedit, menduplikasi, dan menghapus pemberitahuan mereka sendiri serta pemberitahuan Publik pengguna lain. Jika ruang kerja Slack pengguna tidak terhubung ke instance Looker, pengguna tidak akan dapat membuat pemberitahuan yang mengirim notifikasi ke Slack. |
download_with_limit |
see_looks |
Seluruh Instance | Memungkinkan pengguna mendownload hasil kueri dengan batas yang diterapkan |
download_without_limit |
see_looks |
Seluruh Instance | Memungkinkan pengguna mendownload hasil kueri tanpa batas yang diterapkan |
see_sql |
see_looks |
Khusus Model | Memungkinkan pengguna melihat SQL untuk kueri dan error SQL apa pun yang dihasilkan dari kueri yang berjalan |
clear_cache_refresh |
access_data |
Khusus Model | DITAMBAHKAN 21.14 Pengguna dapat menghapus cache dan memuat ulang dasbor tersemat, dasbor lama, kartu dasbor, Tampilan, dan Jelajah. |
see_drill_overlay |
access_data |
Khusus Model | Memungkinkan pengguna melihat perincian tanpa perlu membuka halaman Jelajahi lengkap. |
embed_browse_spaces |
Tidak ada | Seluruh Instance | Mengaktifkan browser konten sehingga pengguna dapat menjelajahi folder dari penyematan. Setiap pengguna penyematan yang diberi izin embed_browse_spaces akan diberi akses ke folder penyematan pribadi dan ke folder Bersama organisasi Anda, jika ada. Izin embed_browse_spaces direkomendasikan untuk pengguna yang memiliki izin save_content , sehingga pengguna dapat menjelajahi folder saat memilih tempat untuk menyimpan konten. Untuk melihat konten dalam folder, pengguna juga memerlukan izin see_looks , see_user_dashboards , dan see_lookml_dashboards . |
embed_save_shared_space |
Tidak ada | Seluruh Instance |
DITAMBAHKAN 21.4
Memungkinkan pengguna yang juga memiliki izin save_content membuka folder Shared organisasi, jika ada, dari dalam kotak dialog Save. Pengguna yang memiliki izin save_content , tetapi tidak memiliki izin embed_save_shared_space , hanya akan memiliki opsi untuk menyimpan konten ke folder penyematan pribadi mereka.Izin embed_save_shared_space tidak menggantikan izin akses konten. Misalnya, agar pengguna dapat menyimpan ke folder Bersama, mereka masih memerlukan akses Kelola Akses, Edit ke folder Bersama. Selain itu, kurangnya izin embed_save_shared_space tidak mencegah pengguna yang memiliki izin save_content dan akses Kelola Akses, Edit ke folder Bersama untuk menyimpan konten di sana jika mereka memiliki cara alternatif untuk membuka folder Bersama, seperti dengan menggunakan opsi Jelajahi dari sini dari dasbor tersemat. |
Akses model
Tentukan model LookML yang harus diakses pengguna. Ini hanyalah daftar nama model.
Atribut pengguna
Tentukan atribut pengguna yang harus dimiliki pengguna, jika ada. Anda memerlukan nama atribut pengguna dari Looker, serta nilai yang harus dimiliki pengguna untuk atribut tersebut.
Grup
Tentukan grup yang harus diikuti pengguna, jika ada. Anda memerlukan ID grup, bukan nama grup. Dengan menambahkan pengguna sematan yang ditandatangani ke grup Looker, Anda dapat mengelola akses pengguna tersebut ke folder Looker. Pengguna sematan yang ditandatangani akan memiliki akses ke folder apa pun yang dibagikan kepada anggota grup Looker mereka.
Anda juga dapat menggunakan parameter external_group_id
untuk membuat grup yang bersifat eksternal terhadap grup Looker reguler. Dalam hal ini, pengguna sematan yang ditandatangani dengan external_group_id
yang sama akan memiliki akses ke folder bersama, bernama "Grup", yang unik untuk grup eksternal.
Peran tersemat
Parameter permissions
dan models
membuat peran untuk pengguna penyematan. Peran ini muncul sebagai "Peran Tersemat" di halaman Pengguna di bagian Admin Looker. Jika parameter permissions
, models
, dan group_ids
semuanya ditentukan di URL penyematan, peran tersemat akan tambahan untuk peran apa pun yang telah ditetapkan ke grup yang tercantum dalam parameter group_ids
. Hal ini sama dengan peran standar karena semua peran di Looker bersifat tambahan.
Misalnya, Anda memiliki grup yang ada di Looker dengan ID grup 1
, dan grup tersebut sudah memiliki izin explore
untuk model bernama model_one
, dan Anda membuat URL sematan dengan parameter berikut:
group_ids
=["1"]
permissions
=["access_data","see_looks"]
models
=["model_two"]
Dalam hal ini, pengguna sematan akan mewarisi kemampuan untuk melihat dan menjelajahi data di model_one
, dan peran sematan yang dibuat dengan parameter sebelumnya juga akan memberikan kemampuan untuk melihat data di model_two
.
Membuat URL penyematan
URL penyematan yang ditandatangani memiliki format berikut:
https://HOST/login/embed/URL EMBED?PARAMETERS&signature=SIGNATURE
Host
Host adalah lokasi tempat instance Looker Anda dihosting. Misalnya, analytics.mycompany.com
. Pastikan untuk menyertakan nomor port jika Anda belum mengaktifkan penerusan port, seperti analytics.mycompany.com:9999
.
URL sematan
URL sematan telah ditentukan sebelumnya. Formatnya akan seperti:
/embed/looks/4
/embed/explore/my_model/my_explore
/embed/query-visualization/Query.client_id
/embed/dashboards/1
atau/embed/dashboards-legacy/1
/embed/dashboards/my_model::my_dashboard
atau/embed/dashboards-legacy/my_model::my_dashboard
Hal ini berarti bahwa pola /embed//embed/
akan muncul di URL final Anda; ini benar.
Jika Anda menggunakan peristiwa JavaScript tersemat, pastikan untuk menambahkan embed_domain
(domain tempat iframe digunakan) ke akhir URL sematan, seperti ini:
/embed/looks/4
/embed/looks/4?embed_domain=https://mywebsite.com
embed_domain
ditambahkan setelah URL penyematan, dan sebelum parameter apa pun. Jadi, jika Anda sudah memiliki parameter, seperti nonce=626
, penambahan embed_domain
akan terlihat seperti:
/embed/looks/4?nonce=626
/embed/looks/4?embed_domain=https://mywebsite.com?nonce=626
Jika Anda menggunakan Embed SDK, pastikan untuk menambahkan embed_domain
dan juga menyertakan sdk=2
ke akhir URL sematan, seperti ini:
/embed/looks/4
/embed/looks/4?embed_domain=https://mywebsite.com&sdk=2
Parameter sdk=2
memungkinkan Looker mengidentifikasi bahwa SDK ada dan dapat memanfaatkan fitur tambahan yang disediakan oleh SDK. SDK tidak dapat menambahkan parameter ini sendiri karena merupakan bagian dari URL yang ditandatangani.
Parameter
Parameter URL berikut digunakan untuk menentukan informasi yang diperlukan untuk penyematan yang ditandatangani:
Parameter | Nilai Default | Deskripsi | Jenis Data | Contoh |
---|---|---|---|---|
nonce |
Nilai Wajib Diisi | String acak apa pun yang Anda sukai, tetapi tidak boleh diulang dalam waktu satu jam dan harus kurang dari 255 karakter.Hal ini mencegah penyerang mengirim ulang URL pengguna yang sah untuk mengumpulkan informasi yang tidak seharusnya mereka miliki. | String JSON | "22b1ee700ef3dc2f500fb7" |
time |
Nilai Wajib Diisi | Waktu saat ini sebagai stempel waktu UNIX. | Bilangan bulat | 1407876784 |
session_length |
Nilai Wajib Diisi | Jumlah detik yang harus dihabiskan pengguna untuk tetap login ke Looker, antara 0 dan 2.592.000 detik (30 hari). | Bilangan bulat | 86400 |
external_user_id |
Nilai Wajib Diisi | ID untuk setiap pengguna di aplikasi yang menyematkan Looker. Looker menggunakan external_user_id untuk membedakan pengguna sematan yang login, sehingga setiap pengguna harus memiliki ID unik yang ditetapkan.Anda dapat membuat external_user_id untuk pengguna dengan string apa pun yang Anda sukai, asalkan string tersebut unik untuk pengguna tersebut. Setiap ID dikaitkan dengan kumpulan izin, atribut pengguna, dan model. Satu browser hanya dapat mendukung satu external_user_id , atau sesi pengguna, dalam satu waktu. Tidak ada perubahan yang dapat dilakukan pada izin pengguna atau atribut pengguna di tengah sesi.Untuk tujuan keamanan, pastikan Anda tidak menggunakan external_user_id yang sama di berbagai sesi penyematan untuk pengguna interaktif yang berbeda, dan pastikan Anda tidak menggunakan external_user_id yang sama untuk satu pengguna yang memiliki izin, nilai atribut pengguna, atau akses model yang berbeda.Menggunakan external_user_id yang sama untuk beberapa pengguna atau untuk pengguna yang sama dengan beberapa izin, atribut pengguna, atau set model, dapat menyebabkan data terlihat oleh pengguna yang tidak memiliki akses ke data tersebut. |
String JSON | "user-4" |
permissions |
Nilai Wajib Diisi | Daftar izin yang harus dimiliki pengguna.Lihat bagian Izin di halaman ini untuk mengetahui daftar izin yang diizinkan. | Array string | [ "access_data", "see_looks" ] |
models |
Nilai Wajib Diisi | Daftar nama model yang dapat diakses pengguna. | Array string | [ "model_one", "model_two" ] |
group_ids |
[] | Daftar grup Looker yang harus menjadi anggota pengguna, jika ada. Gunakan ID grup, bukan nama grup. | Array string | ["4", "3"] |
external_group_id |
"" | ID unik untuk grup tempat pengguna berada di aplikasi yang menyematkan Looker, jika diinginkan.Pengguna yang memiliki izin untuk menyimpan konten, dan membagikan ID grup eksternal, akan dapat menyimpan dan mengedit konten di folder Looker bersama yang disebut "Grup". Parameter external_group_id adalah satu-satunya metode yang tersedia untuk membuat grup eksternal pengguna sematan. Tidak ada cara untuk mengonfigurasi grup pengguna sematan eksternal dari dalam UI Looker. |
String JSON | "Accounting" |
user_attributes |
{} | Daftar atribut pengguna yang harus dimiliki pengguna, jika ada. Berisi daftar nama atribut pengguna, diikuti dengan nilai atribut pengguna.Jika model LookML dilokalkan, Anda dapat menggunakan atribut pengguna locale di URL penyematan untuk menentukan bahasa penyematan. Misalnya, menyertakan parameter user_attributes { "locale" : "fr_FR" } akan menyebabkan penyematan memuat bahasa Prancis sebagai bahasanya. |
Hash string | { "vendor_id" : "17", "company" : "xactness" } |
access_filters |
Nilai Wajib Diisi | Di Looker 3.10, parameter ini telah dihapus, tetapi masih diperlukan di URL. Gunakan access_filters dengan placeholder kosong, misalnya access_filters={} . |
Placeholder Kosong | {} |
first_name |
"" | Nama depan pengguna. Jika dibiarkan kosong, first_name akan mempertahankan nilai dari permintaan terakhir, atau menjadi "Sisipkan" jika belum ada nama depan yang ditetapkan. |
String JSON | "Alice" |
last_name |
"" | Nama belakang pengguna. Jika dibiarkan kosong, last_name akan mempertahankan nilai dari permintaan terakhir, atau menjadi "Sisipkan" jika belum ada nama belakang yang ditetapkan. |
String JSON | "Jones" |
user_timezone |
"" | Jika Anda telah mengaktifkan Zona Waktu Khusus Pengguna, menetapkan nilai opsi Zona Waktu Pelihat di drop-down Zona Waktu pada Tampilan atau dasbor tersemat. Parameter ini tidak langsung mengubah zona waktu tempat konten ditampilkan; pengguna harus memilih zona waktu dari menu drop-down.Lihat nilai yang valid di halaman dokumentasi Referensi zona waktu penyematan yang ditandatangani.Tips tim Chat: Jika Anda ingin konten tersemat ditetapkan secara default ke zona waktu penonton, gunakan salah satu metode berikut:?query_timezone=user_timezone ke URL sematan. Contoh:/embed/dashboards/1?query_timezone=user_timezone |
String JSON atau null | "US/Pacific" - atau -null |
force_logout_login |
Nilai Wajib Diisi | Jika pengguna Looker normal sudah login ke Looker, dan mereka melihat item tersemat yang ditandatangani, Anda dapat memilih apakah:1) mereka harus melihat item dengan kredensial saat iniatau2) mereka harus logout dan login kembali dengan kredensial sematan yang ditandatangani. | Boolean (benar atau salah) | true |
Tanda Tangan
Looker menggunakan tanda tangan untuk memverifikasi bahwa secret sematan yang benar digunakan untuk membuat tanda tangan di URL sematan dan bahwa parameter di URL sematan belum berubah. Jika parameter URL atau secret penyematan berbeda atau telah berubah, tanda tangan tidak akan cocok dan autentikasi akan ditolak.
Akibatnya, tanda tangan di URL penyematan memberikan bukti yang kuat secara kriptografis bahwa URL penyematan tidak diubah dalam pengiriman dan bahwa URL penyematan dibuat oleh pihak tepercaya yang memiliki kunci rahasia penyematan.
Untuk membuat tanda tangan, Anda harus mengikuti langkah-langkah berikut.
- Kumpulkan nilai parameter berikut dalam urutan ini:
- Penyelenggara, diikuti dengan
login/embed/
(misalnya,analytics.mycompany.com/login/embed/
) - URL sematan
- Nonce
- Waktu Saat Ini
- Durasi Sesi
- ID Pengguna Eksternal
- Izin
- Model
- ID Grup
- ID Grup Eksternal
- Atribut Pengguna
- Filter Akses (memerlukan placeholder kosong)
- Penyelenggara, diikuti dengan
- Memformat semua nilai selain URL Host dan URL Embed sebagai JSON
- Gabungkan nilai dengan jeda baris (
\n
) - HMAC-SHA1 menandatangani string yang digabungkan dengan kunci rahasia penyematan Looker Anda
Encoding
Langkah terakhir adalah mengenkode URL Anda ke URL.
Sebelum Anda mengenkode URL, URL sematan yang diformat dengan benar dan menggunakan semua parameter yang mungkin terlihat seperti ini:
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={}&
first_name="Alice"&
last_name="Jones"&
user_timezone="US/Pacific"&
force_logout_login=true&
signature=123456789ABCDEFGHIJKL
Seperti yang disebutkan sebelumnya, /embed//embed/
akan muncul di URL Anda.
Setelah Anda mengenkode URL, URL akan terlihat seperti ini:
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
first_name=%22Alice%22&
last_name=%22Jones%22&
user_timezone=%22US%2FPacific%22&
force_logout_login=true&
signature=123456789ABCDEFGHIJKL
Menggunakan endpoint Create Signed Embed Url API
Looker API menyertakan endpoint Create Signed Embed Url, yang menggunakan serangkaian parameter penyematan yang ditandatangani yang menyertakan URL konten yang ingin Anda sematkan dan menampilkan URL lengkap yang dienkode dan ditandatangani secara kriptografis.
Untuk menggunakan endpoint API ini dari server web, server web harus dapat melakukan autentikasi ke Looker API dengan hak istimewa admin. Domain server web juga harus tercantum dalam Daftar Domain yang Diizinkan untuk Menyematkan.
Anda juga dapat menggunakan API Explorer untuk membuat URL yang ditandatangani yang menggunakan endpoint ini. Anda dapat menginstal API Explorer di instance Looker dari Looker Marketplace. Setelah dibuat, URL yang ditandatangani harus disalin persis dan hanya dapat digunakan sekali. Jika tidak, URL akan gagal. API Explorer juga berguna untuk membuat URL yang ditandatangani dan membandingkannya dengan URL yang ditandatangani yang dibuat secara manual untuk tujuan pemecahan masalah.
Untuk informasi selengkapnya tentang Looker API, lihat halaman dokumentasi Memulai Looker API.
Menguji URL penyematan
Untuk menguji URL final, tempelkan ke Validator URI Embed di halaman Embed pada bagian Admin Looker. Meskipun opsi ini tidak dapat memberi tahu Anda apakah data dan izin yang Anda bayangkan telah disiapkan dengan benar, opsi ini dapat memvalidasi bahwa autentikasi Anda berfungsi dengan benar.