Menyediakan instance baru secara otomatis

Secara opsional, saat memulai instance yang dihosting pelanggan Looker baru, Anda dapat menyediakan instance secara otomatis 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 mencari 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 benar-benar 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 apa pun yang ditetapkan di instance. Info pengguna akan diabaikan. Pendekatan ini berguna untuk memperbarui instance penyiapan Looker dengan salinan baru database internal instance produksi, sekaligus mempertahankan kunci lisensi dan URL terpisah untuk server penyiapan.

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

  • ID klien harus memiliki panjang 20 karakter.
  • Panjang rahasia klien harus 24 karakter.
  • Kedua string harus dapat disertakan dalam isi permintaan POST; oleh karena itu, sebaiknya Anda hanya menggunakan 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 terhadap 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 dihapus secara otomatis 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 akan 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 Anda login sebagai pengguna yang disediakan untuk pertama kalinya.