Schlüsselverwaltungssystem

Mit der Veröffentlichung der Version 2019.3 enthält Tableau Server ein aktualisiertes Schlüsselverwaltungssystem (KMS).

Tableau Server lokales KMS

Der lokale KMS von Tableau Server verwendet die in Verwalten von Servergeheimnissen beschriebene geheime Speicherfunktion zum Verschlüsseln und Speichern des Master-Extraktschlüssels. In diesem Szenario dient der Java-Schlüsselspeicher als Wurzel der Schlüsselhierarchie. Der Java Keystore wird mit Tableau Server installiert. Der Zugriff auf den Hauptschlüssel wird durch native Autorisierungsmechanismen des Dateisystems durch das Betriebssystem verwaltet. In der Standardkonfiguration wird das lokale KMS von Tableau Server für verschlüsselte Extrakte verwendet. Die Schlüsselhierarchie für lokale KMS und verschlüsselte Extrakte ist hier dargestellt:

AWS KMS für die Verschlüsselung im Ruhezustand

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 Kundenstammschlüssel (CMK), um einen AWS-Datenschlüsselzu generieren. Tableau Server verwendet den AWS-Datenschlüssel als Root-Masterkey 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 Root-Master-Keys für verschlüsselte Extrakte verwendet.

Die Verwendung von AWS zur Verschlüsselung des Hauptstammschlüssels bietet bessere Sicherheitseigenschaften, da der Hauptschlü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-Kundenmasterschlüssel (CMK) zur Verschlüsselung des Stammschlü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 Servermanagement-Add-on Lizenz konfiguriert sein. Siehe Über Tableau Servermanagement-Add-on.
  • Sie müssen die administrative Kontrolle über einen Kundenstammschlüssel (CMK) besitzen, der im AWS-Schlüsselverwaltungsdienst angelegt 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-Dienst durchgeführt. Referenzen sind in der AWS-Dokumentation enthalten.

  1. Erstellen Sie das CMK, das Sie für den Tableau Server verwenden werden. Siehe die AWS-Themenseite, Erstellen von Schlüsseln.
  2. 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..

    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.

  3. Das CMK muss mindestens über eine Schlüsselrichtlinie verfügen, in der derEffect auf Allow gesetzt ist Prinicpal (the IAM role that is attached to the server instances) the Action: GenerateDataKey and Decrypt. Siehe Verwendung von Schlüsselrichtlinien in AWS KMS.

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 Gatewayangezeigt 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

  1. Führen Sie den folgenden Befehl aus:

    tsm security kms status

    Die folgenden Informationen können zurückgegeben werden:

    • Die ARN (ID) des Kundenhauptschlüssels (CMK)
    • Die Region, in der sich das CMK befindet
    • Die ID des verwendeten Root Master Key (RMK). 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 Master-Extrakt-Schlüssel (MEK) ver- und entschlüsselt. Die RMK kann sich ändern, aber es wird immer nur jeweils eine geben.
    • KMS speichert eine Sammlung von Master-Extrakt-Schlüsseln (MEKs). Jedes 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:54: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.
  2. 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 und AwsKmsEncryptionEnvelope Strings. Die Standardposition der Protokolle ist auf C:\ProgramData\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 von Server-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 Dienste melden, die nicht starten können.

Wenn einige Dienste 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. 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:

  1. 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.
  2. 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 Root-Masterkey und die Master-Verschlüsselungscodes auf Tableau Server zu regenerieren, 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.

Vielen Dank für Ihr Feedback! Es gab einen Fehler bei der Übermittlung Ihres Feedback. Versuchen Sie es erneut oder senden Sie uns eine Nachricht.