Share via


Verwalten von Instanzverschlüsselungsschlüsseln (XMLA)

Sie können den SetEncryptionKey-Befehl in XML for Analysis (XMLA) verwenden, um den Instanzverschlüsselungsschlüssel für eine Instanz von MicrosoftSQL ServerAnalysis Services festzulegen oder zurückzusetzen.

SicherheitshinweisSicherheitshinweis

Der SetEncryptionKey-Befehl kann nur von Serveradministratoren ausgeführt werden.

Der Instanzverschlüsselungsschlüssel kann nur von dem gleichen Konto entschlüsselt werden, das für die Verschlüsselung des Schlüssels verwendet wurde. Daher muss der Instanzverschlüsselungsschlüssel zuerst entschlüsselt und abgerufen werden, bevor das von der Analysis Services-Instanz verwendete Dienstkonto geändert wird. Nach der Änderung des Dienstkontos kann er wiederum verschlüsselt werden. Andernfalls ist die Instanz nicht mehr in der Lage, die Datenbank-Verschlüsselungsschlüssel zu entschlüsseln, die für die Verschlüsselung und Entschlüsselung von in der Datenbank gespeicherten vertraulichen Informationen verwendet wird (beispielsweise Kennwörter für die Datenquelle).

Führen Sie folgende Schritte aus, um das Dienstkonto für eine Analysis Services-Instanz ordnungsgemäß zu ändern.

  1. Rufen Sie die XMLA-Methode Discover auf, um den bestehenden Instanzverschlüsselungsschlüssel zu entschlüsseln und das DISCOVER_MASTER_KEY-Schemarowset abzurufen.

    SicherheitshinweisSicherheitshinweis

    Das DISCOVER_MASTER_KEY-Schemarowset kann nur von Serveradministratoren abgerufen werden.

  2. Ändern Sie das Dienstkonto für die Analysis Services-Instanz.

  3. Verwenden Sie den SetEncryptionKey-Befehl, um den abgerufenen Instanzverschlüsselungsschlüssel mithilfe des neuen Dienstkontos zu verschlüsseln.

Wenn Sie das Dienstkonto ändern, ohne zuvor den Instanzverschlüsselungsschlüssel abzurufen, ist die Analysis Services-Instanz nicht mehr in der Lage, verschlüsselte Informationen aus Datenbanken auf der Instanz zu lesen, und ein Fehler tritt auf. Um dieses Problem zu beheben, können Sie das Dienstkonto zurück zu dem zuvor festgelegten Benutzerkonto ändern und anschließend die zuvor genannten Schritte ausführen, um das Dienstkonto ordnungsgemäß zu ändern.

Festlegen des Verschlüsselungsschlüssels

Die Schlüssel-Eigenschaft des SetEncryptionKey-Befehls enthält eine Zeichenfolgendarstellung des Verschlüsselungsschlüssels. Die Key -Eigenschaft sollte auf den Wert der KEY-Spalte im DISCOVER_MASTER_KEY-Schemarowset festgelegt werden, das abgerufen wurde, bevor das Dienstkonto für die Analysis Services-Instanz geändert wurde.

Zurücksetzen des Verschlüsselungsschlüssels

Sie können den Verschlüsselungsschlüssel auch mithilfe des SetEncryptionKey-Befehls zurücksetzen. Um den Verschlüsselungsschlüssel zurückzusetzen, legen Sie für das Reset-Attribut des SetEncryptionKey-Befehls "True" fest. Analysis Services setzt den Instanzverschlüsselungsschlüssel durch Ausführung der folgenden Aktionen zurück:

  1. Der Instanzverschlüsselungsschlüssel, die Datenbankverschlüsselungsschlüssel und vertrauliche Informationen in der Datenbank auf dieser Instanz werden entschlüsselt.

  2. Der Wert des Instanzverschlüsselungsschlüssels wird geändert.

  3. Es wird alles mit dem neuen Instanzverschlüsselungsschlüssel verschlüsselt.

Das aktuelle Dienstkonto für die Analysis Services-Instanz wird verwendet, um den alten Instanzverschlüsselungsschlüssel zu entschlüsseln und den neuen Instanzverschlüsselungsschlüssel zu verschlüsseln. Legen Sie keinen Wert für die Key-Eigenschaft des Befehls fest, wenn Sie den Instanzverschlüsselungsschlüssel zurücksetzen.

Beispiele

Beschreibung

Das folgende Beispiel setzt den Instanzverschlüsselungsschlüssel auf den in Key festgelegten Wert zurück.

Code

<SetEncryptionKey xmlns="https://schemas.microsoft.com/analysisservices/2003/engine">
  <Key>
    BSyB3nTLvkCR3GwLwMNAyQEAAAAEAAAA/////wECAAAJZgAAAKQAAEAcOEA0JbXfBxXfL+l/0BMA
    ylnQiDhI9Fgm/QoOAR3NIikzEQPPBNOGSILZfVQqPUiBXuSBnrR/VUI6pLa9AgAFLIHedMu+QJHc
    bAvAw0DJ
  </Key>
</SetEncryptionKey>

Beschreibung

Das folgende Beispiel setzt den Instanzverschlüsselungsschlüssel zurück.

Code

<SetEncryptionKey Reset="true" xmlns="https://schemas.microsoft.com/analysisservices/2003/engine" />