Optional: Beim Start einer neuen Looker-Instanz können Sie die Instanz automatisch mit einem Lizenzschlüssel, einer Host-URL und einem anfänglichen Nutzerkonto bereitstellen.
Neue Instanz automatisch mit einem E-Mail-Nutzer bereitstellen
Beim ersten Start sucht Looker nach einer Datei namens provision.yml
im Verzeichnis looker
, in dem sich die JAR-Datei befindet. Das Format dieser Datei ist:
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"
Wenn die Looker-Instanz neu ist und noch nicht eingerichtet wurde, wird sie mit dem angegebenen Lizenzschlüssel und einem Nutzerkonto mit den angegebenen Informationen bereitgestellt.
Wenn der Looker bereits bereitgestellt wurde, überschreiben der Lizenzschlüssel und die Host-URL die Werte, die derzeit festgelegt sind. Die Nutzerinformationen werden ignoriert. Das ist nützlich, um eine Staging-Instanz von Looker mit einer neuen Kopie der internen Datenbank einer Produktionsinstanz zu aktualisieren, während Sie weiterhin einen separaten Lizenzschlüssel und eine separate URL für den Staging-Server verwalten.
Neue Instanz automatisch mit einem API-Nutzer bereitstellen
Beim Start einer neuen Looker-Instanz können Sie einen ersten API-Nutzer programmatisch bereitstellen. Sie können einen API-Nutzer ODER einen E-Mail-Nutzer bereitstellen. Looker unterstützt jedoch nicht gleichzeitig die Bereitstellung eines API-Nutzers und eines E-Mail-Nutzers.
API-Anmeldedaten generieren
Generieren Sie zum Bereitstellen eines API-Nutzers eine Client-ID und einen Clientschlüssel, die von Looker gelesen und in der Datenbank gespeichert werden. Für diese Anmeldedaten gelten die folgenden Anforderungen:
- Die Client-ID muss 20 Zeichen lang sein.
- Der Clientschlüssel muss 24 Zeichen lang sein.
- Beide Strings müssen im Text einer
POST
-Anfrage enthalten sein. Deshalb wird empfohlen, nur alphanumerische Zeichen zu verwenden.
In Looker werden beispielsweise diese Anmeldedaten programmatisch verwendet:
require 'securerandom'
TOKEN_SYMBOLS = "bcdfghjkmnpqrstvwxyzBCDFGHJKMNPQRSTVWXYZ23456789".freeze
def generate_token(size)
Array.new(size).map { TOKEN_SYMBOLS[SecureRandom.random_number(TOKEN_SYMBOLS.size)] }.join
end
Der obige Code vermeidet mehrdeutige Zeichen, um die Strings weniger fehleranfällig zu machen.
Mit dem Befehl openssl
können Sie auch geeignete Strings generieren:
openssl rand -hex 10
Die Zahl am Ende des Befehls openssl
ist die Anzahl der Byte im String. Verwende also 10
für die Client-ID und 12
für den Clientschlüssel.
API-Nutzer bereitstellen
Wenn du einen API-Nutzer beim Start bereitstellen möchtest, brauchst du eine provision.yml
-Datei, die deinen Lizenzschlüssel und deine Host-URL im Verzeichnis looker
enthält. Beispiel:
license_key: "1234-5678-ABCD-EFGH-IJKL"
host_url: "https://looker.mycompany.com"
Erstellen Sie im Verzeichnis looker
eine Datei namens api-provision.yml
mit den Berechtigungen 0600
, die die API-Nutzerinformationen enthält. Beispiel:
user:
first_name: "Ariel"
last_name: "Q"
client_id: "M9hZb8vRh9bSZzdPxw42"
client_secret: "NMnqBVbHqPsPzTvbZk6xZfV3"
Sie sollten diese Anmeldedaten in einem Secret-Manager außerhalb dieser Datei speichern, da diese Datei beim Start entfernt wird, sobald die Looker-Instanz den Nutzer verarbeitet und in der Datenbank erstellt hat.
Wenn die Instanz beim Start leer ist und keine Nutzer vorhanden sind, erstellt Looker einen Looker Admin API-Nutzer mit diesen Anmeldedaten und entfernt die Datei api-provision.yml
vom Laufwerk.
Sie haben dann 30 Minuten Zeit, um mit diesen Anmeldedaten zusätzliche Bereitstellungen durchzuführen, bevor die Anmeldedaten aus der internen Datenbank entfernt werden und nicht mehr verwendet werden können. Wenn Sie diese ersten Anmeldedaten entfernen, werden keine langlebige Backdoor für die Anwendung erstellt und der vorgesehene Anwendungsfall wird streng auf die Bereitstellung beschränkt.