Mengenkripsi lalu lintas 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 untuk menggunakan enkripsi SSL, baca dokumentasi Microsoft.
Mengonfigurasi autentikasi server
Looker memerlukan "Autentikasi Server SQL" di server MSSQL Anda. Jika server MSSQL Anda hanya dikonfigurasikan sebagai "Windows Integrated Authentication", ubah konfigurasi server menjadi "Windows Integrated Authentication dan SQL Server Authentication".
Jika konfigurasi server tidak ditetapkan dengan benar, Looker tidak akan dapat terhubung. Ini akan muncul di pesan log SQL Server Anda seperti: "Upaya masuk menggunakan autentikasi SQL gagal. Server hanya dikonfigurasi untuk autentikasi Windows."
Jika perubahan ini diwajibkan, Anda dapat menyelesaikan langkah-langkah berikut:
- Di SQL Server Management Studio Object Explorer, klik kanan server, lalu klik Properties.
- Di halaman Security, pada bagian Server authentication, pilih mode autentikasi server 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 Agen SQL Server sedang berjalan, agen tersebut juga harus dimulai ulang.
Anda dapat membaca hal ini selengkapnya di dokumentasi Microsoft.
Membuat pengguna Looker
Looker mengautentikasi ke database Anda menggunakan Autentikasi Server SQL. 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 memilih dari tabel
Looker memerlukan izin SELECT
untuk setiap tabel atau skema yang ingin Anda kueri. Ada beberapa cara untuk menetapkan izin SELECT
:
Untuk memberikan izin
SELECT
ke skema tertentu, jalankan perintah berikut untuk setiap skema:GRANT SELECT on SCHEMA :: 'schema_name' to looker;
Untuk memberikan izin
SELECT
ke 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_datareader
kepada pengguna Looker menggunakan perintah berikut:USE MyDatabase; ALTER ROLE db_datareader ADD MEMBER looker; GO
Memberikan izin kepada pengguna Looker untuk melihat dan menghentikan kueri yang berjalan
Looker harus diizinkan untuk mendeteksi dan menghentikan kueri yang berjalan, yang memerlukan izin berikut:
ALTER ANY CONNECTION
VIEW 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
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 perlu memastikan penginstalan beberapa software dan adanya beberapa file di mesin Looker.
Klien Kerberos
Pastikan klien Kerberos telah diinstal di mesin Looker dengan menjalankan kinit
. Jika klien Kerberos tidak diinstal, instal biner klien Kerberos.
Misalnya, di Redhat atau CentOS, kodenya adalah sebagai berikut:
sudo yum install krb5-workstation krb5-libs krb5-auth-dialog
Java 8
Java 8 harus diinstal di mesin Looker serta di PATH
dan JAVA_HOME
pengguna Looker. Jika perlu, instal secara lokal di direktori looker
.
Ekstensi Kriptografi Java
Download dan instal Java Cryptography Extension (JCE) untuk Java 8 dari halaman download Oracle ini.
- Temukan direktori
jre/lib/security
untuk penginstalan Java. - Hapus file JAR berikut dari direktori ini:
local_policy.jar
danUS_export_policy.jar
. - Ganti kedua file ini dengan file JAR yang disertakan dalam download File Kebijakan Yurisdiksi Kekuatan Tidak Terbatas JCE.
Anda dapat menggunakan versi Java sebelum Java 8 dengan JCE yang sudah diinstal, tetapi hal ini tidak disarankan.
- Temukan direktori
Update
JAVA_HOME
danPATH
di~looker/.bash_profile
agar mengarah ke penginstalan Java dansource ~/.bash_profile
yang benar, atau logout dan login lagi.Verifikasi versi Java dengan
java -version
.Verifikasi variabel lingkungan
JAVA_HOME
denganecho $JAVA_HOME
.
gss-jaas.conf
Dalam direktori looker
, buat file gss-jaas.conf
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 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 ada di /etc/krb5.conf
. Jika berada di lokasi lain, hal itu harus ditunjukkan di lingkungan (KRB5_CONFIG
di lingkungan shell).
Anda mungkin perlu menyalinnya dari komputer klien Kerberos lainnya.
lookerstart.cfg
Arahkan kursor ke file gss-jaas.conf
dan krb5.conf
dengan membuat file di direktori looker
(direktori sama yang berisi skrip startup looker
) yang disebut 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
, variabel ini juga perlu ditambahkan:
-Djava.security.krb5.conf=/path/to/krb5.conf
Untuk proses debug, tambahkan variabel berikut:
-Dsun.security.jgss.debug=true -Dsun.security.krb5.debug=true
Lalu, mulai ulang Looker dengan ./looker restart
.
Mengautentikasi dengan Kerberos
Autentikasi pengguna
Jika
krb5.conf
tidak ada dalam/etc/
, gunakan variabel lingkunganKRB5_CONFIG
untuk menunjukkan lokasinya.Jalankan perintah
klist
untuk memastikan ada tiket yang valid di cache tiket Kerberos.Jika tidak ada tiket, jalankan
kinit username@REALM
ataukinit username
untuk membuat tiket.Akun yang digunakan dengan Looker kemungkinan akan menjadi headless, sehingga Anda bisa mendapatkan file keytab dari Kerberos guna menyimpan kredensial untuk penggunaan jangka panjang. Gunakan perintah seperti
kinit -k -t looker_user.keytab username@REALM
untuk mendapatkan tiket Kerberos.
Memperpanjang tiket secara otomatis
Siapkan cron job yang sering berjalan untuk mempertahankan tiket aktif di cache tiket Kerberos. Seberapa sering proses ini harus dijalankan bergantung pada konfigurasi cluster. klist
harus memberikan indikasi seberapa cepat masa berlaku tiket habis.
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 Dialect, pilih versi Microsoft SQL Server Anda.
Untuk Remote Host dan Port, masukkan nama host dan port (port default-nya adalah 1433).
Jika Anda perlu menentukan port non-default selain 1433 dan database Anda memerlukan penggunaan koma, bukan titik dua, Anda dapat menambahkan
useCommaHostPortSeparator=true
di kolom Parameter JDBC tambahan di bagian bawah setelan koneksi, yang akan memungkinkan Anda menggunakan koma untuk Remote Host:Port. Contoh:jdbc:sqlserver://hostname,1434
Isi detail koneksi lainnya. Sebagian besar setelan bersifat umum untuk sebagian besar dialek database. Lihat halaman dokumentasi Menghubungkan Looker ke database untuk mendapatkan informasi.
Untuk memverifikasi bahwa koneksi berhasil, klik Test. Lihat halaman dokumentasi Menguji konektivitas database untuk informasi pemecahan masalah.
Untuk menyimpan setelan ini, klik Hubungkan.
Mengonfigurasi koneksi Looker
Ikuti petunjuk di halaman dokumentasi Menghubungkan Looker ke database untuk membuat koneksi ke database MSSQL Anda. Di bagian Parameter JDBC tambahan di halaman Setelan Koneksi, tambahkan hal berikut:
;integratedSecurity=true;authenticationScheme=JavaKerberos
Beberapa jaringan dikonfigurasi untuk dua realm Kerberos, satu untuk Windows Active Directory dan satu lagi untuk Linux serta sistem non-Windows lainnya. Dalam hal ini, ketika Realm yang berfokus pada Linux dan Realm Direktori Aktif dikonfigurasi untuk saling mempercayai, hal ini disebut "autentikasi lintas-realm".
Jika jaringan Anda menggunakan autentikasi lintas realm, Anda harus secara eksplisit menentukan entity utama Kerberos untuk MSSQL Server. Di kolom Parameter JDBC tambahan, tambahkan hal berikut:
;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 Connection Settings di Looker memerlukan entri di kolom Username dan Password, tetapi tidak wajib untuk Kerberos. Masukkan nilai tiruan di kolom ini.
Uji koneksi untuk memastikannya dikonfigurasi dengan benar.
Dukungan fitur
Agar Looker dapat mendukung beberapa fitur, dialek database Anda juga harus mendukung fitur tersebut.
Microsoft SQL Server 2008+ mendukung fitur berikut mulai Looker 24.6:
Fitur | Didukung? |
---|---|
Level Dukungan | Integrasi |
Looker (Google Cloud core) | Tidak |
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 | Tidak |
SSL | Ya |
Subtotal | Ya |
Parameter Tambahan JDBC | Ya |
Peka Huruf Besar/Kecil | Tidak |
Jenis Lokasi | Ya |
Jenis Daftar | Tidak |
Persentil | Tidak |
Persentil berbeda | Tidak |
Proses Tampilan Runner SQL | Ya |
Tabel Deskripsi Runner SQL | Ya |
Indeks Tampilan Runner SQL | Ya |
Pilihan Runner SQL 10 | Ya |
Jumlah Runner SQL | Ya |
Penjelasan SQL | Tidak |
Kredensial OAuth | Tidak |
Komentar Konteks | Ya |
Penggabungan Koneksi | Tidak |
Sketsa HLL | Tidak |
Awareness Gabungan | Ya |
PDT inkremental | Tidak |
Milidetik | Ya |
Mikrodetik | Ya |
Tampilan Terwujud | Tidak |
Perkiraan Jumlah Berbeda | Tidak |
Microsoft SQL Server 2016 mendukung fitur berikut mulai Looker 24.6:
Fitur | Didukung? |
---|---|
Level Dukungan | Didukung |
Looker (Google Cloud core) | Tidak |
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 | Tidak |
Jenis Lokasi | Ya |
Jenis Daftar | Tidak |
Persentil | Tidak |
Persentil berbeda | Tidak |
Proses Tampilan Runner SQL | Ya |
Tabel Deskripsi Runner SQL | Ya |
Indeks Tampilan Runner SQL | Ya |
Pilihan Runner SQL 10 | Ya |
Jumlah Runner SQL | Ya |
Penjelasan SQL | Tidak |
Kredensial OAuth | Tidak |
Komentar Konteks | Ya |
Penggabungan Koneksi | Tidak |
Sketsa HLL | Tidak |
Awareness Gabungan | Ya |
PDT inkremental | Tidak |
Milidetik | Ya |
Mikrodetik | Ya |
Tampilan Terwujud | Tidak |
Perkiraan Jumlah Berbeda | Tidak |
Microsoft SQL Server 2017+ mendukung fitur berikut mulai Looker 24.6:
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 | Tidak |
Jenis Lokasi | Ya |
Jenis Daftar | Tidak |
Persentil | Tidak |
Persentil berbeda | Tidak |
Proses Tampilan Runner SQL | Ya |
Tabel Deskripsi Runner SQL | Ya |
Indeks Tampilan Runner SQL | Ya |
Pilihan Runner SQL 10 | Ya |
Jumlah Runner SQL | Ya |
Penjelasan SQL | Tidak |
Kredensial OAuth | Tidak |
Komentar Konteks | Ya |
Penggabungan Koneksi | Tidak |
Sketsa HLL | Tidak |
Awareness Gabungan | Ya |
PDT inkremental | Tidak |
Milidetik | Ya |
Mikrodetik | Ya |
Tampilan Terwujud | Tidak |
Perkiraan Jumlah Berbeda | Tidak |