Looker memiliki dukungan tingkat integrasi untuk MSSQL. Halaman ini berisi informasi tentang cara menghubungkan Looker ke MSSQL.
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.
Jika Anda tertarik menggunakan enkripsi SSL, lihatDokumentasi Microsoft.
Mengonfigurasi otentikasi server
Looker memerlukan "Autentikasi SQL Server" pada server MSSQL Anda. Jika server MSSQL Anda dikonfigurasi hanya sebagai "Windows Integrated Authentication", ubah konfigurasi server menjadi "Windows Integrated Authentication and SQL Server Authentication".
Jika konfigurasi server tidak diatur dengan benar, Looker tidak akan dapat terhubung. Ini akan muncul di pesan log SQL Server Anda seperti: "Upaya untuk masuk menggunakan autentikasi SQL gagal." Server dikonfigurasi hanya untuk otentikasi Windows.
Jika perubahan ini diperlukan, Anda dapat menyelesaikan langkah-langkah berikut:
- Di SQL Server Management Studio Object Explorer, klik kanan server, lalu klik Properties.
- Pada halaman Keamanan, di bawah Autentikasi server, pilih mode autentikasi server yang baru, lalu klik OK.
- Pada dialog SQL Server Management Studio, klik OK untuk menyetujui persyaratan untuk memulai ulang SQL Server.
- Di Object Explorer, klik kanan server Anda, lalu klik Restart. Jika SQL Server Agent sedang berjalan, maka SQL Server Agent juga harus dihidupkan ulang.
Anda dapat membaca lebih lanjut tentang hal ini diDokumentasi Microsoft.
Membuat pengguna Looker
Looker melakukan autentikasi ke basis data Anda menggunakan Autentikasi SQL Server. Penggunaan akun domain tidak didukung.
Untuk membuat akun, jalankan perintah berikut. Ubah some_password_here menjadi kata sandi 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 kueri. Ada beberapa cara untuk memberikan izin SELECT:
Untuk memberikan izin
SELECTke masing-masing skema, jalankan perintah berikut untuk setiap skema:GRANT SELECT on SCHEMA :: 'schema_name' to looker;Untuk memberikan izin
SELECTke masing-masing 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 juga dapat memberikan peran
db_datareaderkepada pengguna Looker menggunakan perintah-perintah berikut:USE MyDatabase; ALTER ROLE db_datareader ADD MEMBER looker; GO
Memberikan izin kepada pengguna Looker untuk melihat dan menghentikan kueri yang sedang berjalan.
Looker harus diotorisasi untuk mendeteksi dan menghentikan kueri yang sedang 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 memberikan izin kepada pengguna Looker untuk membuat PDT, jalankan perintah berikut:
USE MyDatabase;
GRANT CREATE TABLE to looker;
GO
Pengaturan skema sementara
Untuk membuat skema yang dimiliki oleh pengguna Looker dan memberikan hak akses yang diperlukan kepada pengguna Looker, jalankan perintah ini:
CREATE SCHEMA looker_scratch AUTHORIZATION looker;
Mengonfigurasi otentikasi Kerberos
Jika Anda menggunakan autentikasi Kerberos dengan basis data MSSQL Anda, ikuti langkah-langkah untuk mengkonfigurasi Looker agar terhubung menggunakan Kerberos, seperti yang dijelaskan di bagian berikut.
Menyiapkan konfigurasi klien Kerberos
Pertama, Anda perlu memastikan instalasi beberapa perangkat lunak dan keberadaan beberapa file pada mesin Looker.
Klien Kerberos
Verifikasi bahwa klien Kerberos telah terpasang pada mesin Looker dengan menjalankan kinit. Jika klien Kerberos belum terpasang, instal file biner klien Kerberos.
Sebagai contoh, pada Redhat atau CentOS, tampilannya akan seperti berikut:
sudo yum install krb5-workstation krb5-libs krb5-auth-dialog
Java 8
Java 8 harus diinstal pada mesin Looker dan di PATH dan JAVA_HOME pengguna Looker. Jika perlu, instal secara lokal di direktori looker.
Ekstensi Kriptografi Java
Unduh dan instal Java Cryptography Extension (JCE) untuk Java 8 dari sini.Halaman unduhan Oracle .
- Cari direktori
jre/lib/securityuntuk instalasi Java. - Hapus file JAR berikut dari direktori ini:
local_policy.jardanUS_export_policy.jar. - Gantikan kedua file ini dengan file JAR yang terdapat dalam unduhan JCE Unlimited Strength Jurisdiction Policy Files.
Mungkin saja menggunakan versi Java sebelum Java 8 dengan JCE terpasang, tetapi hal ini tidak disarankan.
- Cari direktori
Perbarui
JAVA_HOMEdanPATHdi~looker/.bash_profileagar mengarah ke instalasi Java yang benar dansource ~/.bash_profileatau keluar dan masuk kembali.Periksa versi Java dengan
java -version.Verifikasi variabel lingkungan
JAVA_HOMEdenganecho $JAVA_HOME.
gss-jaas.conf
Buat berkas gss-jaas.conf di direktori looker dengan isi sebagai 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 ini:
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 berada di /etc/krb5.conf. Jika berada di lokasi lain, hal itu harus ditunjukkan di lingkungan (KRB5_CONFIG di lingkungan shell).
Anda mungkin perlu menyalin ini dari mesin klien Kerberos lain.
lookerstart.cfg
Arahkan ke file gss-jaas.conf dan krb5.conf dengan membuat file di direktori looker (direktori yang sama dengan skrip startup looker) bernama lookerstart.cfg yang berisi baris-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 berkas krb5.conf tidak berada di /etc/krb5.conf maka variabel ini juga perlu ditambahkan:
-Djava.security.krb5.conf=/path/to/krb5.conf
Untuk keperluan debugging, tambahkan variabel-variabel berikut:
-Dsun.security.jgss.debug=true -Dsun.security.krb5.debug=true
Kemudian mulai ulang Looker dengan ./looker restart.
Otentikasi dengan Kerberos
Autentikasi pengguna
Jika
krb5.conftidak ada di/etc/, maka 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 secara berkala untuk menyimpan tiket aktif di cache tiket Kerberos. Seberapa sering perintah ini harus dijalankan bergantung pada konfigurasi cluster. klist harus memberikan indikasi seberapa cepat tiket akan habis masa berlakunya.
Membuat koneksi Looker ke database Anda
Ikuti langkah-langkah berikut untuk membuat koneksi dari Looker ke database Anda:
- Di bagian Admin Looker, pilih Connections, lalu klik Add Connection.
Dari menu drop-down Dialek, pilih versi Microsoft SQL Server Anda.
Untuk Remote Host dan Port, masukkan hostname 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 Parameter JDBC tambahan di setelan koneksi, yang akan memungkinkan Anda menggunakan koma untuk Host Jarak Jauh:Port. Contoh:jdbc:sqlserver://hostname,1434Isi detail koneksi lainnya. Sebagian besar setelan umum untuk sebagian besar dialek database. Lihat halaman dokumentasi Menghubungkan Looker ke database Anda untuk mengetahui informasi selengkapnya.
Untuk memverifikasi bahwa koneksi berhasil, klik tombol Uji Koneksi di bagian Detail status di bagian bawah halaman Setelan Koneksi.
Jika Looker menampilkan Dapat Terhubung, tekan Hubungkan 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 berikut ini:
;integratedSecurity=true;authenticationScheme=JavaKerberos
Beberapa jaringan dikonfigurasi untuk dua ranah Kerberos, satu untuk Windows Active Directory dan yang lainnya untuk Linux dan sistem non-Windows lainnya. Dalam hal ini, ketika Realm yang berfokus pada Linux dan Realm Active Directory dikonfigurasi untuk saling mempercayai, hal itu disebut "autentikasi lintas realm".
Jika jaringan Anda menggunakan autentikasi lintas ranah, Anda harus secara eksplisit menentukan prinsipal Kerberos untuk MSSQL Server. Pada kolom Parameter JDBC tambahan, tambahkan yang berikut ini:
;serverSpn=service_name/FQDN\:PORT@REALM
Mengganti FQDN dan PORT@REALM dengan informasi jaringan Anda. Contoh:
;serverSpn=MSSQLSvc/dbserver.internal.example.com:1433@AD.EXAMPLE.COM
Selain itu, halaman Pengaturan Koneksi di Looker memerlukan entri di kolom Nama Pengguna dan Kata Sandi, tetapi ini tidak diperlukan untuk Kerberos. Masukkan nilai contoh pada kolom-kolom ini.
Uji koneksi untuk memastikan bahwa koneksi telah dikonfigurasi dengan benar.
Parameter JDBC yang didukung
Untuk Microsoft SQL Server, Looker mendukung parameter JDBC berikut di kolom Parameter JDBC tambahan untuk koneksi. Lihat dokumentasi untuk database Anda guna 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-fitur berikut per Looker 26.16:
| Fitur | Didukung? |
|---|---|
| Looker (Google Cloud core) | |
| Agregat simetris | |
| Tabel turunan | |
| Tabel turunan SQL persisten | |
| Tabel turunan native 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 | |
| Jumlah SQL Runner | |
| Penjelasan SQL | |
| 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 analitik dalam database | |
| Kalender kustom |
Microsoft SQL Server 2016 mendukung fitur-fitur berikut per Looker 26.16:
| Fitur | Didukung? |
|---|---|
| Looker (Google Cloud core) | |
| Agregat simetris | |
| Tabel turunan | |
| Tabel turunan SQL persisten | |
| Tabel turunan native 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 | |
| Jumlah SQL Runner | |
| Penjelasan SQL | |
| 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 analitik dalam database | |
| Kalender kustom |
Microsoft SQL Server 2017+ mendukung fitur-fitur berikut sejak Looker 26.16:
| Fitur | Didukung? |
|---|---|
| Looker (Google Cloud core) | |
| Agregat simetris | |
| Tabel turunan | |
| Tabel turunan SQL persisten | |
| Tabel turunan native 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 | |
| Jumlah SQL Runner | |
| Penjelasan SQL | |
| 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 analitik dalam database | |
| Kalender kustom |