Secara opsional, saat memulai instance Looker baru yang dihosting pelanggan, Anda dapat menyediakan instance secara otomatis dengan kunci lisensi, URL host, dan akun pengguna awal.
Menyediakan instance baru secara otomatis dengan pengguna email
Saat pertama kali dimulai, Looker akan memindai file bernama provision.yml
di direktori looker
, tempat file JAR berada. Format untuk file ini adalah sebagai berikut:
license_key: "1234-5678-ABCD-EFGH-IJKL"
host_url: "https://looker.mycompany.com"
user:
first_name: "Ariel"
last_name: "Q"
email: "arielq@altostrat.com"
password: "password123"
Jika instance Looker baru dan belum disiapkan, instance tersebut akan disediakan dengan kunci lisensi yang diberikan dan akun pengguna dengan informasi yang diberikan.
Jika Looker telah disediakan, nilai kunci lisensi dan URL host akan menggantikan kunci lisensi dan URL host yang saat ini ditetapkan. Info pengguna akan diabaikan. Hal ini berguna untuk mengupdate instance staging Looker dengan salinan baru database internal instance produksi, sambil tetap mempertahankan kunci lisensi dan URL terpisah untuk server staging.
Menyediakan instance baru secara otomatis dengan pengguna API
Saat memulai instance Looker baru, Anda dapat menyediakan pengguna API awal secara terprogram. Anda dapat menyediakan pengguna API ATAU pengguna email, tetapi Looker tidak mendukung penyediaan pengguna API dan pengguna email secara bersamaan.
Membuat kredensial API
Untuk menyediakan pengguna API, buat client ID dan secret klien yang akan dibaca dan disimpan Looker ke database. Persyaratan untuk kredensial ini adalah:
- Panjang ID klien harus 20 karakter.
- Panjang secret klien harus 24 karakter.
- Kedua string harus dapat disertakan dalam isi permintaan
POST
, sehingga sebaiknya gunakan hanya karakter alfanumerik.
Misalnya, Looker menggunakan kode berikut untuk membuat kredensial ini secara terprogram:
require 'securerandom'
TOKEN_SYMBOLS = "bcdfghjkmnpqrstvwxyzBCDFGHJKMNPQRSTVWXYZ23456789".freeze
def generate_token(size)
Array.new(size).map { TOKEN_SYMBOLS[SecureRandom.random_number(TOKEN_SYMBOLS.size)] }.join
end
Kode ini menghindari karakter ambigu agar string tidak terlalu rentan terhadap error.
Anda juga dapat membuat string yang sesuai menggunakan perintah openssl
:
openssl rand -hex 10
Angka di akhir perintah openssl
adalah jumlah byte dalam string, jadi gunakan 10
untuk client ID dan 12
untuk rahasia klien.
Menyediakan pengguna API
Untuk menyediakan pengguna API saat memulai, pastikan Anda memiliki file provision.yml
yang menyertakan kunci lisensi dan URL host di direktori looker
. Contoh:
license_key: "1234-5678-ABCD-EFGH-IJKL"
host_url: "https://looker.mycompany.com"
Buat file bernama api-provision.yml
dengan izin 0600
di direktori looker
yang menyertakan informasi pengguna API. Contoh:
user:
first_name: "Ariel"
last_name: "Q"
client_id: "M9hZb8vRh9bSZzdPxw42"
client_secret: "NMnqBVbHqPsPzTvbZk6xZfV3"
Sebaiknya simpan kredensial ini di pengelola secret di luar file ini, karena file ini akan dihapus saat startup setelah instance Looker memproses dan membuat pengguna di database.
Saat memulai, jika instance kosong dan tidak ada pengguna, Looker akan membuat pengguna API admin Looker dengan kredensial ini dan menghapus file api-provision.yml
dari disk.
Kemudian, Anda memiliki waktu 30 menit untuk menggunakan kredensial ini guna melakukan penyediaan tambahan sebelum kredensial dihapus dari database internal dan tidak dapat digunakan lagi. Menghapus kredensial awal ini akan menghindari pembuatan backdoor yang berumur panjang ke dalam aplikasi dan menjaga kasus penggunaan yang diinginkan hanya untuk penyediaan.