Penyematan bertanda 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 bertanda tangan berfungsi dengan membuat URL Looker khusus yang akan Anda gunakan dalam iframe. URL tersebut berisi informasi yang ingin Anda bagikan, ID pengguna di sistem Anda, dan izin yang ingin Anda berikan kepada 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 bertanda tangan di instance Looker, admin Looker harus mengaktifkan penyematan bertanda tangan di panel Admin Looker dan membuat kunci rahasia penyematan. Untuk mengetahui petunjuknya, lihat halaman dokumentasi Memulai penyematan — mengaktifkan penyematan bertanda tangan.
Hosting yang tepat untuk embedding yang ditandatangani
Beberapa browser, misalnya Safari, atau browser dengan ekstensi terinstal 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 sematan 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 untuk mengautentikasi iframe yang disematkan di seluruh domain tidak dapat dilakukan di browser yang memblokir cookie pihak ketiga (kecuali jika pengguna mengubah setelan privasi cookie browser mereka). Misalnya, jika Anda ingin menyematkan informasi di https://mycompany.com, Anda harus memastikan bahwa Looker menggunakan 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. Hal ini akan memungkinkan Looker berbagi domain yang sama dengan aplikasi sematan 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 sematan bertanda tangan menggunakan domain yang sama dengan instance Looker Anda.
Mengontrol visibilitas klien dengan sistem tertutup
Dalam konfigurasi penyematan bertanda tangan, pengguna Looker biasanya menyajikan data kepada pelanggan mereka sendiri, sementara memiliki klien dari berbagai perusahaan atau grup 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 diisolasi untuk mencegah pengguna dari berbagai grup mengetahui satu sama lain. Oleh karena itu, sebaiknya aktifkan opsi Sistem Tertutup sebelum memberikan akses ke instance Anda kepada pengguna eksternal.
Untuk mengetahui informasi selengkapnya, lihat halaman dokumentasi Merancang dan mengonfigurasi sistem tingkat akses dan Praktik terbaik keamanan untuk analisis tersemat.
Membuat URL sematan yang ditandatangani
Ada beberapa cara untuk membuat URL sematan yang ditandatangani. Anda dapat menggunakan salah satu metode berikut:
Anda dapat membuat URL sematan yang ditandatangani menggunakan opsi Get embed URL di menu dasbor tiga titik dasbor, atau di menu roda gigi Explore actions Look atau Explore.
Gunakan endpoint Looker API Create Signed Embed Url, seperti yang dijelaskan nanti dalam dokumen ini.
Gunakan Looker Embed SDK.
Kodingkan URL penyematan yang ditandatangani. Untuk membuat URL yang tepat, Anda harus menulis kode agar dapat mengenkode URL dengan benar menggunakan kunci rahasia dan membuat item terkait keamanan lainnya. Anda dapat menemukan beberapa contoh skrip di repositori GitHub contoh Embed Looker. Bagian berikut menjelaskan informasi yang perlu Anda berikan ke skrip tersebut, serta cara membuat URL sematan bertanda tangan tanpa menggunakan skrip.
Membuat kode URL sematan bertanda tangan secara manual
Untuk membuat kode URL sematan bertanda tangan, pertama-tama kumpulkan informasi Looker yang diperlukan, lalu buat URL sematan bertanda tangan.
Mengumpulkan informasi Looker yang diperlukan
Sebagai titik awal untuk membuat URL, Anda harus menentukan semua informasi yang perlu disertakan terlebih dahulu. Anda akan memerlukan:
URL sematan
Ambil URL Look, Jelajah, visualisasi kueri, atau dasbor yang ingin Anda sematkan. Kemudian, hapus domain dan tempatkan /embed sebelum jalur, seperti berikut:
| Item | Pola URL Normal | URL sematan |
|---|---|---|
| Look | https://instance_name.looker.com/looks/4 |
/embed/looks/4 |
| Jelajahi | 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=1234567890abcdefghij1222 karakter alfanumerik yang mengikuti parameter qid= di URL Jelajahi membentuk Query.client_id. Nilai Query.client_id adalah string unik yang merepresentasikan 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 Eksplorasi 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, menggunakan metode Get Query, misalnya. |
/embed/query-visualization/Query.client_id |
| Dasbor yang ditentukan pengguna | https://instance_name.looker.com/dashboards/1Sertakan nilai filter dasbor apa pun yang menyembunyikan nilai filter, parameter hide_filter di URL dasbor. |
/embed/dashboards/1 |
| Dasbor LookML | https://instance_name.looker.com/dashboards/my_model::my_dashboard |
/embed/dashboards/my_model::my_dashboard |
| Analisis Percakapan | Untuk halaman percakapan: https://instance_name.looker.com/conversationsUntuk halaman agen: https://instance_name.looker.com/agentsUntuk percakapan tertentu: https://instance_name.looker.com/conversations/conversation_idUntuk mengetahui informasi selengkapnya, lihat halaman dokumentasi Menyematkan Conversational Analytics. |
/embed/conversations/embed/agents/embed/conversations/c9f370ac830b4669aeb494396422004c |
Izin
Set izin menentukan tindakan yang dapat dilakukan oleh pengguna atau grup. Izin dapat diterapkan dengan salah satu dari dua cara berikut:
- Spesifik per Model: Jenis izin ini hanya diterapkan pada set model yang merupakan bagian dari peran yang sama.
- Seluruh Instance: Jenis izin ini berlaku untuk instance Looker secara keseluruhan. Pengguna sematan 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 perannya.
Tentukan izin yang ingin Anda berikan kepada pengguna. Daftar berikut menunjukkan semua izin yang tersedia untuk penyematan bertanda tangan. Izin yang tidak ada dalam daftar berikut tidak didukung untuk penyematan bertanda tangan:
| Izin | Bergantung Pada | Jenis | Definisi |
|---|---|---|---|
access_data |
Tidak ada | Spesifik per Model | Mengizinkan pengguna mengakses data (diperlukan untuk melihat Look, dasbor, atau Jelajah) |
see_lookml_dashboards |
access_data |
Khusus Model | Mengizinkan pengguna melihat dasbor LookML. Izin ini diperlukan meskipun pengguna memiliki akses Lihat ke folder dasbor. |
see_looks |
access_data |
Khusus Model | Memungkinkan pengguna melihat Look |
see_user_dashboards |
see_looks |
Spesifik per Model | Memungkinkan pengguna melihat dasbor yang ditentukan pengguna dan menjelajahi folder dari sematan |
explore |
see_looks |
Spesifik per Model | Memungkinkan pengguna melihat halaman Jelajahi |
create_table_calculations |
explore |
Instance Wide | Diperlukan untuk membuat kalkulasi tabel di Explore |
create_custom_fields |
explore |
Instance Wide | Diperlukan untuk membuat kolom kustom dalam Eksplorasi |
can_create_forecast |
explore |
Instance Wide | Memungkinkan pengguna membuat atau mengedit perkiraan dalam visualisasi. |
save_content |
see_looks |
Seluruh Instance | Memungkinkan pengguna membuat dan menyimpan perubahan pada Look dan dasbor |
send_outgoing_webhook |
see_looks |
Spesifik per Model | Memungkinkan pengguna menjadwalkan pengiriman konten Looker ke webhook arbitrer |
send_to_s3 |
see_looks |
Spesifik per Model | Memungkinkan pengguna menjadwalkan pengiriman konten Looker ke bucket Amazon S3 |
send_to_sftp |
see_looks |
Spesifik per Model | Memungkinkan pengguna menjadwalkan pengiriman konten Looker ke server SFTP |
schedule_look_emails |
see_looks |
Spesifik per 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 |
Spesifik per 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 mengirimkan konten Looker ke layanan pihak ketiga yang terintegrasi dengan Looker melalui Looker Action Hub. Izin ini tidak terkait dengan tindakan data. |
schedule_without_limit |
see_looks |
Khusus Model | Ditambahkan di 26.4 Jika digabungkan dengan setidaknya satu izin lain yang memungkinkan pengguna mengirim konten Looker, izin ini memungkinkan pengguna mengirim Look atau Eksplorasi yang mengirim semua baris data. Izin ini membuat opsi Semua Hasil terlihat di Penjadwal Looker untuk Look dan Eksplorasi. |
create_alerts |
see_looks |
Instance Wide | Memungkinkan pengguna membuat pemberitahuan di kotak 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 |
Instance Wide | 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 menjalankan kueri |
clear_cache_refresh |
access_data |
Spesifik per Model | Pengguna dapat menghapus cache dan memuat ulang dasbor tersemat, dasbor lama, kartu dasbor, Look, dan Explore. |
see_drill_overlay |
access_data |
Khusus Model | Memungkinkan pengguna melihat perincian tanpa perlu membuka halaman Eksplorasi lengkap. |
manage_spaces |
Tidak ada | Instance Wide | Mengaktifkan browser konten sehingga pengguna dapat membuat, menyalin, memindahkan, dan menghapus folder. Pengguna juga memerlukan izin akses konten Mengelola Akses, Edit untuk folder, atau, dalam kasus pembuatan folder baru, untuk folder induk. |
embed_browse_spaces |
Tidak ada | Instance Wide |
Mengaktifkan browser konten sehingga pengguna dapat menjelajahi folder dari sematan. Setiap pengguna sematan yang diberi izin embed_browse_spaces akan diberi akses ke folder sematan pribadi dan ke folder Shared 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.
Izin embed_browse_spaces diperlukan untuk pengguna sematan yang ingin menandai dasbor atau Look sebagai favorit, karena menandai konten sebagai favorit memerlukan akses ke folder Favorites.
|
embed_save_shared_space |
Tidak ada | Instance Wide |
Memungkinkan pengguna yang juga memiliki izin save_content membuka folder Shared organisasi, jika ada, dari dalam 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 sematan pribadi mereka.
Izin embed_save_shared_space tidak menggantikan izin akses konten. Misalnya, agar pengguna dapat menyimpan ke folder Bersama, mereka tetap memerlukan akses Kelola Akses, Edit ke folder Bersama. Selain itu, tidak adanya izin embed_save_shared_space tidak mencegah pengguna yang memiliki izin save_content dan akses Manage Access, Edit ke folder Shared untuk menyimpan konten di sana jika mereka memiliki cara alternatif untuk membuka folder Shared, seperti menggunakan opsi Explore from here dari dasbor tersemat.
|
gemini_in_looker |
Tidak ada | Spesifik per Model | Izin ini adalah satu-satunya izin yang disertakan dalam peran default Gemini. Izin ini memberi pengguna kemampuan untuk melakukan tugas yang terkait dengan salah satu fitur Gemini in Looker yang diaktifkan dari halaman Gemini in Looker di panel Admin. Izin tambahan mungkin diperlukan untuk beberapa tugas. |
chat_with_agent |
gemini_in_looker |
Khusus Model | Ditambahkan pada 25.18 Pengguna Analisis Percakapan dapat melakukan chat dengan agen data yang didasarkan pada data dari maksimal lima Eksplorasi Looker atau dengan agen data dasbor. Izin tambahan diperlukan untuk memulai percakapan dengan agen data dasbor. |
chat_with_explore |
chat_with_agent |
Spesifik per Model | Ditambahkan di 25.18 Pengguna Analisis Percakapan dapat melakukan chat dengan Eksplorasi Looker jika mereka juga memiliki izin tambahan yang diperlukan. |
save_agents |
chat_with_explore |
Spesifik per Model | Ditambahkan 25.18 Pengguna Analisis Percakapan dapat membuat, mengedit, menghapus, dan membagikan agen data di dasbor atau Eksplorasi. Untuk mengedit, menghapus, atau membagikan agen data yang dibuat oleh pengguna lain, pengguna harus diberi peran yang berisi izin ini pada setiap model yang digunakan oleh agen serta izin tambahan yang diperlukan dan akses Kelola Akses, Edit ke agen. |
admin_agents |
gemini_in_looker |
Khusus Model | Ditambahkan 25.18 Untuk digunakan dengan Conversational Analytics API dan Conversational Analytics yang disematkan, pengguna dapat membuat, mengedit, membagikan, dan menghapus agen data. Saat membuat agen data, pengguna akan otomatis diberi akses agen data Mengelola Akses, Mengedit. Dengan izin ini, pengguna tidak perlu diberi akses konten ke agen data untuk mengedit, menghapus, atau membagikan agen data yang dibuat oleh pengguna lain. |
Akses model
Tentukan model LookML mana yang harus dapat diakses pengguna. Ini akan berupa 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 akan memerlukan ID grup, bukan nama grup. Menambahkan pengguna sematan bertanda tangan ke grup Looker memungkinkan Anda mengelola akses pengguna tersebut ke folder Looker. Pengguna sematan yang login 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 berada di luar grup Looker reguler. Dalam hal ini, pengguna sematan bertanda tangan dengan external_group_id yang sama akan memiliki akses ke folder bersama, yang bernama "Group", yang unik untuk grup eksternal.
Peran yang disematkan
Parameter permissions dan models membuat peran untuk pengguna sematan. Peran ini muncul sebagai "Embedded Role" di halaman Users di bagian Admin Looker. Jika parameter permissions, models, dan group_ids semuanya ditentukan dalam URL sematan, peran yang disematkan bersifat aditif untuk peran apa pun yang sudah ditetapkan ke daftar grup yang tercantum dalam parameter group_ids. Hal ini sama dengan peran standar, yaitu semua peran di Looker bersifat aditif.
Misalnya, Anda memiliki grup yang sudah 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 sematan
URL sematan yang ditandatangani memiliki format berikut:
https://HOST/login/embed/EMBED URL?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/1atau/embed/dashboards-legacy/1/embed/dashboards/my_model::my_dashboardatau/embed/dashboards-legacy/my_model::my_dashboard
Artinya, pola /embed//embed/ akan muncul di URL final Anda; ini sudah benar.
Jika Anda menggunakan peristiwa JavaScript tersemat, pastikan untuk menambahkan parameter embed_domain (domain tempat iframe digunakan) ke akhir URL sematan, seperti ini:
/embed/looks/4
/embed/looks/4?embed_domain=https://mywebsite.com
Parameter embed_domain ditambahkan ke URL sematan sebelum encoding URL. Jika URL sematan Anda sudah berisi parameter kueri konten (seperti nilai filter), tambahkan parameter embed_domain menggunakan ampersand (&):
/embed/looks/4?filter_name=value
/embed/looks/4?filter_name=value&embed_domain=https://mywebsite.com
Jika Anda menggunakan Embed SDK, pastikan untuk menambahkan parameter embed_domain dan juga menyertakan sdk=2 di 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 bertanda tangan.
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 suka, 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 pengguna harus 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 dalam aplikasi yang menyematkan Looker. Looker menggunakan external_user_id untuk membedakan pengguna sematan bertanda tangan, sehingga setiap pengguna harus memiliki ID unik yang ditetapkan untuk mereka.Anda dapat membuat external_user_id untuk pengguna dengan string apa pun yang Anda inginkan, asalkan string tersebut unik untuk pengguna tersebut. Setiap ID dikaitkan dengan serangkaian 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 seharusnya 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 harus dapat diakses pengguna. | Array string | [ "model_one", "model_two"] |
group_ids |
[] | Daftar grup Looker yang harus diikuti pengguna, jika ada. Gunakan ID grup, bukan nama grup. | Array string | ["4", "3"] |
external_group_id |
"" | ID unik untuk grup tempat pengguna berada dalam aplikasi yang menyematkan Looker.Pengguna yang memiliki izin untuk menyimpan konten, dan yang membagikan ID grup eksternal, dapat menyimpan dan mengedit konten di folder Looker bersama bernama "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.Panjang external_group_id tidak boleh melebihi 81 karakter. Folder yang sesuai akan dibuat untuk grup, dan nama folder memiliki batas 100 karakter. Nama folder diawali dengan "Embed Shared Group ", sehingga external_group_id dibatasi hingga 81 karakter agar tetap berada dalam batas 100 karakter atau kurang. |
String JSON | "Accounting" |
user_attributes |
{} | Daftar atribut pengguna yang harus dimiliki pengguna, jika ada. Berisi daftar nama atribut pengguna yang diikuti dengan nilai atribut pengguna.Jika model LookML dilokalkan, Anda dapat menggunakan atribut pengguna locale di URL sematan untuk menentukan bahasa sematan. Misalnya, menyertakan parameter user_attributes { "locale" : "fr_FR" } akan menyebabkan sematan memuat bahasa Prancis sebagai bahasanya. |
Hash string | { "vendor_id" : "17", "company" : "xactness"} |
access_filters |
Nilai Wajib Diisi | Di Looker 3.10, parameter ini 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 "Sematkan" jika nama depan belum pernah ditetapkan. |
String JSON | "Alice" |
last_name |
"" | Nama belakang pengguna. Jika dibiarkan kosong, last_name akan mempertahankan nilai dari permintaan terakhir, atau "Embed" jika nama belakang belum pernah ditetapkan. |
String JSON | "Jones" |
user_timezone |
"" | Jika Anda telah mengaktifkan Zona Waktu Khusus Pengguna, tetapkan nilai opsi Viewer Time Zone di drop-down Time Zone pada Look atau dasbor yang disematkan. Parameter ini tidak secara langsung mengubah zona waktu tempat konten ditampilkan; pengguna harus memilih zona waktu dari drop-down.Lihat nilai yang valid di halaman dokumentasi Referensi zona waktu penyematan yang ditandatangani.Tips tim Chat: Jika Anda ingin konten sematan ditetapkan secara default ke zona waktu audiens, 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 biasa 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 penyematan yang ditandatangani. | Boolean (benar atau salah) | true |
ca_chat |
true |
Jika Anda telah mengaktifkan Analisis Percakapan dan setelan Agen dasbor, setel apakah panel percakapan agen dasbor terlihat oleh pengguna sematan. Jika true, ikon Gemini |
Boolean (benar atau salah) | true |
Signature
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 tidak berubah. Jika rahasia sematan atau parameter URL berbeda atau telah berubah, tanda tangan tidak akan cocok dan autentikasi akan ditolak.
Hasilnya, tanda tangan di URL sematan memberikan bukti kuat secara kriptografis bahwa URL sematan tidak diubah saat transit dan bahwa URL sematan dibuat oleh pihak tepercaya yang memiliki kunci rahasia sematan.
Untuk membuat tanda tangan, Anda harus mengikuti langkah-langkah berikut.
- Kumpulkan nilai parameter berikut dalam urutan ini:
- Host, 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)
- Visibilitas agen data dasbor Analisis Percakapan
- Host, diikuti dengan
- Format semua nilai selain Host dan URL Sematan sebagai JSON
- Menggabungkan 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 kemungkinan parameter 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={}&
ca_chat=false&
first_name="Alice"&
last_name="Jones"&
user_timezone="US/Pacific"&
force_logout_login=true&
signature=123456789ABCDEFGHIJKL
Seperti yang disebutkan sebelumnya, /embed//embed/ memang seharusnya 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
ca_chat=false&
first_name=%22Alice%22&
last_name=%22Jones%22&
user_timezone=%22US%2FPacific%22&
force_logout_login=true&
signature=123456789ABCDEFGHIJKL
Menggunakan endpoint API Create Signed Embed Url
Looker API menyertakan endpoint Create Signed Embed Url, yang mengambil serangkaian parameter sematan bertanda tangan yang menyertakan URL konten yang ingin Anda sematkan dan menampilkan URL lengkap, 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 yang Diizinkan untuk Domain Sematan.
Anda juga dapat menggunakan API Explorer untuk membuat URL bertanda tangan yang menggunakan endpoint ini. Anda dapat menginstal API Explorer di instance Looker dari Looker Marketplace. Setelah dibuat, URL bertanda tangan harus disalin persis seperti yang ditampilkan dan hanya dapat digunakan satu kali. Jika tidak, URL tersebut akan gagal. API Explorer juga berguna untuk membuat URL bertanda tangan dan membandingkannya dengan URL bertanda tangan yang dibuat secara manual untuk tujuan pemecahan masalah.
Untuk mengetahui informasi selengkapnya tentang Looker API, lihat halaman dokumentasi Mulai menggunakan Looker API.
Menguji URL sematan
Untuk menguji URL final, tempelkan URL tersebut ke Embed URI Validator di halaman Embed di 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 baik.