Looker memiliki dukungan tingkat integrasi untuk MSSQL. Halaman ini berisi informasi tentang cara menghubungkan Looker ke MSSQL.
Mengenkripsi traffic jaringan
Sebaiknya enkripsi traffic jaringan antara aplikasi Looker dan database Anda. Pertimbangkan salah satu opsi yang dijelaskan di halaman dokumentasi Mengaktifkan akses database yang aman.
Jika Anda tertarik menggunakan enkripsi SSL, lihat dokumentasi Microsoft.
Mengonfigurasi autentikasi server
Looker memerlukan "SQL Server Authentication" di server MSSQL Anda. Jika server MSSQL Anda hanya dikonfigurasi sebagai "Autentikasi Terintegrasi Windows", ubah konfigurasi server menjadi "Autentikasi Terintegrasi Windows dan Autentikasi SQL Server".
Jika konfigurasi server tidak disetel dengan benar, Looker tidak akan dapat terhubung. Hal ini akan muncul di pesan log SQL Server Anda seperti: "Upaya login menggunakan autentikasi SQL gagal. Server is configured for windows authentication only."
Jika perubahan ini diperlukan, Anda dapat menyelesaikan langkah-langkah berikut:
- Di SQL Server Management Studio Object Explorer, klik kanan server, lalu klik Properties.
- Di halaman Security, di bagian Server authentication, pilih mode autentikasi server baru, lalu klik OK.
- Dalam dialog SQL Server Management Studio, klik OK untuk mengonfirmasi persyaratan memulai ulang SQL Server.
- Di Object Explorer, klik kanan server Anda, lalu klik Restart. Jika Agen SQL Server berjalan, agen tersebut juga harus dimulai ulang.
Anda dapat membaca selengkapnya tentang hal ini di dokumentasi Microsoft.
Membuat pengguna Looker
Looker melakukan autentikasi ke database Anda menggunakan SQL Server Authentication. Penggunaan akun domain tidak didukung.
Untuk membuat akun, jalankan perintah berikut. Ubah some_password_here menjadi sandi yang unik dan aman:
CREATE LOGIN looker
WITH PASSWORD = 'some_password_here';
USE MyDatabase;
CREATE USER looker FOR LOGIN looker;
GO
Memberikan izin kepada pengguna Looker untuk melakukan SELECT dari tabel
Looker memerlukan izin SELECT untuk setiap tabel atau skema yang ingin Anda buat kuerinya. Ada beberapa cara untuk menetapkan izin SELECT:
Untuk memberikan izin
SELECTke setiap skema, jalankan perintah berikut untuk setiap skema:GRANT SELECT on SCHEMA :: 'schema_name' to looker;Untuk memberikan izin
SELECTke setiap tabel, jalankan perintah berikut untuk setiap tabel:GRANT SELECT on OBJECT :: 'schema_name'.'table_name' to looker;Untuk MSSQL versi 2012 atau yang lebih baru, Anda dapat menetapkan peran
db_datareaderkepada pengguna Looker menggunakan perintah berikut:USE MyDatabase; ALTER ROLE db_datareader ADD MEMBER looker; GO
Memberi pengguna Looker izin untuk melihat dan menghentikan kueri yang sedang berjalan
Looker harus diberi otorisasi untuk mendeteksi dan menghentikan kueri yang berjalan, yang memerlukan izin berikut:
ALTER ANY CONNECTIONVIEW SERVER STATE
Untuk memberikan izin ini, jalankan perintah berikut:
USE Master;
GRANT ALTER ANY CONNECTION TO looker;
GRANT VIEW SERVER STATE to looker;
GO
Memberikan izin kepada pengguna Looker untuk membuat tabel
Untuk memberi pengguna Looker izin membuat PDT, jalankan perintah berikut:
USE MyDatabase;
GRANT CREATE TABLE to looker;
GO
Penyiapan skema sementara
Untuk membuat skema yang dimiliki oleh pengguna Looker dan memberikan hak yang diperlukan kepada pengguna Looker, jalankan perintah ini:
CREATE SCHEMA looker_scratch AUTHORIZATION looker;
Mengonfigurasi autentikasi Kerberos
Jika Anda menggunakan autentikasi Kerberos dengan database MSSQL, ikuti langkah-langkah untuk mengonfigurasi Looker agar terhubung menggunakan Kerberos, seperti yang dijelaskan di bagian berikut.
Menyiapkan konfigurasi klien Kerberos
Pertama, Anda harus memastikan penginstalan beberapa software dan keberadaan beberapa file di mesin Looker.
Klien Kerberos
Pastikan klien Kerberos diinstal di mesin Looker dengan menjalankan kinit. Jika klien Kerberos tidak diinstal, instal biner klien Kerberos.
Misalnya, di Redhat atau CentOS, perintahnya adalah sebagai berikut:
sudo yum install krb5-workstation krb5-libs krb5-auth-dialog
Java 8
Java 8 harus diinstal di mesin Looker dan di PATH serta JAVA_HOME pengguna Looker. Jika perlu, instal secara lokal di direktori looker.
Java Cryptography Extension
Download dan instal Java Cryptography Extension (JCE) untuk Java 8 dari halaman download Oracle ini.
- Temukan direktori
jre/lib/securityuntuk penginstalan Java. - Hapus file JAR berikut dari direktori ini:
local_policy.jardanUS_export_policy.jar. - Ganti kedua file ini dengan file JAR yang disertakan dalam download JCE Unlimited Strength Jurisdiction Policy Files.
Anda mungkin dapat menggunakan versi Java sebelum Java 8 dengan JCE yang diinstal, tetapi hal ini tidak direkomendasikan.
- Temukan direktori
Perbarui
JAVA_HOMEdanPATHdi~looker/.bash_profileagar mengarah ke penginstalan Java dansource ~/.bash_profileyang benar, atau logout dan login lagi.Verifikasi versi Java dengan
java -version.Verifikasi variabel lingkungan
JAVA_HOMEdenganecho $JAVA_HOME.
gss-jaas.conf
Buat file gss-jaas.conf di direktori looker dengan konten berikut:
com.sun.security.jgss.initiate {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=true
doNotPrompt=true;
};
Jika diperlukan untuk pengujian, debug=true dapat ditambahkan ke file ini seperti berikut:
com.sun.security.jgss.initiate {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=true
doNotPrompt=true
debug=true;
};
krb5.conf
Server yang menjalankan Looker juga harus memiliki file krb5.conf yang valid. Secara default, file ini ada di /etc/krb5.conf. Jika berada di lokasi lain, lokasi tersebut harus ditunjukkan di lingkungan (KRB5_CONFIG di lingkungan shell).
Anda mungkin perlu menyalinnya dari komputer klien Kerberos lain.
lookerstart.cfg
Arahkan ke file gss-jaas.conf dan krb5.conf dengan membuat file di direktori looker (direktori yang sama yang berisi skrip startup looker) bernama lookerstart.cfg yang berisi baris berikut:
JAVAARGS="-Djava.security.auth.login.config=/path/to/gss-jaas.conf -Djavax.security.auth.useSubjectCredsOnly=false -Djava.security.krb5.conf=/etc/krb5.conf"
LOOKERARGS=""
Jika file krb5.conf tidak ada di /etc/krb5.conf, Anda juga perlu menambahkan variabel ini:
-Djava.security.krb5.conf=/path/to/krb5.conf
Untuk proses debug, tambahkan variabel berikut:
-Dsun.security.jgss.debug=true -Dsun.security.krb5.debug=true
Kemudian, mulai ulang Looker dengan ./looker restart.
Melakukan autentikasi dengan Kerberos
Autentikasi pengguna
Jika
krb5.conftidak ada di/etc/, gunakan variabel lingkunganKRB5_CONFIGuntuk menunjukkan lokasinya.Jalankan perintah
klistuntuk memastikan ada tiket yang valid di cache tiket Kerberos.Jika tidak ada tiket, jalankan
kinit username@REALMataukinit usernameuntuk membuat tiket.Akun yang digunakan dengan Looker kemungkinan akan bersifat headless, sehingga Anda bisa mendapatkan file keytab dari Kerberos untuk menyimpan kredensial untuk penggunaan jangka panjang. Gunakan perintah seperti
kinit -k -t looker_user.keytab username@REALMuntuk mendapatkan tiket Kerberos.
Memperpanjang tiket secara otomatis
Siapkan cron job yang berjalan sesering mungkin untuk menyimpan tiket aktif di cache tiket Kerberos. Seberapa sering hal ini harus dijalankan bergantung pada konfigurasi cluster. klist harus memberikan indikasi seberapa cepat masa berlaku tiket akan berakhir.
Membuat koneksi Looker ke database Anda
Ikuti langkah-langkah berikut untuk membuat koneksi dari Looker ke database Anda:
- Di bagian Admin di Looker, pilih Connections, lalu klik Add Connection.
Dari menu drop-down Dialect, pilih versi Microsoft SQL Server Anda.
Untuk Remote Host dan Port, masukkan nama host dan port (port default adalah 1433).
Jika Anda perlu menentukan port non-default selain 1433 dan database Anda memerlukan penggunaan koma, bukan titik dua, Anda dapat menambahkan
useCommaHostPortSeparator=truedi kolom Additional JDBC parameters di bagian bawah setelan koneksi, yang akan memungkinkan Anda menggunakan koma untuk Remote Host:Port. Contoh:jdbc:sqlserver://hostname,1434Isi detail koneksi lainnya. Sebagian besar setelan bersifat umum untuk sebagian besar dialek database. Lihat halaman dokumentasi Menghubungkan Looker ke database Anda untuk mengetahui informasinya.
Untuk memverifikasi bahwa koneksi berhasil, klik tombol Test Connection di bagian Status details di bagian bawah halaman Connections Settings.
Jika Looker menampilkan Can Connect, tekan Connect untuk membuat koneksi.
Koneksi database Anda kemudian ditambahkan ke daftar di halaman Connections Admin Looker.
Mengonfigurasi koneksi Looker
Ikuti petunjuk di halaman dokumentasi Menghubungkan Looker ke database Anda untuk membuat koneksi ke database MSSQL Anda. Di bagian Additional JDBC parameters pada halaman Connection Settings, tambahkan parameter berikut:
;integratedSecurity=true;authenticationScheme=JavaKerberos
Beberapa jaringan dikonfigurasi untuk dua realm Kerberos, satu untuk Windows Active Directory dan satu lagi untuk Linux dan sistem non-Windows lainnya. Dalam hal ini, saat Realm yang berfokus pada Linux dan Realm Active Directory dikonfigurasi untuk saling percaya, hal ini disebut "autentikasi lintas realm".
Jika jaringan Anda menggunakan autentikasi lintas realm, Anda harus menentukan secara eksplisit principal Kerberos untuk MSSQL Server. Di kolom Additional JDBC parameters, tambahkan hal berikut:
;serverSpn=service_name/FQDN\:PORT@REALM
Ganti FQDN dan PORT@REALM dengan informasi jaringan Anda. Contoh:
;serverSpn=MSSQLSvc/dbserver.internal.example.com:1433@AD.EXAMPLE.COM
Selain itu, halaman Setelan Koneksi di Looker memerlukan entri di kolom Nama Pengguna dan Sandi, tetapi entri ini tidak diperlukan untuk Kerberos. Masukkan nilai tiruan di kolom ini.
Uji koneksi untuk memastikan koneksi dikonfigurasi dengan benar.
Parameter JDBC yang didukung
Untuk Microsoft SQL Server, Looker mendukung parameter JDBC berikut di kolom Additional JDBC parameters untuk koneksi. Lihat dokumentasi database Anda untuk mengetahui informasi tentang parameter ini.
accessTokenApplicationIntentapplicationNameauthenticationauthenticationSchemecancelQueryTimeoutcolumnEncryptionSettingdatabasedatabaseNamedisableStatementPoolingdomainenablePrepareOnFirstPreparedStatementCallEncryptfailoverPartnerfipsgsscredentialhostNameInCertificateinstanceNameIntegrated SecurityintegratedSecurityjaasConfigurationNamekeyStoreAuthenticationlastUpdateCountlocktimeoutloginTimeoutmsiClientIdmultiSubnetFailoverpacketSizepasswordportNumberqueryTimeoutrealmresponseBufferingselectMethodsendStringParametersAsUnicodesendTimeAsDatetimeserverNameserverPreparedStatementDiscardThresholdserverSpntransparentNetworkIPResolutiontrustServerCertificateuseBulkCopyForBatchInsertuseCommaHostPortSeparatoruserworkstationIDxopenStates
Dukungan fitur
Agar Looker mendukung beberapa fitur, dialek database Anda juga harus mendukungnya.
Microsoft SQL Server 2008+ mendukung fitur berikut mulai Looker 26.20:
| Fitur | Didukung? |
|---|---|
| Looker (Google Cloud core) | |
| Agregat simetris | |
| Tabel turunan | |
| Tabel turunan SQL persisten | |
| Tabel turunan berbasis persisten | |
| Tampilan stabil | |
| Penghentian kueri | |
| Pivot berbasis SQL | |
| Zona waktu | |
| SSL | |
| Subtotal | |
| Parameter tambahan JDBC | |
| Peka huruf besar/kecil | |
| Jenis lokasi | |
| Jenis daftar | |
| Persentil | |
| Persentil berbeda | |
| SQL Runner Show Processes | |
| SQL Runner Describe Table | |
| SQL Runner Show Indexes | |
| SQL Runner Select 10 | |
| SQL Runner Count | |
| SQL Explain | |
| Kredensial OAuth 2.0 | |
| Komentar konteks | |
| Penggabungan koneksi | |
| Sketsa HLL | |
| Aggregate awareness | |
| PDT inkremental | |
| Milidetik | |
| Mikrodetik | |
| Tampilan terwujud | |
| Pengukuran dari periode ke periode | |
| Jumlah perkiraan berbeda | |
| Model analisis dalam database | |
| Kalender kustom |
Microsoft SQL Server 2016 mendukung fitur berikut mulai Looker 26.20:
| Fitur | Didukung? |
|---|---|
| Looker (Google Cloud core) | |
| Agregat simetris | |
| Tabel turunan | |
| Tabel turunan SQL persisten | |
| Tabel turunan berbasis persisten | |
| Tampilan stabil | |
| Penghentian kueri | |
| Pivot berbasis SQL | |
| Zona waktu | |
| SSL | |
| Subtotal | |
| Parameter tambahan JDBC | |
| Peka huruf besar/kecil | |
| Jenis lokasi | |
| Jenis daftar | |
| Persentil | |
| Persentil berbeda | |
| SQL Runner Show Processes | |
| SQL Runner Describe Table | |
| SQL Runner Show Indexes | |
| SQL Runner Select 10 | |
| SQL Runner Count | |
| SQL Explain | |
| Kredensial OAuth 2.0 | |
| Komentar konteks | |
| Penggabungan koneksi | |
| Sketsa HLL | |
| Aggregate awareness | |
| PDT inkremental | |
| Milidetik | |
| Mikrodetik | |
| Tampilan terwujud | |
| Pengukuran dari periode ke periode | |
| Jumlah perkiraan berbeda | |
| Model analisis dalam database | |
| Kalender kustom |
Microsoft SQL Server 2017+ mendukung fitur berikut mulai Looker 26.20:
| Fitur | Didukung? |
|---|---|
| Looker (Google Cloud core) | |
| Agregat simetris | |
| Tabel turunan | |
| Tabel turunan SQL persisten | |
| Tabel turunan berbasis persisten | |
| Tampilan stabil | |
| Penghentian kueri | |
| Pivot berbasis SQL | |
| Zona waktu | |
| SSL | |
| Subtotal | |
| Parameter tambahan JDBC | |
| Peka huruf besar/kecil | |
| Jenis lokasi | |
| Jenis daftar | |
| Persentil | |
| Persentil berbeda | |
| SQL Runner Show Processes | |
| SQL Runner Describe Table | |
| SQL Runner Show Indexes | |
| SQL Runner Select 10 | |
| SQL Runner Count | |
| SQL Explain | |
| Kredensial OAuth 2.0 | |
| Komentar konteks | |
| Penggabungan koneksi | |
| Sketsa HLL | |
| Aggregate awareness | |
| PDT inkremental | |
| Milidetik | |
| Mikrodetik | |
| Tampilan terwujud | |
| Pengukuran dari periode ke periode | |
| Jumlah perkiraan berbeda | |
| Model analisis dalam database | |
| Kalender kustom |