Dela via


Hantera krypterade data i Windows Azure Pack

 

Gäller för: Windows Azure Pack

Windows Azure Pack for Windows Server använder krypteringsalgoritmer, krypteringsnycklar och lösenord för att skydda kommunikationen mellan databaserna och användarna i hanteringsportalen. Dessa data lagras på två eller tre platser.

För att skydda säkerheten för dina data måste du regelbundet ändra eller rotera data. När du ändrar data på en plats måste du ändra dem på alla platser.

Vi tillhandahåller ett kalkylblad som visar alla krypteringsalgoritmer, nycklar och lösenord samt deras lagrade platser. Det här kalkylbladet innehåller också information om hur du ändrar varje datapunkt. Du kan komma åt kalkylbladet i det tekniska dokumentationspaketet för Windows Azure Pack (https://go.microsoft.com/fwlink/?LinkId=329811) som finns i Microsoft Download Center. Klicka på Ladda ned, välj filen WAPv1_encryption.xsl och klicka sedan på Nästa för att börja ladda ned filen.

Du kan också använda Best Practice Analyzer för Windows Azure Pack för att verifiera säkerheten för dina data. Information om Best Practice Analyzer finns i Skanna komponenter i Windows Azure Pack.

Använd följande information för att hantera krypterade data:

  • Ändra ett databaslösenord

  • Rotera krypterade data relaterade till datornyckeln

  • Rotera krypteringsalgoritmer och nycklar

  • Ändra lösenordet för api:et usage Admin

  • Ändra lösenord relaterade till resursprovidrar

  • Ändra lösenordet som är relaterat till Tjänstrapportering

Ändra ett databaslösenord

Det finns flera databaser i Windows Azure Pack, som var och en har ett databaslösenord. Använd följande steg för att rotera databaslösenorden:

Rotera ett databaslösenord

  1. Skaffa ett nytt lösenord. Kör följande cmdlet:

    $password = New-MgmtSvcPassword –Length 64
    
  2. Använd data i kalkylbladet för att hitta och rotera databaslösenordet på den första platsen. Om du till exempel roterar databaslösenordet för Admin-API:et är den första platsen hemlighetskonfigurationsarkivet (kontrollera kolumn C för Plats 1).

    Kör följande cmdlet för att ändra lösenordet:

    Set-MgmtSvcDatabaseSetting <Service>  <Secret>  $password -Server <Server> -Passphrase <Passphrase> -Database “Microsoft.MgmtSvc.Config” -Force
    
  3. Leta sedan upp den tredje platsen för databaslösenordet och rotera databaslösenordet. Med hjälp av exemplet ovan för Admin API-databaslösenordet är detta SQL Server säkerhetsinloggning (kontrollera kolumn G för Plats 3).

    Kör följande cmdlet:

    Set-MgmtSvcDatabaseUser -Server <Server> -Database <Database> -Schema <Schema> -User <User> -UserPassword $password
    
  4. Leta slutligen upp den andra platsen för databaslösenordet och rotera lösenordet. Återigen för Admin API-databaslösenordet är detta den web.config anslutningssträngen (kontrollera kolumn E för Plats 2).

    Kör följande cmdletar:

    $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
    

Dekrypterings- och valideringsinställningar och nycklar för Admin-API:et, hanteringsportalen för administratörer (AdminSite), autentiseringswebbplatsen (AuthSite), hanteringsportalen för klienter (TenantSite) och Windows autentiseringsplats (WindowsAuthSite) lagras med hjälp av datornyckeln. Använd följande steg för att rotera dessa data.

  1. Skaffa en ny datornyckel. I följande exempel hämtas en ny datornyckel för machineKey.decrytpion för Admin API-tjänsten. Du kan använda de här stegen för att ändra andra värden för datornyckeln.

    Kör följande cmdletar för att hämta en ny datornyckel:

    $machineKey = New-MgmtSvcMachineKey
    $decryption = $machineKey.Attribute('decryption').Value
    
  2. Använd data i kalkylbladet för att hitta den första platsen för machineKey.decryption. För Admin API-tjänsten är detta hemlighetskonfigurationsarkivet.

    Kör följande cmdlet för att ändra inställningen machineKey.decryption:

    Set-MgmtSvcDatabaseSetting <Service> "machineKey.decryption" $decryption -Server <Server> -Passphrase <Passphrase> -Force
    
  3. Leta upp den andra platsen för machineKey.decryption. För Admin API-tjänsten är detta avsnittet web.config machineKey.

    Kör följande cmdletar för att ändra inställningen machineKey.decryption:

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

Rotera krypteringsalgoritmer och nycklar

Använd följande steg för att rotera krypteringsalgoritmer och krypteringsnycklar.

Rotera krypteringsalgoritmer och krypteringsnycklar

  1. Skaffa en ny datornyckel. I följande exempel hämtas en ny datornyckel för meddelandekrypteringsalgoritmen och nyckeln för Admin-platsen. Du kan använda de här stegen för att ändra andra krypteringsalgoritmer och nycklar.

    Anteckning

    Samma nycklar används för både kryptering och dekryptering. De kan därför betraktas som både krypterings- eller dekrypteringsnycklar, beroende på vilken åtgärd som utförs. Därför använder vi dekrypteringsvärdet nedan, även om nyckeln som du roterar är krypteringsnyckeln.

    Kör följande cmdletar för att hämta en ny datornyckel:

    $machineKey = New-MgmtSvcMachineKey
    $encryption = $machineKey.Attribute('decryption').Value
    $encryptionKey = $machineKey.Attribute('decryptionKey').Value
    
  2. Använd data i kalkylbladet för att hitta den första platsen för krypteringsalgoritmen eller nyckeln. För meddelandekrypteringsalgoritmen och nyckeln för Admin-platsen är detta hemlighetskonfigurationsarkivet.

    Kör följande cmdletar för att ändra krypteringsalgoritmen och nyckeln:

    Set-MgmtSvcDatabaseSetting <Service> "NotificationEncryptionAlgorithm " $encryption -Server <Server> -Passphrase <Passphrase> -Force
    Set-MgmtSvcDatabaseSetting <Service> "EncryptionKey " $encryptionKey -Server <Server> -Passphrase <Passphrase> -Force
    
  3. Leta upp den andra platsen för krypteringsalgoritmen eller nyckeln. För meddelandekrypteringsalgoritmen och nyckeln för Admin-webbplatsen är det här avsnittet web.config appinställningar.

    Kör följande cmdletar för att ändra krypteringsalgoritmen och nyckeln:

    $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
    

Ändra lösenordet för api:et usage Admin

Till skillnad från de lösenord som används av resursprovidrar (som beskrivs i nästa avsnitt) lagras lösenordet för API:et Usage Admin i avsnittet Secret Config Store och i avsnittet web.config appinställningar. Använd följande steg för att ändra lösenordet för api:et Usage Admin.

Så här roterar du api-lösenordet för Usage Admin

  1. Skaffa ett nytt lösenord. Kör följande cmdlet:

    $password = New-MgmtSvcPassword
    
  2. Ändra lösenordet på den första platsen, Secret Config Store. Kör följande cmdlet:

    Set-MgmtSvcDatabaseSetting <Service>  <Secret>  $password -Server <Server> -Passphrase <Passphrase> -Force
    
  3. Ändra lösenordet på den andra platsen, avsnittet web.config appinställningar. Kör följande cmdletar:

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

Använd följande information för att rotera lösenorden för resursprovidrar för övervakning, MySQL, SQL Server och användning.

Så här roterar du lösenord för resursprovidern

  1. Skaffa ett nytt lösenord för resursprovidern. Kör följande cmdlet:

    $password = New-MgmtSvcPassword
    
  2. Ändra lösenordet på den första platsen. Kör följande cmdlet:

    Set-MgmtSvcDatabaseSetting <Service> “Password” $pw -Server <Server> -Passphrase <Passphrase> -Force
    
  3. Ändra lösenordet på den tredje platsen.

    Anteckning

    För övervakningstjänsten kallas lösenordet "MonitoringRestBasicAuthKnownPassword". För de andra resursprovidrar kallas lösenordet "Lösenord".

    Kör följande cmdlet:

    Set-MgmtSvcSetting <Service>  “Password” $pw -Encode
    
  4. Ändra lösenordet på den andra platsen.

    Anteckning

    Följande cmdletar ändrar lösenordet för alla fyra slutpunkterna, men alla resursprovidrar har inte alla dessa slutpunkter. Titta på resultatet av $rp för att identifiera slutpunkterna för varje resursprovider och justera sedan AuthenticationPassword-värdena på rätt sätt.

    Kör följande cmdletar:

    $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
    

Om du använder Service Reporting med Windows Azure Pack måste du uppdatera lösenordet i SQL virtuella datorer för Service Reporting när du ändrar lösenordet för användningstjänsten.

Använd följande steg för att återställa lösenordet.

Så här ändrar du SQL VM-lösenord för Tjänstrapportering

  1. På den virtuella dator där du har installerat SQL-databasen som stöder Service Reporting, försäkrar du dig om att tjänstrapporteringsjobbet SQL agentjobbet inte körs. Använd följande steg för att visa jobbets status:

    1. Anslut till databasinstansen <prefix-DW-SQL>\CPSDW.

    2. I Object Explorer expanderar du SQL Server Agent.

    3. Klicka på Jobb.

    4. På fliken Visa klickar du på Object Explorer Information.

      Kontrollera kolumnen Status för att se om agentjobbet körs.

  2. Service Reporting innehåller ett skript som du kan köra för att ändra lösenordet. Kör följande cmdlet från en PowerShell-kommandotolk för att köra det här skriptet.

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