Halaman ini membahas cara menghubungkan Looker ke PrestoDB atau Trino.
Mengenkripsi traffic jaringan
Praktik terbaiknya adalah mengenkripsi traffic jaringan antara aplikasi Looker dan database Anda. Pertimbangkan salah satu opsi yang dijelaskan di halaman dokumentasi Mengaktifkan akses database yang aman.
Membuat koneksi Looker ke database Anda
Di bagian Admin di Looker, pilih Koneksi, lalu klik Tambahkan Koneksi.
Isi detail koneksi. Sebagian besar setelan bersifat umum untuk sebagian besar dialek database. Lihat halaman dokumentasi Menghubungkan Looker ke database Anda untuk mengetahui informasinya. Beberapa setelan akan dijelaskan di bawah ini:
Dialek: Pilih PrestoDB atau Trino.
PrestoSQL telah berganti nama menjadi Trino. Jika Anda menggunakan versi Trino yang lebih lama dari 352, pilih PrestoSQL dari menu dialek Looker.
Host: Nama host database.
Port: Port database. Port default-nya adalah 8080.
Database: "Katalog" atau "konektor", dalam istilah Presto.
Nama pengguna: Nama pengguna pengguna yang akan menjalankan kueri.
Informasi ini hanya dikirim ke server database jika SSL diaktifkan.
Sandi: Sandi untuk pengguna yang akan menjalankan kueri.
Informasi ini hanya dikirim ke server database jika SSL diaktifkan.
Skema: Skema default yang akan digunakan jika tidak ada skema yang ditentukan.
Autentikasi: Pilih Database Account atau OAuth:
- Gunakan Database Account untuk menentukan Username dan Password akun pengguna database yang akan digunakan untuk terhubung ke Looker.
- Gunakan OAuth jika Anda ingin mengonfigurasi OAuth untuk koneksi.
Aktifkan PDT: Gunakan tombol ini untuk mengaktifkan tabel turunan persisten (PDT). Tindakan ini akan menampilkan kolom PDT tambahan dan bagian PDT Overrides untuk koneksi.
Database Temp: Skema untuk menulis PDT. (Versi 3.50 menambahkan dukungan PDT ke Presto. Lihat bagian Mengonfigurasi PrestoDB atau Trino untuk PDT di halaman ini untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi Presto untuk dukungan PDT.)
Parameter JDBC tambahan: Parameter tambahan apa pun dari driver JDBC PrestoDB, driver JDBC Trino, atau driver JDBC Starburst.
SSL: Centang untuk mengaktifkan koneksi SSL.
Verify SSL: Abaikan kolom ini. Semua koneksi SSL akan menggunakan Java Truststore default, kecuali jika diarahkan untuk melakukan hal lain dengan parameter JDBC PrestoDB, driver JDBC Trino, atau driver JDBC Starburst. Masukkan parameter ini di kolom Additional JDBC parameters.
Untuk memverifikasi bahwa koneksi berhasil, klik Uji. Lihat halaman dokumentasi Menguji konektivitas database untuk mengetahui informasi pemecahan masalah.
Untuk menyimpan setelan ini, klik Hubungkan.
Untuk mengetahui informasi selengkapnya tentang setelan koneksi, lihat halaman dokumentasi Menghubungkan Looker ke database.
Mengonfigurasi PrestoDB atau Trino untuk PDT
PDT tidak didukung untuk koneksi yang menggunakan OAuth.
Dukungan PDT bergantung pada konektor yang Anda gunakan dengan PrestoDB atau Trino . Bagian ini menjelaskan setelan konfigurasi yang diperlukan untuk database awal. Contoh ini mengasumsikan bahwa konektor yang Anda gunakan adalah hive
.
File properti katalog Hive harus berisi beberapa properti konfigurasi, yang dijelaskan di bagian ini.
Hal berikut diperlukan karena Presto meng-cache hasil metastore Hive, dan Looker harus dapat langsung melihat tabel:
hive.metastore-cache-ttl = 0s
Kedua properti ini diperlukan karena Looker harus dapat menghapus dan mengganti nama PDT:
hive.allow-rename-table=true
hive.allow-drop-table=true
Sebagai referensi, di server pengujian Presto internal, kami menggunakan file hive.properties
berikut, yang digunakan untuk semua skema Hive:
hive.s3.connect-timeout=1m
hive.s3.max-backoff-time=10m
hive.s3.max-error-retries=50
hive.metastore-cache-ttl = 0s
hive.metastore-refresh-interval = 5s
hive.s3.max-connections=500
hive.s3.max-client-retries=50
connector.name=hive-hadoop2
hive.s3.socket-timeout=2m
hive.s3.staging-directory=/mnt/tmp/
hive.s3.use-instance-credentials=true
hive.config.resources=/etc/hadoop/conf/core-site.xml,/etc/hadoop/conf/hdfs-site.xml
hive.parquet.use-column-names=true
hive.allow-drop-table=true
hive.metastore.uri=thrift://<metastore-server>:9083
hive.storage-format=ORC
hive.allow-rename-table=true
Mengonfigurasi OAuth untuk koneksi Trino
Looker mendukung OAuth untuk koneksi Trino, yang berarti setiap pengguna Looker melakukan autentikasi ke database dan memberi otorisasi kepada Looker untuk menjalankan kueri di database dengan akun pengguna OAuth mereka sendiri.
OAuth memungkinkan administrator database melakukan tugas berikut:
- Mengaudit pengguna Looker yang menjalankan kueri terhadap database
- Menerapkan kontrol akses berbasis peran menggunakan izin tingkat database
- Gunakan token OAuth untuk semua proses dan tindakan yang mengakses database, bukan menyematkan ID dan sandi database di beberapa tempat
- Mencabut otorisasi untuk pengguna tertentu melalui database secara langsung
Dengan koneksi Trino yang menggunakan OAuth, pengguna harus login lagi secara berkala saat token OAuth mereka habis masa berlakunya.
Perhatikan hal berikut untuk koneksi OAuth tingkat database:
- Jika pengguna membiarkan token OAuth-nya habis masa berlakunya, jadwal atau pemberitahuan apa pun yang mereka miliki akan terpengaruh. Untuk mencegah hal ini, Looker akan mengirim email notifikasi kepada pemilik setiap jadwal dan setiap pemberitahuan sebelum masa berlaku token OAuth aktif saat ini berakhir. Looker akan mengirim email notifikasi ini 14 hari, 7 hari, dan 1 hari sebelum masa berlaku token berakhir. Pengguna dapat membuka halaman pengguna Looker untuk memberikan otorisasi ulang kepada Looker ke database dan menghindari gangguan pada jadwal dan pemberitahuan mereka. Lihat halaman dokumentasi Mempersonalisasi setelan akun pengguna untuk mengetahui detailnya.
- Karena koneksi database yang menggunakan OAuth bersifat "per pengguna", kebijakan penyimpanan dalam cache juga bersifat per pengguna, bukan hanya per kueri. Artinya, alih-alih menggunakan hasil yang di-cache setiap kali kueri yang sama dijalankan dalam periode penyimpanan dalam cache, Looker hanya akan menggunakan hasil yang di-cache jika pengguna yang sama telah menjalankan kueri yang sama dalam periode penyimpanan dalam cache. Untuk informasi selengkapnya tentang penyimpanan dalam cache, lihat halaman dokumentasi Menyimpan kueri ke dalam cache.
- Tabel turunan persisten (PDT) tidak didukung untuk koneksi Trino dengan OAuth.
- Saat admin Looker menggunakan sudo sebagai pengguna lain, admin akan menggunakan token akses OAuth pengguna tersebut. Jika masa berlaku token akses pengguna telah habis, admin tidak dapat membuat token baru atas nama pengguna yang menggunakan sudo. Lihat halaman dokumentasi Pengguna untuk mengetahui informasi tentang penggunaan perintah
sudo
. - Saat login ke Azure AD dari Looker menggunakan OAuth, Looker tidak menampilkan dialog izin pengguna yang eksplisit. Dengan menyiapkan OAuth dengan Looker, Anda secara implisit mengizinkan instance Looker mengakses data Trino Anda.
Mendaftarkan aplikasi
Untuk mengaktifkan OAuth untuk Trino, daftarkan aplikasi terlebih dahulu menggunakan penyedia identitas yang didukung. Looker hanya mendukung Microsoft Entra ID (sebelumnya dikenal sebagai Azure AD) untuk OAuth dengan Trino.
Prasyarat
- Anda harus memiliki langganan Azure.
- Anda harus memiliki izin administratif di Microsoft Entra ID.
Untuk mendaftarkan aplikasi, ikuti langkah-langkah berikut:
- Buka Portal Azure dan login dengan kredensial Anda.
- Di kotak penelusuran Azure Portal, telusuri "Microsoft Entra ID" dan pilih dari hasil.
- Di layanan Microsoft Entra ID, klik Pendaftaran baru di bagian Pendaftaran aplikasi pada kategori Kelola.
- Isi formulir pendaftaran sebagai berikut:
- Nama: Berikan nama deskriptif untuk aplikasi, seperti
Looker Trino Connection
. - Jenis akun yang didukung: Pilih opsi yang sesuai berdasarkan cara Anda ingin membatasi akses. Untuk kasus penggunaan internal, Anda dapat memilih Accounts in this organizational directory only.
- URI Pengalihan: Pilih platform Web, lalu masukkan URI pengalihan Looker Anda. Tampilannya akan terlihat seperti
https://YOUR_LOOKER_HOSTNAME/external_oath/redirect
.
- Nama: Berikan nama deskriptif untuk aplikasi, seperti
- Klik Daftar.
- Kumpulkan Client ID, Tenant ID, dan Client Secret untuk dimasukkan ke koneksi Looker Anda nanti.
- Anda dapat menemukan Client ID dan Tenant ID di halaman Ringkasan.
- Jika tidak mengetahui Rahasia Klien, Anda harus membuat yang baru. Klik Certificates & secrets di bagian Manage, lalu klik New client secret.
- Klik Ekspos API di bagian Kelola.
- Di samping URI ID Aplikasi, klik Tambahkan.
- Masukkan Client ID Anda. URL tersebut seharusnya dalam format berikut:
api://CLIENT_ID
.
Selanjutnya, ikuti langkah-langkah berikut di Azure Portal untuk membuat cakupan baru yang akan digunakan dengan Looker:
- Klik Tambahkan cakupan di bagian Cakupan yang ditentukan oleh API ini.
Tambahkan Nama Cakupan untuk cakupan baru. Looker mengharapkan nama cakupan Anda adalah:
TrinoUsers.Read.All
.Nama
TrinoUsers.Read.All
menyiratkan izin hanya baca, tetapi nama itu sendiri tidak benar-benar menetapkan atau menerapkan izin apa pun. Pastikan Anda menyiapkan cakupan untuk hanya mengizinkan akses baca ke database.Tambahkan Nama tampilan dan Deskripsi.
Di pemilih Siapa yang dapat memberikan izin?, pilih Admin dan pengguna.
Klik Tambahkan cakupan.
Di bagian Aplikasi klien yang diizinkan, klik Tambahkan aplikasi klien.
Masukkan Client-ID dan cakupan yang baru dibuat.
Klik Tambahkan aplikasi.
Selanjutnya, untuk memberikan izin API yang diperlukan kepada Looker, ikuti langkah-langkah berikut:
- Di bagian Manage, klik API Permissions.
- Klik Add a permission.
- Pilih tab API Saya di bagian atas.
- Dalam daftar pendaftaran aplikasi, pilih pendaftaran yang baru saja Anda buat, seperti
Looker Trino Connection
. - Centang kotak Izin yang didelegasikan.
- Centang kotak TrinoUsers.Read.All.
- Pilih Tambahkan izin.
Mengonfigurasi database untuk menggunakan OAuth
Selanjutnya, untuk mengonfigurasi database Trino agar menggunakan OAuth, tambahkan baris berikut ke file config.properties
Trino. (Ganti lima baris pertama variabel berhuruf besar dengan nilai Anda sendiri.)
YOUR_HTTPS_PORT
PATH_TO_YOUR_SSL_CERTIFICATE
YOUR_TENANT_ID
YOUR_CLIENT_ID
YOUR_SHARED_SECRET
# enable SSL for OAuth
http-server.https.enabled=true
http-server.https.port=YOUR_HTTPS_PORT
http-server.https.keystore.path=PATH_TO_YOUR_SSL_CERTIFICATE
# enable OAuth 2.0
http-server.authentication.type=oauth2
http-server.authentication.oauth2.issuer=https://sts.windows.net/YOUR_TENANT_ID/
http-server.authentication.oauth2.client-id=NA_required_but_not_used
http-server.authentication.oauth2.client-secret=NA_required_but_not_used
# turn off oidc discovery - Trino will inspect tokens locally instead
http-server.authentication.oauth2.oidc.discovery=false
# URLs that Trino requires for OAuth
http-server.authentication.oauth2.jwks-url=https://login.microsoftonline.com/common/discovery/v2.0/keys
http-server.authentication.oauth2.auth-url=NA_required_but_not_used
http-server.authentication.oauth2.token-url=NA_required_but_not_used
# add audience that matches the Azure AD's Application ID URI
http-server.authentication.oauth2.additional-audiences=api://YOUR_CLIENT_ID
# set shared-secret required for internal Trino communication when authentication is enabled, see: https://github.com/trinodb/trino/issues/12397
# can be generated with the following Linux command: openssl rand 512 | base64
internal-communication.shared-secret=YOUR_SHARED_SECRET
# optionally, allow some insecure http traffic
# http-server.authentication.allow-insecure-over-http=true
Login untuk menjalankan kueri
Setelah koneksi database disiapkan untuk menggunakan OAuth, pengguna akan diminta untuk login ke Microsoft Entra ID sebelum menjalankan kueri. Hal ini mencakup kueri dari Jelajah, dasbor, Tampilan, dan SQL Runner.
Pengguna juga dapat login ke Microsoft Entra ID dari bagian Kredensial Koneksi OAuth di halaman Akun mereka.
Untuk login ke Microsoft Entra ID menggunakan Looker:
- Klik menu pengguna Looker.
- Pilih Akun.
- Di halaman Akun, klik Login di bagian Kredensial Koneksi OAuth.
Tindakan ini akan menampilkan dialog login. Masukkan kredensial Microsoft Entra ID Anda dan pilih Login untuk memberikan akses Looker ke akun database Anda.
Setelah login ke Microsoft Entra ID melalui Looker, Anda dapat logout atau memberikan otorisasi ulang kredensial Anda kapan saja melalui halaman Akun, seperti yang dijelaskan di halaman dokumentasi Mempersonalisasi akun pengguna.
Referensi
Untuk informasi selengkapnya tentang cara mengonfigurasi konektor Hive, lihat Konektor Hive PrestoDB, Konektor Hive Trino, atau Konektor Hive Starburst.
Dukungan fitur
Agar Looker mendukung beberapa fitur, dialek database Anda juga harus mendukungnya.
PrestoDB mendukung fitur berikut mulai Looker 24.20:
Fitur | Didukung? |
---|---|
Level Dukungan | Didukung |
Looker (Google Cloud core) | Ya |
Agregat Simetris | Ya |
Tabel Turunan | Ya |
Tabel Turunan SQL Persisten | Ya |
Tabel Turunan Berbasis Persisten | Ya |
Tampilan Stabil | Ya |
Penghentian Kueri | Ya |
Pivot berbasis SQL | Ya |
Zona waktu | Ya |
SSL | Ya |
Subtotal | Ya |
Parameter Tambahan JDBC | Ya |
Peka Huruf Besar/Kecil | Ya |
Jenis Lokasi | Ya |
Jenis Daftar | Ya |
Persentil | Ya |
Persentil Berbeda | Tidak |
Proses Tampilkan SQL Runner | Ya |
SQL Runner Describe Table | Ya |
SQL Runner Show Indexes | Tidak |
SQL Runner Select 10 | Ya |
Jumlah SQL Runner | Ya |
SQL Explain | Ya |
Kredensial Oauth | Tidak |
Komentar Konteks | Ya |
Penggabungan Koneksi | Tidak |
Sketsa HLL | Ya |
Kesadaran Agregat | Ya |
PDT inkremental | Tidak |
Milidetik | Ya |
Mikrodetik | Tidak |
Tampilan Terwujud | Tidak |
Perkiraan Jumlah Berbeda | Ya |
Trino mendukung fitur berikut mulai Looker 24.20:
Fitur | Didukung? |
---|---|
Level Dukungan | Didukung |
Looker (Google Cloud core) | Ya |
Agregat Simetris | Ya |
Tabel Turunan | Ya |
Tabel Turunan SQL Persisten | Ya |
Tabel Turunan Berbasis Persisten | Ya |
Tampilan Stabil | Tidak |
Penghentian Kueri | Ya |
Pivot berbasis SQL | Ya |
Zona waktu | Ya |
SSL | Ya |
Subtotal | Ya |
Parameter Tambahan JDBC | Ya |
Peka Huruf Besar/Kecil | Ya |
Jenis Lokasi | Ya |
Jenis Daftar | Ya |
Persentil | Ya |
Persentil Berbeda | Tidak |
Proses Tampilkan SQL Runner | Ya |
SQL Runner Describe Table | Ya |
SQL Runner Show Indexes | Tidak |
SQL Runner Select 10 | Ya |
Jumlah SQL Runner | Ya |
SQL Explain | Ya |
Kredensial Oauth | Ya |
Komentar Konteks | Ya |
Penggabungan Koneksi | Tidak |
Sketsa HLL | Ya |
Kesadaran Agregat | Ya |
PDT inkremental | Tidak |
Milidetik | Ya |
Mikrodetik | Tidak |
Tampilan Terwujud | Tidak |
Perkiraan Jumlah Berbeda | Ya |
Langkah berikutnya
Setelah menghubungkan database ke Looker, konfigurasi opsi login untuk pengguna.