Optional können Sie beim Start einer neuen Looker-Instanz 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 mit dem Namen provision.yml
im Verzeichnis looker
, in dem sich die JAR-Datei befindet. Das Format für diese Datei ist:
license_key: "1234-5678-ABCD-EFGH-IJKL"
host_url: "https://looker.mycompany.com"
user:
first_name: "Katie"
last_name: "Woolsey"
email: "kwoolsey@benaventi.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 bereitgestellten Informationen bereitgestellt.
Wenn Looker bereits bereitgestellt wurde, werden durch den Lizenzschlüssel und die Host-URL die Werte überschrieben, die aktuell festgelegt sind. Die Nutzerinformationen werden ignoriert. Dies ist nützlich, um eine Staging-Instanz von Looker mit einer neuen Kopie einer internen Datenbank einer Produktionsinstanz zu aktualisieren, während gleichzeitig ein separater Lizenzschlüssel und eine separate URL für den Staging-Server beibehalten werden.
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, aber Looker unterstützt die gleichzeitige Bereitstellung eines API-Nutzers und eines E-Mail-Nutzers nicht.
API-Anmeldedaten werden generiert
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 folgende Voraussetzungen:
- 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 können. Wir empfehlen daher, nur alphanumerische Zeichen zu verwenden.
Beispielsweise verwendet Looker den folgenden Code, um diese Anmeldedaten programmatisch zu generieren:
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 uneindeutige Zeichen, um die Strings weniger fehleranfällig zu machen.
Sie können auch geeignete Strings mit dem Befehl openssl
generieren:
openssl rand -hex 10
Die Zahl am Ende des Befehls openssl
ist die Anzahl der Byte im String. Verwenden Sie daher 10
für die Client-ID und 12
für den Clientschlüssel.
API-Nutzer wird bereitgestellt
Wenn Sie einen API-Nutzer beim Start bereitstellen möchten, benötigen Sie eine provision.yml
-Datei, die Ihren Lizenzschlüssel und Ihre 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: "Katie"
last_name: "Woolsey"
client_id: "M9hZb8vRh9bSZzdPxw42"
client_secret: "NMnqBVbHqPsPzTvbZk6xZfV3"
Wir empfehlen, diese Anmeldedaten in einem geheimen Manager außerhalb dieser Datei zu speichern, da diese Datei beim Start entfernt wird, sobald die Looker-Instanz den Nutzer in der Datenbank verarbeitet und 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 eine zusätzliche Bereitstellung durchzuführen. Anschließend werden die Anmeldedaten aus der internen Datenbank entfernt und können nicht mehr verwendet werden. Wenn Sie diese ersten Anmeldedaten entfernen, wird keine langlebige Backdoor für die Anwendung erstellt und der vorgesehene Anwendungsfall wird ausschließlich auf die Bereitstellung beschränkt.