Looker verwendet AES-256 Galois/Counter Mode (GCM)-Verschlüsselung, um Daten intern zu verschlüsseln. Jedes Datenelement wird mit einem eindeutigen Datenschlüssel verschlüsselt und enthält einen signierten und versionierten Verschlüsselungsumschlag. In diesem Modus muss ein externer Customer Master Key (CMK) verwendet werden. Der CMK wird zum Ableiten, Verschlüsseln und Entschlüsseln des Key Encryption Key (KEK) verwendet, der wiederum zum Ableiten, Verschlüsseln und Entschlüsseln von Datenschlüsseln verwendet wird.
Vom Kunden gehostete Installationen, die die Legacy-Verschlüsselung verwenden, müssen ihre internen Datenbanken zur AES-256-GCM-Verschlüsselung migrieren. Neu vom Kunden gehostete Installationen müssen ihre Installationen für die AES-256-GCM-Verschlüsselung konfigurieren. Eine Anleitung zur Migration oder Konfiguration der vom Kunden gehosteten Installation für die AES-256-GCM-Verschlüsselung finden Sie auf der Dokumentationsseite AES-256-GCM-Verschlüsselung verwenden.
Wenn Sie Ihren CMK ändern oder von einer lokalen schlüsselbasierten Konfiguration in eine AWS KMS-Konfiguration (oder umgekehrt) wechseln möchten, können Sie dazu einen neuen CMK erstellen und Ihre AES-256-GCM-Verschlüsselung neu verschlüsseln.
Die Umschlüsselung erfolgt offline. Die Looker-Instanz muss also heruntergefahren werden. Bei geclusterten Looker-Instanzen müssen alle Knoten des Clusters heruntergefahren werden.
Durch die Neuschlüsselung wird der gesamte Looker-Cache auf dem Laufwerk einschließlich des Abfrageergebnisses gelöscht. Nach dem Neuschlüsseln und dem Starten der Instanz kann es bei den Clientdatenbanken zu einer höheren Belastung als üblich kommen.
Führen Sie die folgenden Schritte aus, um die AES-256-GCM-Verschlüsselung neu zu definieren:
- Looker beenden und vollständige Sicherung erstellen
- Umgebungsvariablen
_SOURCE
und_DESTINATION
festlegen - Befehl
rekey
ausführen - Neue Umgebungsvariablen festlegen
- Looker starten
Looker beenden und vollständige Sicherung erstellen
Führen Sie folgende Befehle aus:
cd looker
./looker stop
tar -zcvf /tmp/looker-pre-encrypt.tar.gz /home/lookerops/looker --exclude=.cache --exclude=log --exclude=.tmp --exclude=.snapshots --exclude=looker.jar --exclude=authorized_keys --exclude=dr-log --exclude=core
Wenn Sie eine externe MySQL-Datenbank zum Speichern von Looker-Anwendungsdaten ausführen, sichern Sie die Datenbank separat. Wenn die Datenbank eine MySQL-Instanz ist, erstellen Sie einen Snapshot. Die Datenbank ist relativ klein, deshalb sollte sie nur ein paar Minuten dauern.
Wenn Looker geclustert ist, müssen Sie jeden Knoten beenden, bevor Sie fortfahren:
cd looker
./looker stop
Wenn noch Knoten ausgeführt werden, wenn Sie später den Befehl rekey
ausführen, schlägt der Befehl fehl und es wird die Meldung „Es sind andere Liveknoten mit dieser Back-End-Datenbank in Looker verbunden.“ angezeigt. Wenn Looker in der letzten Minute heruntergefahren wurde, versuchen Sie es später noch einmal. Prüfen Sie andernfalls, ob alle Knoten im Cluster heruntergefahren wurden.
Umgebungsvariablen _SOURCE
und _DESTINATION
festlegen
Bei der ersten Migration Ihrer Looker-Instanz zu AES-256 GCM-Verschlüsselung wurde mindestens eine Umgebungsvariable erstellt, die angibt, wo Looker Ihre CMK finden kann. Diese Variablen unterscheiden sich je nachdem, ob Sie AWS KMS verwenden.
Der Neuschlüsselvorgang verwendet zusätzliche Umgebungsvariablen, je nachdem, ob Sie derzeit AWS KMS verwenden und ob Sie nach dem Neuschlüsselvorgang AWS KMS verwenden. Umgebungsvariablen mit dem Suffix _SOURCE
geben an, wo Looker derzeit Ihre CMK finden kann. Umgebungsvariablen geben mit dem Suffix _DESTINATION
an, wo Looker Ihre CMK nach dem Neuschlüsselvorgang finden kann.
_SOURCE
Variablen werden festgelegt
Führen Sie einen der folgenden Schritte aus, je nachdem, ob Ihre aktuelle Konfiguration AWS KMS verwendet.
Wenn Sie derzeit AWS KMS verwenden
Wenn Sie die Verschlüsselung anfangs mit AWS KMS konfiguriert haben, haben Sie mindestens eine der folgenden Umgebungsvariablen erstellt:
LKR_AWS_CMK
: Speichert die AWS-CMK_alias
.LKR_AWS_CMK_EC
: Eine optionale Variable, die den Verschlüsselungskontext definiert, der mit AWS KMS-Schlüsselspeichern verwendet wird.
Erstellen Sie die obigen Umgebungsvariablen neu:
export LKR_AWS_CMK=alias/<CMK_alias>
export LKR_AWS_CMK_EC=<encryption_context>
Erstellen Sie dann die _SOURCE
-Variablen. Legen Sie die folgenden neuen Variablen mit dem Suffix _SOURCE
fest:
export LKR_AWS_CMK_SOURCE=alias/<CMK_alias>
export LKR_AWS_CMK_EC_SOURCE=<encryption_context>
Wenn Sie derzeit nicht AWS KMS verwenden
Wenn Sie die Verschlüsselung zu Beginn mit einem anderen KMS als AWS konfiguriert haben, haben Sie eine der folgenden Umgebungsvariablen erstellt, je nachdem, ob Sie Ihren CMK in einer Umgebungsvariablen oder in einer Datei auf Ihrer Instanz speichern:
LKR_MASTER_KEY_ENV
: Wenn Sie die CMK in einer Umgebungsvariablen speichern, wird sie gespeichert.LKR_MASTER_KEY_FILE
: Wenn Sie Ihr CMK in einer Datei speichern, werden der Pfad und der Dateiname der Datei mit dem CMK gespeichert.
Erstellen Sie die für Ihre Konfiguration verwendete Umgebungsvariable:
export LKR_MASTER_KEY_FILE=<path_to_key_file>
oder:
export LKR_MASTER_KEY_ENV=<CMK_value>
Erstellen Sie dann die Variable _SOURCE
.
Wenn Sie Ihren CMK in einer Datei speichern, erstellen Sie die folgende Variable:
export LKR_MASTER_KEY_FILE_SOURCE=<path_to_key_file>
Wenn Sie Ihre CMK in einer Umgebungsvariablen speichern, erstellen Sie die folgende Variable:
export LKR_MASTER_KEY_ENV_SOURCE=<CMK_value>
_DESTINATION
Variablen werden festgelegt
Führen Sie einen der folgenden Schritte aus, je nachdem, ob Sie AWS KMS nach dem Neuschlüsselvorgang verwenden werden.
In Ihrer neuen Konfiguration wird AWS KMS verwendet
Wenn in Ihrer neuen Konfiguration AWS KMS verwendet wird, erstellen Sie die folgenden Umgebungsvariablen, um den neuen CMK-Speicherort anzugeben:
export LKR_AWS_CMK_DESTINATION=alias/<new_CMK_alias>
export LKR_AWS_CMK_EC_DESTINATION=<new_encryption_context>
In Ihrer neuen Konfiguration wird AWS KMS nicht verwendet
Wenn in Ihrer neuen Konfiguration AWS KMS nicht verwendet wird, können Sie die Variablen LKR_MASTER_KEY_FILE_DESTINATION
oder LKR_MASTER_KEY_ENV_DESTINATION
verwenden, um das CMK-Ziel anzugeben.
Wenn Sie Ihr CMK in einer Datei speichern möchten, geben Sie den folgenden Befehl ein:
export LKR_MASTER_KEY_FILE_DESTINATION=<path_to_new_key_file>
Wenn Sie den CMK mit einer Umgebungsvariablen speichern möchten, geben Sie folgenden Befehl ein:
export LKR_MASTER_KEY_ENV_DESTINATION=<CMK_value>
Befehl rekey
ausführen
Führen Sie dazu folgenden Befehl aus:
./looker rekey
Neue Umgebungsvariablen festlegen
Legen Sie eine oder mehrere der folgenden Umgebungsvariablen für Ihre neue Konfiguration fest.
Wenn Ihre neue Konfiguration AWS KMS verwendet:
export LKR_AWS_CMK=alias/<new_CMK_alias>
export LKR_AWS_CMK_EC=<new_encryption_context>
Wenn in Ihrer neuen Konfiguration nicht AWS KMS verwendet wird und Sie Ihre CMK in einer Umgebungsvariablen speichern:
export LKR_MASTER_KEY_ENV=<CMK_value>
Wenn in Ihrer neuen Konfiguration nicht AWS KMS verwendet wird und Sie Ihren CMK in einer Datei speichern:
export LKR_MASTER_KEY_FILE=<path_to_CMK_file>
Wenn Sie von einem lokal gespeicherten Schlüssel zu AWS KMS oder von AWS-KMS zu einem lokal gespeicherten Schlüssel verschoben haben, haben Sie unnötige Umgebungsvariablen aus Ihrer vorherigen Konfiguration. Löschen Sie die alten Umgebungsvariablen.
Wenn Sie von einem lokal gespeicherten Schlüssel zu AWS KMS migriert haben:
unset LKR_MASTER_KEY_FILE
Wenn Sie von AWS KMS zu einem lokal gespeicherten Schlüssel migriert haben:
unset LKR_AWS_CMK
unset LKR_AWS_CMK_EC
Looker starten
Führen Sie dazu folgenden Befehl aus:
./looker start