Menyediakan instance baru secara otomatis

Secara opsional, saat startup instance baru yang dihosting pelanggan Looker, Anda dapat otomatis menyediakan instance dengan kunci lisensi, URL host, dan akun pengguna awal.

Menyediakan instance baru secara otomatis dengan pengguna email

Saat startup awal, Looker memindai direktori looker, tempat file JAR berada, untuk file yang memiliki nama provision.yml. 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 mengganti kunci lisensi dan URL host yang ditetapkan di instance. Info pengguna akan diabaikan. Pendekatan ini berguna untuk mengupdate instance staging Looker dengan salinan baru database internal instance produksi, sekaligus mempertahankan kunci lisensi dan URL terpisah untuk server staging.

Menyediakan instance baru secara otomatis dengan pengguna API

Saat startup 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 rahasia klien yang akan dibaca dan disimpan Looker ke database. Persyaratan untuk kredensial ini adalah sebagai berikut:

  • Client ID harus memiliki panjang 20 karakter.
  • Rahasia klien harus memiliki panjang 24 karakter.
  • Kedua string harus dapat disertakan dalam isi permintaan POST; karena alasan ini, sebaiknya gunakan hanya karakter alfanumerik untuk client ID dan rahasia klien.

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 untuk membuat string tidak terlalu rentan error.

Anda juga dapat menggunakan perintah openssl untuk membuat string yang sesuai:

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 startup, 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 rahasia di luar file ini, karena file ini akan dihapus saat startup setelah instance Looker memproses dan membuat pengguna di database.

Saat startup, jika instance tidak memiliki pengguna, Looker akan membuat pengguna API admin Looker dengan kredensial ini dan menghapus file api-provision.yml dari disk.

Setelah login sebagai pengguna baru, Anda harus membuat setidaknya satu pengguna admin tambahan, karena pengguna API yang disediakan akan otomatis dihapus oleh Looker.

Penghapusan otomatis kredensial yang disediakan

Pengguna API yang disediakan hanya ditujukan untuk menyediakan instance baru; pengguna ini tidak dimaksudkan untuk tetap berada di instance Anda tanpa batas waktu.

Looker otomatis menghapus pengguna API yang disediakan setelah salah satu kondisi berikut terpenuhi:

  • Pengguna admin selain pengguna API yang disediakan telah login ke instance.
  • 50 menit telah berlalu sejak pengguna API yang disediakan pertama kali login.

Oleh karena itu, Anda harus membuat setidaknya satu pengguna admin tambahan segera setelah login sebagai pengguna yang disediakan untuk pertama kalinya.