Optional können Sie beim Start einer neuen, vom Kunden gehosteten Looker-Instanz die Instanz automatisch mit einem Lizenzschlüssel, einer Host-URL und einem anfänglichen Nutzerkonto bereitstellen.
Neue Instanz automatisch für einen E-Mail-Nutzer bereitstellen
Beim ersten Start sucht Looker im Verzeichnis looker
, in dem sich die JAR-Datei befindet, nach einer Datei mit dem Namen provision.yml
. Diese Datei hat folgendes Format:
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 ganz neu ist und noch nicht eingerichtet wurde, erhält sie den angegebenen Lizenzschlüssel und ein Benutzerkonto mit den bereitgestellten Informationen.
Wurde Looker bereits bereitgestellt, überschreiben die Werte für den Lizenzschlüssel und die Host-URL den aktuell festgelegten Lizenzschlüssel und die Host-URL. Die Nutzerinformationen werden ignoriert. Dies ist nützlich, um eine Staging-Instanz von Looker mit einer neuen Kopie der internen Datenbank einer Produktionsinstanz zu aktualisieren und gleichzeitig einen separaten Lizenzschlüssel und eine separate URL für den Staging-Server beizubehalten.
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 nicht die gleichzeitige 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 Looker auslesen und in der Datenbank speichern. 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 in den Text einer
POST
-Anfrage aufgenommen werden können. Daher wird empfohlen, nur alphanumerische Zeichen zu verwenden.
Looker verwendet beispielsweise 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
Mit diesem Code werden mehrdeutige Zeichen vermieden, um die Zeichenfolgen 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 bereitstellen
Um einen API-Nutzer beim Start bereitzustellen, 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: "Ariel"
last_name: "Q"
client_id: "M9hZb8vRh9bSZzdPxw42"
client_secret: "NMnqBVbHqPsPzTvbZk6xZfV3"
Wir empfehlen, diese Anmeldedaten in einem Secret Manager außerhalb dieser Datei zu speichern, da diese Datei beim Start entfernt wird, sobald die Looker-Instanz den Benutzer in der Datenbank verarbeitet und erstellt hat.
Wenn die Instanz beim Start leer ist und keine Nutzer vorhanden sind, erstellt Looker beim Start einen Looker Admin API-Nutzer mit diesen Anmeldedaten und entfernt die api-provision.yml
-Datei vom Laufwerk.
Sie haben dann 30 Minuten Zeit, um diese Anmeldedaten für zusätzliche Bereitstellungen zu verwenden, bevor die Anmeldedaten aus der internen Datenbank entfernt werden und nicht mehr verwendet werden können. Wenn Sie diese anfänglichen Anmeldedaten entfernen, wird keine langlebige Backdoor in der Anwendung erstellt und der vorgesehene Anwendungsfall bleibt ausschließlich für die Bereitstellung erhalten.