Administrar los datos cifrados en Windows Azure Pack

 

Se aplica a: Windows Azure Pack

Windows Azure Pack para Windows Server usa algoritmos de cifrado, claves de cifrado y contraseñas para proteger las comunicaciones entre las bases de datos y los usuarios en el portal de administración. Estos datos se almacenan en dos o tres ubicaciones.

Para proteger la seguridad de los datos, deberá cambiar o rotar los datos periódicamente. Si cambia los datos en una ubicación, deberá cambiarlos en todas las ubicaciones.

Le proporcionamos una hoja de cálculo que enumera todos los algoritmos de cifrado, claves y contraseñas, y las ubicaciones donde están almacenados. Esta hoja de cálculo también contiene información sobre cómo cambiar cada punto de datos. Puede acceder a la hoja de cálculo en el paquete de documentación técnica de Windows Azure Pack (https://go.microsoft.com/fwlink/?LinkId=329811) disponible en el Centro de descarga de Microsoft. Haga clic en Descargar, seleccione el archivo WAPv1_encryption.xsl y, a continuación, haga clic en Siguiente para empezar a descargar el archivo.

También puede usar el Analizador de procedimientos recomendados para Windows Azure Pack para comprobar la seguridad de los datos. Para obtener información sobre el Analizador de procedimientos recomendados, consulte Examen de componentes de Windows Azure Pack.

Para administrar los datos cifrados, utilice la siguiente información:

  • Cambiar una contraseña de base de datos

  • Rotar datos cifrados relativos a la clave de equipo

  • Rotar los algoritmos de cifrado y las claves

  • Cambiar la contraseña de la API de administración de uso

  • Cambiar las contraseñas relativas a los proveedores de recursos

  • Cambiar la contraseña relativa a Service Reporting

Cambiar una contraseña de base de datos

Hay varias bases de datos en Windows Azure Pack, cada una de las cuales tiene una contraseña de base de datos. Siga estos pasos para rotar las contraseñas de base de datos:

Para rotar una contraseña de base de datos

  1. Obtenga una nueva contraseña. Ejecute el siguiente cmdlet:

    $password = New-MgmtSvcPassword –Length 64
    
  2. Use los datos de la hoja de cálculo para encontrar y rotar la contraseña de base de datos de la primera ubicación. Por ejemplo, si quiere rotar la contraseña de base de datos para la API de administración, la primera ubicación es el almacén de configuración secreto (consulte la columna C de la ubicación 1).

    Ejecute el siguiente cmdlet para cambiar la contraseña:

    Set-MgmtSvcDatabaseSetting <Service>  <Secret>  $password -Server <Server> -Passphrase <Passphrase> -Database “Microsoft.MgmtSvc.Config” -Force
    
  3. Después, busque la tercera ubicación de la contraseña de base de datos y rote la contraseña de base de datos. Usando el ejemplo anterior, en el caso de la contraseña de base de datos de la API de administración, es el inicio de sesión de seguridad de SQL Server (consulte la columna G para de la ubicación 3).

    Ejecute el siguiente cmdlet:

    Set-MgmtSvcDatabaseUser -Server <Server> -Database <Database> -Schema <Schema> -User <User> -UserPassword $password
    
  4. Por último, busque la segunda ubicación de la contraseña de base de datos y rote la contraseña. De nuevo, en el caso de la contraseña de base de datos de la API de administración, esta es la cadena de conexión de web.config (consulte la columna E de la ubicación 2).

    Ejecute los siguientes cmdlets:

    $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
    

La configuración de validación y descifrado y las claves de la API de administración, el portal de administración para administradores (AdminSite), el sitio de autenticación (AuthSite), el portal de administración para inquilinos (TenantSite) y el sitio de autenticación de Windows (WindowsAuthSite) se almacenan usando la clave del equipo. Siga los pasos siguientes para rotar estos datos.

  1. Obtenga una nueva clave de equipo. En el ejemplo siguiente se obtiene una nueva clave de equipo para machineKey.decryption para el servicio API de administración. Puede seguir estos pasos para cambiar otros valores de clave de equipo.

    Ejecute los siguientes cmdlets para obtener una nueva clave de equipo:

    $machineKey = New-MgmtSvcMachineKey
    $decryption = $machineKey.Attribute('decryption').Value
    
  2. Use los datos de la hoja de cálculo para buscar la primera ubicación de machineKey.decryption. Para el servicio de API de Administración, este es el almacén de configuración secreto.

    Ejecute el siguiente cmdlet para cambiar la configuración de machineKey.decryption:

    Set-MgmtSvcDatabaseSetting <Service> "machineKey.decryption" $decryption -Server <Server> -Passphrase <Passphrase> -Force
    
  3. Busque la segunda ubicación para machineKey.decryption. Para el servicio de API de Administración, se trata de la sección web.config machineKey.

    Ejecute los siguientes cmdlets para cambiar la configuración de machineKey.decryption:

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

Rotar los algoritmos de cifrado y las claves

Siga estos pasos para rotar los algoritmos de cifrado y las claves de cifrado.

Para rotar los algoritmos de cifrado y las claves de cifrado

  1. Obtenga una nueva clave de equipo. En el ejemplo siguiente se obtiene una nueva clave de equipo para el algoritmo de cifrado de notificación y la clave del sitio de administración. Puede seguir estos pasos para cambiar otros algoritmos de cifrado y otras claves.

    Nota:

    Se usan las mismas claves para cifrado y descifrado, por lo que se pueden considerar claves de cifrado o descifrado, según la operación realizada. Por este motivo, usamos el valor de descifrado siguiente, aunque la clave que está girando es la clave de cifrado .

    Ejecute los siguientes cmdlets para obtener una nueva clave de equipo:

    $machineKey = New-MgmtSvcMachineKey
    $encryption = $machineKey.Attribute('decryption').Value
    $encryptionKey = $machineKey.Attribute('decryptionKey').Value
    
  2. Use los datos de la hoja de cálculo para buscar la primera ubicación del algoritmo de cifrado o la clave. En el caso del algoritmo de cifrado de notificación y la clave del sitio de administración, es el almacén de configuración secreto.

    Ejecute los siguientes cmdlets para cambiar el algoritmo de cifrado y la clave:

    Set-MgmtSvcDatabaseSetting <Service> "NotificationEncryptionAlgorithm " $encryption -Server <Server> -Passphrase <Passphrase> -Force
    Set-MgmtSvcDatabaseSetting <Service> "EncryptionKey " $encryptionKey -Server <Server> -Passphrase <Passphrase> -Force
    
  3. Busque la segunda ubicación del algoritmo de cifrado o la clave. En el caso del algoritmo de cifrado de notificación y la clave del sitio de administración, es la sección de configuración de la aplicación de web.config.

    Ejecute los siguientes cmdlets para cambiar el algoritmo de cifrado y la clave:

    $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
    

Cambiar la contraseña de la API de administración de uso

A diferencia de las contraseñas utilizadas por los proveedores de recursos (que se describen en la siguiente sección), la contraseña de la API de administración de uso se almacena en el almacén secreto de configuración y en la sección de configuración de la aplicación de web.config. Siga estos pasos para cambiar la contraseña de la API de administración de uso.

Para rotar la contraseña de la API de administración de uso

  1. Obtenga una nueva contraseña. Ejecute el siguiente cmdlet:

    $password = New-MgmtSvcPassword
    
  2. Cambie la contraseña en la primera ubicación, el almacén de configuración secreto. Ejecute el siguiente cmdlet:

    Set-MgmtSvcDatabaseSetting <Service>  <Secret>  $password -Server <Server> -Passphrase <Passphrase> -Force
    
  3. Cambie la contraseña en la segunda ubicación, la sección de configuración de la aplicación de web.config. Ejecute los siguientes cmdlets:

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

Use la siguiente información para rotar las contraseñas de los proveedores de recursos de Supervisión, MySQL, SQL Server y Uso.

Para rotar las contraseñas de proveedor de recursos

  1. Obtenga una nueva contraseña para el proveedor de recursos. Ejecute el siguiente cmdlet:

    $password = New-MgmtSvcPassword
    
  2. Cambie la contraseña en la primera ubicación. Ejecute el siguiente cmdlet:

    Set-MgmtSvcDatabaseSetting <Service> “Password” $pw -Server <Server> -Passphrase <Passphrase> -Force
    
  3. Cambie la contraseña en la tercera ubicación.

    Nota

    Para el servicio de supervisión, la contraseña se llama "MonitoringRestBasicAuthKnownPassword". Para los demás proveedores de recursos, la contraseña se llama "Password".

    Ejecute el siguiente cmdlet:

    Set-MgmtSvcSetting <Service>  “Password” $pw -Encode
    
  4. Cambie la contraseña en la segunda ubicación.

    Nota

    Los siguientes cmdlets cambian la contraseña de los cuatro extremos, pero no todos los proveedores de recursos tienen todos estos extremos. Examine los resultados de $rp para identificar los extremos de cada proveedor de recursos y, después, ajuste los valores de AuthenticationPassword según corresponda.

    Ejecute los siguientes cmdlets:

    $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
    

Si usa Service Reporting con Windows Azure Pack, debe actualizar la contraseña en las máquinas virtuales de SQL para Service Reporting al cambiar la contraseña del servicio Uso.

Siga estos pasos para restablecer la contraseña.

Para cambiar las contraseñas de las máquinas virtuales de SQL para Service Reporting

  1. En la máquina virtual donde ha instalado la base de datos de SQL que admite Service Reporting, asegúrese de que el trabajo del agente SQL Service Reporting no se está ejecutando. Siga estos pasos para ver el estado del trabajo:

    1. Conectar a la instancia de base <de datos prefix-DW-SQL>\CPSDW.

    2. En el Explorador de objetos, expanda Agente SQL Server.

    3. Haga clic en Trabajos.

    4. En la pestaña Ver, haga clic en Explorador de objetos Detalles.

      Compruebe la columna Estado para ver si el trabajo del agente se está ejecutando.

  2. Service Reporting incluye un script que puede ejecutar para cambiar la contraseña. Ejecute el cmdlet siguiente desde un símbolo del sistema de PowerShell para ejecutar este script.

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