AWS-Schlüsselverwaltungssystem (KMS)
Tableau Server verfügt über drei Schlüsselverwaltungsoptionen, mit denen Sie die Verschlüsselung im Ruhezustand aktivieren können. Zwei davon erfordern Advanced Management (zuvor Server Management-Add-on), während eine lokale Möglichkeit bei allen Installationen von Tableau Server verfügbar ist.
Ab Version 2019.3 verfügt Tableau Server über die folgenden Schlüsselverwaltungsoptionen:
- Eine lokale Schlüsselverwaltungsoption, das für alle Installationen verfügbar ist. Ausführliche Informationen finden Sie unter Tableau Server-Schlüsselverwaltungssystem.
- Ein AWS-basiertes Schlüsselverwaltungssystem, das als Teil von Advanced Management verwendet wird. Dies wird im Folgenden beschrieben.
Ab Version 2021.1 verfügt Tableau Server über eine weitere Schlüsselverwaltungsoption:
- Ein Azure-basiertes Schlüsselverwaltungssystem, das als Teil von Advanced Management verwendet wird. Weitere Informationen finden Sie unter Azure Key Vault.
Ab der Version 2019.3 unterstützt Tableau Server das AWS-Schlüsselverwaltungssystem (KMS) als Teil von Advanced Management.
AWS KMS für die Verschlüsselung im Ruhezustand
AWS KMS ist als Teil von Advanced Management in Tableau Server verfügbar. Für weitere Informationen siehe Über Tableau Advanced Management in Tableau Server.
Wenn Ihr Unternehmen die Datenextraktverschlüsselung im Ruhezustand bereitstellt, können Sie Tableau Server optional so konfigurieren, dass AWS als KMS für die Extraktverschlüsselung verwendet wird. Um AWS KMS zu aktivieren, müssen Sie Tableau Server in AWS EC2 bereitstellen. Im AWS-Szenario verwendet Tableau Server den AWS KMS CMK (Customer Master Key, primärer Kundenschlüssel), um einen AWS-Datenschlüssel(Link wird in neuem Fenster geöffnet) zu generieren. Tableau Server verwendet den AWS-Datenschlüssel als primären Root-Schlüssel (RMK, Root Master Key) für alle verschlüsselten Extrakte. Selbst wenn sie für AWS KMS konfiguriert sind, werden der native Java-Keystore und das lokale KMS weiterhin für die sichere Speicherung von Geheimnissen auf dem Tableau Server verwendet. Das AWS KMS wird nur zur Verschlüsselung des primären Root-Schlüssels (RMK, Root Master Key) für verschlüsselte Extrakte verwendet.
Die Verwendung von AWS zur Verschlüsselung des primären Root-Schlüssels (RMK) bietet bessere Sicherheitseigenschaften, da der primäre Schlüssel nicht unter den gleichen Berechtigungen wie die Extrakte gespeichert wird.
Die Schlüsselhierarchie bei der Konfiguration von Tableau Server mit AWS KMS
AWS KMS für verschlüsselte Extrakte von Tableau Server konfigurieren
Um den AWS CMK (primärer Kundenschlüssel) zur Verschlüsselung des primären Schlüssels in der Tableau Server KMS-Hierarchie zu verwenden, müssen Sie Tableau Server wie in diesem Abschnitt beschrieben konfigurieren.
Stellen Sie sicher, dass Sie die folgenden Anforderungen erfüllen, bevor Sie beginnen:
- Tableau Server muss in AWS EC2 bereitgestellt sein
- Der Tableau Server muss mit einer Advanced Management Lizenz konfiguriert sein. Siehe Über Tableau Advanced Management in Tableau Server.
- Sie müssen die administrative Kontrolle über einen primären Kundenschlüssel (Customer Master Key, CMK) besitzen, der im AWS Key Management Service (AWS-Schlüsselverwaltungsdienst) erstellt wurde.
Schritt 1: Erstellen Sie CMK und legen Sie die Schlüsselrichtlinie für Tableau Server in AWS fest
Die folgenden Schritte werden im AWS KMS-Service durchgeführt. Referenzen sind in der AWS-Dokumentation enthalten.
- Erstellen Sie das CMK, das Sie für den Tableau Server verwenden werden. Siehe die AWS-Themenseite, Erstellen von Schlüsseln(Link wird in neuem Fenster geöffnet).
- Aktualisieren Sie die IAM-Rolle der Serverinstanz.
Tableau Server muss in der Lage sein, sich mit AWS KMS über die IAM-Rolle der Instanz zu authentifizieren. Der Rolle muss eine Richtlinie zugeordnet sein. Die Richtlinie sollte den Instanzen die Berechtigung geben, die Aktionen "GenerateDataKey" und "Decrypt" auf dem CMK aufzurufen. Siehe IAM-Rollen für Amazon EC2(Link wird in neuem Fenster geöffnet)..
In einer Multiknoten-Bereitstellung von Tableau Server müssen alle Knoten des Servers unter Rollen laufen, denen diese Richtlinie (oder eine gleichwertige) zugeordnet ist. Sie können allen Knoten im Cluster die gleiche Rolle zuweisen.
- Das CMK muss mindestens über eine Schlüsselrichtlinie verfügen, in der der
Effect
aufAllow
Prinicpal
(die den Serverinstanzen zugewiesene IAM-Rolle) dieAction
:GenerateDataKey
undDecrypt
gesetzt ist. Siehe Verwendung von Schlüsselrichtlinien in AWS KMS(Link wird in neuem Fenster geöffnet).
Schritt 2: AWS-Konfigurationsparameter erfassen
Sie benötigen die vollständige ARN-Zeichenkette von AWS KMS. Diese Zeichenkette befindet sich im Abschnitt "Allgemeine Konfiguration" auf den AWS KMS-Verwaltungsseiten. Die ARN wird in folgendem Format präsentiert: arn:aws:kms:<region>:<account>:key/<CMK_ID>, z. B., arn:aws:kms:us-west-2:867530990073:key/1abc23de-fg45-6hij-7k89-1l0mn1234567
.
Sie müssen auch die AWS-Region angeben, die ebenfalls in der ARN-Zeichenkette enthalten ist. Im folgenden Beispiel lautet die Region us-west-2
. Die Region ist der Ort, an dem sich Ihre KMS-Instanz befindet. Im nächsten Schritt müssen Sie eine Region angeben, wie sie in der Spalte Region in der Tabelle Amazon API Gateway(Link wird in neuem Fenster geöffnet)angezeigt wird.
Schritt 3: Tableau Server für AWS KMS konfigurieren
Führen Sie den folgenden Befehl auf Tableau Server aus. Mit diesem Befehl wird der Server neu gestartet:
tsm security kms set-mode aws --aws-region "<region>" --key-arn "arn:aws:kms:<region>:<account_number>:key/<CMK_ID>"
Die Option
--key-arn
übernimmt eine direkte Zeichenkettenkopie vom ARN im Abschnitt "Allgemeine Konfiguration" auf den AWS KMS-Verwaltungsseiten.Wenn Ihre AWS KMS-Instanz beispielsweise in der Region us-west-2 läuft, Ihre Kontonummer 867530990073 ist und Ihr CMK-Schlüssel 1abc23de-fg45-6hij-7k89-1l0mn1234567 ist, dann lautet der Befehl wie folgt:
tsm security kms set-mode aws --aws-region "us-west-2" --key-arn "arn:aws:kms:us-west-2:867530990073:key/1abc23de-fg45-6hij-7k89-1l0mn1234567"
Schritt 4: Verschlüsselung im Ruhezustand aktivieren
Siehe Extrahieren der Verschlüsselung im Ruhezustand.
Schritt 5: Installation validieren
Führen Sie den folgenden Befehl aus:
tsm security kms status
Die folgenden Informationen können zurückgegeben werden:
- Die ARN (ID) des CMKs (Customer Master Key, primärer Kundenschlüssel)
- Die Region, in der sich das CMK befindet
- Die ID des verwendeten RMKs (Root Master Key, primärer Root-Schlüssel). Die RMK ist ein Schlüssel, der vom CMK verschlüsselt wird. Tableau Server entschlüsselt das CMK, indem er AWS KMS anruft. Mit dem RMK wird dann der MEK ver- und entschlüsselt. Die RMK kann sich ändern, aber es wird immer nur jeweils eine geben.
- KMS speichert eine Sammlung von primären Extrakt-Schlüsseln (Master Extract Keys, MEKs). Jeder MEK hat:
- Eine ID, z. B. 8ddd70df-be67-4dbf-9c35-1f0aa2421521
- Entweder den Status "Schlüssel verschlüsseln oder entschlüsseln" oder "Schlüssel nur entschlüsseln". Wenn ein Schlüssel "verschlüsselt oder entschlüsselt" ist, verschlüsselt Tableau Server neue Daten damit. Andernfalls wird der Schlüssel nur für die Entschlüsselung verwendet
- Ein Erstellungszeitstempel, z. B. "Erstellt am: 2019-05-29T23:46:54Z."
- Erster Übergang zum Ver- und Entschlüsseln: Ein Zeitstempel, der angibt, wann der Schlüssel zu einem Ver- oder Entschlüsselungsschlüssel wurde.
- Übergang zur reinen Entschlüsselung: Ein Zeitstempel, der angibt, wann der Schlüssel zur reinen Entschlüsselung übergegangen ist.
Sehen Sie Protokolle ein, nachdem Sie Extrakte verschlüsselt und entschlüsselt haben:
Veröffentlichen Sie Extrakte auf Ihrer Website und verschlüsseln Sie diese anschließend. Siehe Extrahieren der Verschlüsselung im Ruhezustand.
Greifen Sie mit Tableau Desktop oder mit Web Authoring in einem Browser auf die Extrakte zu (dadurch werden die Extrakte für die Verwendung entschlüsselt).
Durchsuchen Sie die Protokolldatei "vizqlserver_node" nach
AwsKmsEncryptionEnvelopeAccessor
undAwsKmsEncryptionEnvelope
Strings. Die Standardposition der Protokolle ist auf/var/opt/tableau/tableau_server/data/tabsvc/logs/
Beispiele für Protokolleinträge, die auf eine erfolgreiche Konfiguration hinweisen, sind die folgenden:
- Entschlüsselung des RMK mit der ID 1abc23de-fg45-6hij-7k89-1l0mn1234567 unter Verwendung des CMK mit ARN arn:aws:kms:us-west-2:867530990073:key/1234567d-a6ba-451b-adf6-3179911b760f
- Verwendung von RMK mit der ID 1abc23de-fg45-6hij-7k89-1l0mn1234567 zum Entschlüsseln des KMS-Stores
Für die Veröffentlichung und Extraktion von Aktualisierungen im Zusammenhang mit KMS durchsuchen Sie die Protokolle der Hintergrundprozesskomponente. Für weitere Informationen zu Protokolldateien, siehe Speicherorte der Tableau Server-Protokolle und -Protokolldateien.
Fehlerbehebung bei der Konfiguration
Multi-Node Fehlkonfiguration
In einem Multi-Kern-Setup für AWS KMS kann der tsm security kms status
Befehl einen gesunden (OK-)Status melden, auch wenn ein anderer Knoten im Cluster falsch konfiguriert ist. Die KMS-Statusprüfung meldet nur den Knoten, auf dem der Prozess "Tableau Server Administration Controller" läuft, und nicht die anderen Knoten im Cluster. Standardmäßig läuft der Prozess "Tableau Server Administration Controller" auf dem Anfangsknoten im Cluster.
Wenn also ein anderer Knoten so falsch konfiguriert ist, dass Tableau Server nicht auf AWS CMK zugreifen kann, können diese Knoten Fehlerzustände für verschiedene Services melden, die nicht starten können.
Wenn einige Services nicht starten können, nachdem Sie KMS auf den AWS-Modus eingestellt haben, führen Sie den folgenden Befehl aus, um in den lokalen Modus zurückzukehren: tsm security kms set-mode local
.
AWS CMK aktualisieren
Das Aktualisieren des AWS CMK ist eine Aufgabe, die Sie mit AWS durchführen. Standardmäßig wird AWS CMK einmal im Jahr aktualisiert. Siehe die AWS-Themenseite, Wie die automatische Tastenrotation funktioniert(Link wird in neuem Fenster geöffnet). Da sich ARN und Region nicht ändern, müssen Sie die KMS-Konfiguration auf dem Tableau Server für normale CMK-Aktualisierungsszenarien nicht aktualisieren.
Nachdem AWS CMK aktualisiert wurde, müssen Sie die internen RMK und MEK auf dem Tableau Server neu generieren. Sie sollten auch alle Extrakte mit dem neuen CMK neu verschlüsseln:
- Führen Sie den
tsm security regenerate-internal-tokens
Befehl aus, um alle internen Schlüssel auf dem Tableau Server neu zu generieren, einschließlich der RMK und MEK, die für die Extraktverschlüsselung verwendet wurden. - Führen Sie
tabcmd reencryptextracts <site-name>
aus, um Extrakte auf einer bestimmten Webseite erneut zu verschlüsseln. Führen Sie diesen Befehl auf jeder Webseite aus, auf der Sie verschlüsselte Extrakte speichern. Abhängig von der Anzahl der verschlüsselten Extrakte auf der Website kann dieser Vorgang eine erhebliche Belastung der Serverauslastung verursachen. Erwägen Sie, diesen Vorgang außerhalb der Geschäftszeiten durchzuführen. Siehe Extrahieren der Verschlüsselung im Ruhezustand.
RMK und MEK in Tableau Server neu generieren
Um den primären Root-Schlüssel (RMK) und die primären Verschlüsselungsschlüssel (MEK) in Tableau Server erneut zu generieren, führen Sie den Befehl tsm security regenerate-internal-tokens
aus.
Sichern und Wiederherstellen mit AWS KMS
Ein Server-Backup kann im AWS-Modus ohne zusätzliche Konfigurationen oder Verfahren durchgeführt werden. Das Backup enthält verschlüsselte Kopien der RMK und MEK. Die Entschlüsselung der Schlüssel erfordert den Zugriff und die Kontrolle des AWS CMK.
Für das Wiederherstellungsszenario kann sich der wiederherzustellende Server in jedem KMS-Modus befinden, einschließlich "Lokal". Die einzige Voraussetzung ist, dass der Server, auf dem das Backup wiederhergestellt wird, einen Entschlüsselungszugriff auf das CMK hat, das das Backup selbst verwendet.
Bei der Wiederherstellung werden die MEK aus der Sicherung als reine Entschlüsselungsschlüssel importiert. Das RMK wird nicht migriert. Im Rahmen des Installations-/Wiederherstellungsprozesses wird ein neues RMK generiert.