Se vuoi, all'avvio di una nuova istanza ospitata dal cliente di Looker, puoi eseguire automaticamente il provisioning dell'istanza con una codice licenza, un URL host e un account utente iniziale.
Provisioning automatico di una nuova istanza con un utente email
All'avvio iniziale, Looker esegue la scansione della directory looker
, in cui si trova il file JAR, per un file con il nome provision.yml
. Il formato di questo file è il seguente:
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"
Se l'istanza di Looker è nuova e non è ancora stata configurata, verrà eseguito il provisioning con la codice licenza specificata e un account utente con le informazioni fornite.
Se Looker è già stato eseguito il provisioning, i valori della codice licenza e dell'URL host sostituiranno quelli impostati nell'istanza. Le informazioni utente verranno ignorate. Questo approccio è utile per aggiornare un'istanza di staging di Looker con una nuova copia del database interno di un'istanza di produzione, mantenendo comunque una codice licenza e un URL separati per il server di staging.
Eseguire automaticamente il provisioning di una nuova istanza con un utente API
All'avvio di una nuova istanza di Looker, puoi eseguire il provisioning di un utente API iniziale in modo programmatico. Puoi eseguire il provisioning di un utente API o di un utente email, ma Looker non supporta il provisioning di un utente API e di un utente email contemporaneamente.
Generazione delle credenziali API
Per eseguire il provisioning di un utente API, genera un ID client e un client secret che Looker leggerà e salverà nel database. I requisiti per queste credenziali sono i seguenti:
- L'ID client deve contenere 20 caratteri.
- Il client secret deve avere una lunghezza di 24 caratteri.
- Entrambe le stringhe devono poter essere incluse nel corpo di una richiesta
POST
; per questo motivo, ti consigliamo di utilizzare solo caratteri alfanumerici per l'ID client e il client secret.
Ad esempio, Looker utilizza il seguente codice per generare queste credenziali in modo programmatico:
require 'securerandom'
TOKEN_SYMBOLS = "bcdfghjkmnpqrstvwxyzBCDFGHJKMNPQRSTVWXYZ23456789".freeze
def generate_token(size)
Array.new(size).map { TOKEN_SYMBOLS[SecureRandom.random_number(TOKEN_SYMBOLS.size)] }.join
end
Questo codice evita caratteri ambigui per rendere le stringhe meno soggette a errori.
Puoi anche utilizzare il comando openssl
per generare stringhe adatte:
openssl rand -hex 10
Il numero alla fine del comando openssl
è il numero di byte nella stringa, quindi utilizza 10
per l'ID client e 12
per il client secret.
Provisioning dell'utente API
Per eseguire il provisioning di un utente API all'avvio, assicurati di avere un file provision.yml
che includa la codice licenza e l'URL host nella directory looker
. Ad esempio:
license_key: "1234-5678-ABCD-EFGH-IJKL"
host_url: "https://looker.mycompany.com"
Crea un file denominato api-provision.yml
con le autorizzazioni 0600
nella directory looker
che include le informazioni sull'utente API. Ad esempio:
user:
first_name: "Ariel"
last_name: "Q"
client_id: "M9hZb8vRh9bSZzdPxw42"
client_secret: "NMnqBVbHqPsPzTvbZk6xZfV3"
Ti consigliamo di archiviare queste credenziali in un secret manager al di fuori di questo file, poiché questo file verrà rimosso all'avvio una volta che l'istanza di Looker avrà elaborato e creato l'utente nel database.
All'avvio, se l'istanza non ha utenti, Looker crea un utente API amministratore di Looker con queste credenziali e rimuove il file api-provision.yml
dal disco.
Dopo aver eseguito l'accesso come nuovo utente, devi creare almeno un altro utente amministratore, poiché l'utente API di cui è stato eseguito il provisioning verrà eliminato automaticamente da Looker.
Eliminazione automatica delle credenziali di cui è stato eseguito il provisioning
L'utente API di cui è stato eseguito il provisioning è destinato solo al provisioning di una nuova istanza e non deve rimanere nella tua istanza a tempo indeterminato.
Looker elimina automaticamente l'utente API di cui è stato eseguito il provisioning dopo che è stata soddisfatta una delle seguenti condizioni:
- Un utente amministratore diverso dall'utente API di cui è stato eseguito il provisioning ha eseguito l'accesso all'istanza.
- Sono trascorsi 50 minuti dal primo accesso dell'utente API di cui è stato eseguito il provisioning.
Pertanto, è importante creare almeno un altro utente amministratore subito dopo aver eseguito l'accesso come utente di provisioning per la prima volta.