Verwalten von verschlüsselten Daten in Windows Azure Pack

 

Gilt für: Windows Azure Pack

Windows Azure Pack für Windows Server verwendet Verschlüsselungsalgorithmen, Verschlüsselungsschlüssel und Kennwörter, um die Kommunikation zwischen den Datenbanken und Benutzern im Verwaltungsportal zu sichern. Diese Daten werden an zwei oder drei Speicherorten gespeichert.

Damit die Sicherheit Ihrer Daten gewährleistet wird, müssen Sie die Daten regelmäßig ändern oder einer Rotation unterziehen. Wenn Sie Daten an einem Speicherort ändern, müssen Sie diese an allen Speicherorten ändern.

Wir stellen eine Tabelle zur Verfügung, in der alle Verschlüsselungsalgorithmen, Schlüssel und Kennwörter sowie deren Speicherorte aufgelistet werden. Diese Tabelle enthält außerdem Informationen zum Ändern der einzelnen Datenpunkte. Sie können auf das Arbeitsblatt im technischen Dokumentationspaket (https://go.microsoft.com/fwlink/?LinkId=329811Windows Azure Pack) zugreifen, das im Microsoft Download Center verfügbar ist. Klicken Sie auf "Herunterladen", wählen Sie die Datei "WAPv1_encryption.xsl" aus, und klicken Sie dann auf "Weiter ", um mit dem Herunterladen der Datei zu beginnen.

Sie können auch den Best Practice Analyzer für Windows Azure Pack verwenden, um die Sicherheit Ihrer Daten zu überprüfen. Informationen zum Best Practice Analyzer finden Sie unter Scankomponenten von Windows Azure Pack.

Verwenden Sie die folgenden Informationen zum Verwalten Ihrer verschlüsselten Daten:

  • Ändern eines Datenbankkennworts

  • Ausführen der Rotation verschlüsselter Daten, die im Zusammenhang mit dem Computerschlüssel stehen

  • Ausführen der Rotation für Verschlüsselungsalgorithmen und -schlüssel

  • Ändern des Kennworts für die Nutzungs-Admininstator-API

  • Ändern von Kennwörtern, die sich auf Ressourcenanbieter beziehen

  • Ändern des Kennworts im Zusammenhang mit Service Reporting

Ändern eines Datenbankkennworts

Es gibt mehrere Datenbanken in Windows Azure Pack, von denen jede über ein Datenbankkennwort verfügt. Verwenden Sie die folgenden Schritte, um eine Rotation der Datenbankkennwörter auszuführen:

So führen Sie die Rotation eines Datenbankkennworts aus

  1. Rufen Sie ein neues Kennwort ab. Führen Sie das folgende Cmdlet aus:

    $password = New-MgmtSvcPassword –Length 64
    
  2. Verwenden Sie die Daten in der Tabelle, um das Datenbankkennwort am ersten Speicherort zu suchen und eine Rotation auszuführen. Wenn Sie z. B. eine Rotation für das Datenbankkennwort für die Administrator-API ausführen, ist der erste Speicherort der Konfigurationsspeicher für geheime Schlüssel (überprüfen Sie die Spalte C hinsichtlich Speicherort 1).

    Führen Sie das folgende Cmdlet aus, um das Kennwort zu ändern:

    Set-MgmtSvcDatabaseSetting <Service>  <Secret>  $password -Server <Server> -Passphrase <Passphrase> -Database “Microsoft.MgmtSvc.Config” -Force
    
  3. Im nächsten Schritt ermitteln Sie den dritten Speicherort für das Datenbankkennwort, und führen Sie dann eine Rotation für das Datenbankkennwort aus. Im Beispiel oben handelt es sich für das Datenbankkennwort der Administrator-API um die SQL Server-Sicherheitsanmeldung (überprüfen Sie die Spalte G hinsichtlich Speicherort 3).

    Führen Sie das folgende Cmdlet aus:

    Set-MgmtSvcDatabaseUser -Server <Server> -Database <Database> -Schema <Schema> -User <User> -UserPassword $password
    
  4. Schließlich ermitteln Sie den zweiten Speicherort für das Datenbankkennwort, und führen Sie dann eine Rotation für das Kennwort aus. Dabei handelt es sich für das Datenbankkennwort der Administrator-API um die Verbindungszeichenfolge aus der Datei web.config (überprüfen Sie die Spalte E hinsichtlich Speicherort 2).

    Führen Sie die folgenden Cmdlets aus:

    $setting = Get-MgmtSvcDatabaseSetting <Service> <Secret> -Server <Server> -Passphrase <Passphrase>
    $connectionString = Get-MgmtSvcSetting $namespace <ConnectionString>
    $builder = New-Object System.Data.SqlClient.SqlConnectionStringBuilder($connectionString.Value)
    $builder.Password = $setting.Value
    Set-MgmtSvcSetting <Service> <ConnectionString> $builder.ConnectionString
    

Einstellungen für die Entschlüsselung und Überprüfung sowie Schlüssel für die Administrator-API, das Verwaltungsportal für Administratoren (AdminSite), die Authentifizierungswebsite (AuthSite), das Verwaltungsportal für Mandanten (TenantSite) und die Windows-Authentifizierungswebsite (WindowsAuthSite) werden mithilfe des Computerschlüssels gespeichert. Verwenden Sie die folgenden Schritte, um eine Rotation dieser Daten auszuführen.

  1. Rufen Sie einen neuen Computerschlüssel ab. Im folgenden Beispiel wird ein neuer Computerschlüssel für machineKey.decrytpion für den Administrator-API-Dienst abgerufen. Sie können diese Schritte zum Ändern anderer Werte des Computerschlüssels verwenden.

    Führen Sie die folgenden Cmdlets aus, um einen neuen Computerschlüssel abzurufen:

    $machineKey = New-MgmtSvcMachineKey
    $decryption = $machineKey.Attribute('decryption').Value
    
  2. Verwenden Sie die Daten in der Kalkulationstabelle, um den ersten Speicherort für machineKey.decryption zu finden. Für den Admin API-Dienst ist dies die geheime Konfiguration Store.

    Führen Sie das folgende Cmdlet aus, um die Einstellung machineKey.decryption zu ändern:

    Set-MgmtSvcDatabaseSetting <Service> "machineKey.decryption" $decryption -Server <Server> -Passphrase <Passphrase> -Force
    
  3. Suchen Sie den zweiten Speicherort für die machineKey.decryption. Für den Admin API-Dienst ist dies der Abschnitt web.config machineKey.

    Führen Sie die folgenden Cmdlets aus, um die Einstellung machineKey.decryption zu ändern:

    $decryption = Get-MgmtSvcDatabaseSetting <Service> “machineKey.decryption” –Server <Server> -Passphrase <Passphrase>
    Set-MgmtSvcSetting <Service> "machineKey.decryption" $decryption.Value
    

Ausführen der Rotation für Verschlüsselungsalgorithmen und -schlüssel

Verwenden Sie die folgenden Schritte, um die Rotation für Verschlüsselungsalgorithmen und Verschlüsselungsschlüssel auszuführen.

So führen Sie die Rotation für Verschlüsselungsalgorithmen und Verschlüsselungsschlüssel aus

  1. Rufen Sie einen neuen Computerschlüssel ab. Im folgenden Beispiel wird ein neuer Computerschlüssel für den Benachrichtigungsverschlüsselungsalgorithmus und -schlüssel für die Administratorwebsite abgerufen. Sie können diese Schritte zum Ändern anderer Verschlüsselungsalgorithmen und -schlüssel verwenden.

    Hinweis

    Die gleichen Schlüssel werden für die Verschlüsselung und die Entschlüsselung verwendet. Sie können daher sowohl als Verschlüsselungs- als auch als Entschlüsselungsschlüssel betrachtet werden – abhängig vom ausgeführten Vorgang. Aus diesem Grund verwenden wir den folgenden Entschlüsselungswert , obwohl der Schlüssel, den Sie drehen, der Verschlüsselungsschlüssel ist.

    Führen Sie die folgenden Cmdlets aus, um einen neuen Computerschlüssel abzurufen:

    $machineKey = New-MgmtSvcMachineKey
    $encryption = $machineKey.Attribute('decryption').Value
    $encryptionKey = $machineKey.Attribute('decryptionKey').Value
    
  2. Verwenden Sie die Daten in der Tabelle, um den ersten Speicherort für den Verschlüsselungsalgorithmus oder -schlüssel zu ermitteln. Für den Benachrichtigungsverschlüsselungsalgorithmus und -schlüssel für die Administratorwebsite ist dies der Konfigurationsspeicher für geheime Schlüssel.

    Führen Sie die folgenden Cmdlets zum Ändern des Verschlüsselungsalgorithmus und -schlüssels aus:

    Set-MgmtSvcDatabaseSetting <Service> "NotificationEncryptionAlgorithm " $encryption -Server <Server> -Passphrase <Passphrase> -Force
    Set-MgmtSvcDatabaseSetting <Service> "EncryptionKey " $encryptionKey -Server <Server> -Passphrase <Passphrase> -Force
    
  3. Ermitteln Sie den zweiten Speicherort für den Verschlüsselungsalgorithmus oder -schlüssel. Für den Benachrichtigungsverschlüsselungsalgorithmus und -schlüssel für die Administratorwebsite ist dies der Abschnitt app settings der Datei web.config.

    Führen Sie die folgenden Cmdlets zum Ändern des Verschlüsselungsalgorithmus und -schlüssels aus:

    $encryption = Get-MgmtSvcDatabaseSetting <Service> “NotificationEncryptionAlgorithm” –Server <Server> -Passphrase <Passphrase>
    Set-MgmtSvcSetting <Service> "NotificationEncryptionAlgorithm" $encryption.Value
    $encryptionKey = Get-MgmtSvcDatabaseSetting <Service> “EncryptionKey” –Server <Server> -Passphrase <Passphrase>
    Set-MgmtSvcSetting <Service> "EncryptionKey" $encryptionKey.Value
    

Ändern des Kennworts für die Nutzungs-Admininstator-API

Im Gegensatz zu Kennwörtern, die von Ressourcenanbietern verwendet werden (diese werden im nächsten Abschnitt beschrieben), wird das Kennwort für die Nutzungs-Administrator-API im Konfigurationsspeicher für geheime Schlüssel und im Abschnitt app settings der Datei web.config gespeichert. Verwenden Sie die folgenden Schritte zum Ändern des Kennworts der Nutzungs-Administrator-API.

So ändern Sie das Kennwort für die Nutzungs-Admininstator-API

  1. Rufen Sie ein neues Kennwort ab. Führen Sie das folgende Cmdlet aus:

    $password = New-MgmtSvcPassword
    
  2. Ändern Sie das Kennwort am ersten Speicherort (dem Konfigurationsspeicher für geheime Schlüssel). Führen Sie das folgende Cmdlet aus:

    Set-MgmtSvcDatabaseSetting <Service>  <Secret>  $password -Server <Server> -Passphrase <Passphrase> -Force
    
  3. Ändern Sie das Kennwort am zweiten Speicherort (im Abschnitt app settings der Datei web.config. Führen Sie die folgenden Cmdlets aus:

    $setting = Get-MgmtSvcDatabaseSetting <Service> <Secret> -Server <Server> -Passphrase <Passphrase>
    Set-MgmtSvcSetting <Service> <Secret> $setting.Value
    

Verwenden Sie die folgenden Informationen, um eine Rotation der Kennwörter für die Überwachungs-, MySQL-, SQL Server- und Nutzungsressourcenanbieter auszuführen.

So führen Sie die Rotation von Kennwörtern der Ressourcenanbieter aus

  1. Rufen Sie ein neues Kennwort für den Ressourcenanbieter ab. Führen Sie das folgende Cmdlet aus:

    $password = New-MgmtSvcPassword
    
  2. Ändern Sie das Kennwort am ersten Speicherort. Führen Sie das folgende Cmdlet aus:

    Set-MgmtSvcDatabaseSetting <Service> “Password” $pw -Server <Server> -Passphrase <Passphrase> -Force
    
  3. Ändern Sie das Kennwort am dritten Speicherort.

    Hinweis

    Für den Überwachungsdienst lautet das Kennwort "MonitoringRestBasicAuthKnownPassword". Für die anderen Ressourcenanbieter lautet das Kennwort "Password".

    Führen Sie das folgende Cmdlet aus:

    Set-MgmtSvcSetting <Service>  “Password” $pw -Encode
    
  4. Ändern Sie das Kennwort am zweiten Speicherort.

    Hinweis

    Die folgenden Cmdlets ändern das Kennwort für alle vier Endpunkte. Nicht alle Ressourcenanbieter verfügen jedoch über alle diese Endpunkte. Untersuchen Sie die Ergebnisse von $rp, um die Endpunkte für jeden Ressourcenanbieter zu identifizieren, und passen Sie dann die AuthenticationPassword-Werte entsprechend an.

    Führen Sie die folgenden Cmdlets aus:

    $rp = Get-MgmtSvcResourceProviderConfiguration <Resource Provider Name> -DecryptPassword
    $rp.AdminEndpoint.AuthenticationPassword = $pw
    $rp.TenantEndpoint.AuthenticationPassword = $pw
    $rp.UsageEndpoint.AuthenticationPassword = $pw
    $rp.NotificationEndpoint.AuthenticationPassword = $pw
    Add-MgmtSvcResourceProviderConfiguration $rp -Force
    

Wenn Sie Die Dienstberichterstattung mit Windows Azure Pack verwenden, müssen Sie das Kennwort in den SQL VMs für Dienstberichterstattung aktualisieren, wenn Sie das Kennwort für den Nutzungsdienst ändern.

Verwenden Sie die folgenden Schritte, um das Kennwort zurückzusetzen.

So ändern Sie die Kennwörter der virtuellen SQL-Computer für Service Reporting

  1. Stellen Sie auf dem virtuellen Computer, auf dem Sie die SQL-Datenbank installiert haben, die Reporting Service unterstützt, sicher, dass der Auftrag des SQL-Agents von Service Reporting nicht ausgeführt wird. Mithilfe der folgenden Schritte können Sie den Status des Auftrags anzeigen:

    1. Verbinden zur <Präfix-DW-SQL>\CPSDW-Datenbankinstanz.

    2. Erweitern Sie im Objekt-Explorer SQL Server-Agent.

    3. Klicken Sie auf Aufträge.

    4. Klicken Sie auf der Registerkarte "Ansicht" auf Objekt-Explorer Details.

      Überprüfen Sie die Statusspalte, um festzustellen, ob der Agentauftrag ausgeführt wird.

  2. Service Reporting enthält ein Skript, das Sie ausführen können, um das Kennwort zu ändern. Führen Sie das folgende Cmdlet an einer PowerShell-Eingabeaufforderung aus, um dieses Skript auszuführen.

    \\<Service reporting host>\ServiceReporting\Maintenance\PostDeploymentConfig.ps1 -User UsageClient –Password $newPassword