Share via


Gestire dati crittografati in Windows Azure Pack

 

Si applica a: Windows Azure Pack

Windows Azure Pack per Windows Server usa algoritmi di crittografia, chiavi di crittografia e password per proteggere le comunicazioni tra i database e gli utenti nel portale di gestione. Questi dati vengono archiviati in due o tre posizioni.

Per proteggere la sicurezza dei dati, è necessario modificare o ruotare i dati a intervalli regolari. Quando si modificano i dati in una posizione, è necessario modificarli in tutte le altre.

Per tenere traccia di tutti gli algoritmi di crittografia, le chiavi e le password e delle posizioni in cui sono archiviati, viene fornito un foglio di calcolo, che contiene inoltre informazioni su come modificare le singole posizioni. È possibile accedere al foglio di calcolo nel pacchetto di documentazione tecnica Windows Azure Pack (https://go.microsoft.com/fwlink/?LinkId=329811) disponibile dall'Area download Microsoft. Fare clic su Scarica, selezionare il file WAPv1_encryption.xsl e quindi fare clic su Avanti per iniziare a scaricare il file.

È anche possibile usare Best Practice Analyzer per Windows Azure Pack per verificare la sicurezza dei dati. Per informazioni su Best Practice Analyzer, vedere Analisi dei componenti di Windows Azure Pack.

Per gestire i dati crittografati, usare le seguenti informazioni:

  • Modifica di una password del database

  • Rotazione dei dati crittografati correlati alla chiave del computer

  • Rotazione di chiavi e algoritmi di crittografia

  • Modifica della password dell'API di amministrazione di utilizzo

  • Modifica delle password correlate ai provider di risorse

  • Modifica della password correlata a Service Reporting

Modifica di una password del database

Esistono diversi database in Windows Azure Pack, ognuno dei quali dispone di una password del database. Per ruotare le password dei database, attenersi alla procedura seguente:

Per ruotare una password del database

  1. Ottenere una nuova password. Eseguire il cmdlet seguente:

    $password = New-MgmtSvcPassword –Length 64
    
  2. Usare i dati del foglio di calcolo per individuare e ruotare la password del database nella prima posizione. Ad esempio, se si intende ruotare la password del database per l'API di amministrazione, la prima posizione è l'archivio di configurazione della chiave privata (cercare la posizione 1 nella colonna C).

    Eseguire il cmdlet seguente per cambiare la password:

    Set-MgmtSvcDatabaseSetting <Service>  <Secret>  $password -Server <Server> -Passphrase <Passphrase> -Database “Microsoft.MgmtSvc.Config” -Force
    
  3. Successivamente, individuare la terza posizione per la password del database e ruotare la password. Se si usa l'esempio precedente, per la password del database dell'API di amministrazione questa corrisponde all'account di accesso di sicurezza di SQL Server (cercare la posizione 3 nella colonna G).

    Eseguire il cmdlet seguente:

    Set-MgmtSvcDatabaseUser -Server <Server> -Database <Database> -Schema <Schema> -User <User> -UserPassword $password
    
  4. Infine, individuare la seconda posizione per la password del database e ruotare la password. Anche in questo caso per la password del database dell'API di amministrazione, questa corrisponde alla stringa di connessione di web.config (cercare la posizione 2 nella colonna E).

    Eseguire i cmdlet seguenti:

    $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
    

Per archiviare le chiavi e le impostazioni di convalida e decrittografia per l'API di amministrazione, il portale di gestione per amministratori (AdminSite), il sito di autenticazione (AuthSite), il portale di gestione per tenant (TenantSite) e il sito di autenticazione di Windows (WindowsAuthSite), viene usata la chiave del computer. Per ruotare questi dati, attenersi alla procedura seguente.

  1. Ottenere una nuova chiave del computer. Nell'esempio seguente viene ottenuta una nuova chiave del computer per machineKey.decryption per il servizio API di amministrazione. È possibile usare questa procedura per modificare altri valori della chiave del computer.

    Eseguire i cmdlet seguenti per ottenere una nuova chiave del computer:

    $machineKey = New-MgmtSvcMachineKey
    $decryption = $machineKey.Attribute('decryption').Value
    
  2. Usare i dati nel foglio di calcolo per trovare la prima posizione per machineKey.decryption. Per il servizio API Amministrazione, si tratta dell'archivio configurazione segreto.

    Eseguire il cmdlet seguente per modificare l'impostazione di machineKey.decryption:

    Set-MgmtSvcDatabaseSetting <Service> "machineKey.decryption" $decryption -Server <Server> -Passphrase <Passphrase> -Force
    
  3. Individuare il secondo percorso per machineKey.decryption. Per il servizio API Amministrazione, si tratta della sezione machineKey web.config.

    Eseguire i cmdlet seguenti per modificare l'impostazione di machineKey.decryption:

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

Rotazione di chiavi e algoritmi di crittografia

Per ruotare le chiavi e gli algoritmi di crittografia, attenersi alla procedura seguente.

Per ruotare le chiavi e gli algoritmi di crittografia

  1. Ottenere una nuova chiave del computer. Nell'esempio seguente viene ottenuta una nuova chiave del computer per la chiave e l'algoritmo di crittografia di notifica del sito di amministrazione. È possibile usare questa procedura per cambiare altre chiavi e algoritmi di crittografia.

    Nota

    Le stesse chiavi vengono usate sia per la crittografia che per la decrittografia, di conseguenza possono essere considerate chiavi di crittografia o decrittografia a seconda dell'operazione eseguita. A causa di questo, viene usato il valore di decrittografia seguente, anche se la chiave che si sta ruotando è la chiave di crittografia .

    Eseguire i cmdlet seguenti per ottenere una nuova chiave del computer:

    $machineKey = New-MgmtSvcMachineKey
    $encryption = $machineKey.Attribute('decryption').Value
    $encryptionKey = $machineKey.Attribute('decryptionKey').Value
    
  2. Usare i dati del foglio di calcolo per individuare la prima posizione per la chiave o l'algoritmo di crittografia. Per la chiave e l'algoritmo di crittografia di notifica del sito di amministrazione, questa corrisponde all'archivio di configurazione della chiave privata.

    Eseguire i cmdlet seguenti per modificare la chiave e l'algoritmo di crittografia:

    Set-MgmtSvcDatabaseSetting <Service> "NotificationEncryptionAlgorithm " $encryption -Server <Server> -Passphrase <Passphrase> -Force
    Set-MgmtSvcDatabaseSetting <Service> "EncryptionKey " $encryptionKey -Server <Server> -Passphrase <Passphrase> -Force
    
  3. Individuare la seconda posizione per la chiave o l'algoritmo di crittografia. Per la chiave e l'algoritmo di crittografia di notifica del sito di amministrazione, questa corrisponde alla sezione delle impostazioni dell'app di web.config.

    Eseguire i cmdlet seguenti per modificare la chiave e l'algoritmo di crittografia:

    $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
    

Modifica della password dell'API di amministrazione di utilizzo

A differenza delle password usate dai provider di risorse (come descritto nella sezione successiva), la password per l'API di amministrazione di utilizzo viene memorizzata nell'archivio di configurazione della chiave privata e nella sezione delle impostazioni dell'app di Web.config. Per cambiare la password dell'API di amministrazione di utilizzo, attenersi alla procedura seguente.

Per ruotare la password dell'API di amministrazione di utilizzo

  1. Ottenere una nuova password. Eseguire il cmdlet seguente:

    $password = New-MgmtSvcPassword
    
  2. Cambiare la password nella prima posizione, ovvero l'archivio di configurazione della chiave privata. Eseguire il cmdlet seguente:

    Set-MgmtSvcDatabaseSetting <Service>  <Secret>  $password -Server <Server> -Passphrase <Passphrase> -Force
    
  3. Cambiare la password nella seconda posizione, ovvero la sezione delle impostazioni dell'app di web.config. Eseguire i cmdlet seguenti:

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

Usare le informazioni seguenti per ruotare le password per i provider di risorse di monitoraggio, MySQL, SQL Server e di utilizzo.

Per ruotare le password dei provider di risorse

  1. Ottenere una nuova password per il provider di risorse. Eseguire il cmdlet seguente:

    $password = New-MgmtSvcPassword
    
  2. Cambiare la password nella prima posizione. Eseguire il cmdlet seguente:

    Set-MgmtSvcDatabaseSetting <Service> “Password” $pw -Server <Server> -Passphrase <Passphrase> -Force
    
  3. Cambiare la password nella terza posizione.

    Nota

    Per il servizio di monitoraggio la password è "MonitoringRestBasicAuthKnownPassword". Per gli altri provider di risorse la password è "Password".

    Eseguire il cmdlet seguente:

    Set-MgmtSvcSetting <Service>  “Password” $pw -Encode
    
  4. Cambiare la password nella seconda posizione.

    Nota

    I cmdlet seguenti consentono di cambiare la password per tutti e quattro gli endpoint, che però non sono disponibili per tutti i provider di risorse. Esaminare i risultati di $rp per identificare gli endpoint per ogni provider di risorse e quindi modificare i valori di AuthenticationPassword in modo appropriato.

    Eseguire i cmdlet seguenti:

    $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
    

Se si usa Service Reporting con Windows Azure Pack, è necessario aggiornare la password nelle macchine virtuali di SQL per Service Reporting quando si modifica la password per il servizio Utilizzo.

Per reimpostare la password, attenersi alla procedura seguente.

Per cambiare le password delle macchine virtuali SQL per Service Reporting

  1. Nella macchina virtuale in cui è stato installato il database SQL che supporta Service Reporting, assicurarsi che il processo dell'agente SQL Reporting Service non sia in esecuzione. Per visualizzare lo stato del processo, attenersi alla procedura seguente:

    1. Connessione all'istanza del <database prefix-DW-SQL>\CPSDW.

    2. Nell'Esplora oggetti espandere SQL Server Agent.

    3. Fare clic su Processi.

    4. Nella scheda Visualizza fare clic su Esplora oggetti Dettagli.

      Controllare la colonna Stato per verificare se il processo dell'agente è in esecuzione.

  2. Service Reporting include uno script che è possibile eseguire per cambiare la password. Eseguire il cmdlet seguente da un prompt dei comandi di PowerShell per eseguire questo script.

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