Administrar claves de cifrado de instancias (XMLA)

Puede utilizar el comando SetEncryptionKey de XML for Analysis (XMLA) para establecer o restablecer la clave de cifrado de instancias de MicrosoftSQL ServerAnalysis Services.

Nota de seguridadNota de seguridad

El comando SetEncryptionKey sólo lo pueden ejecutar los administradores de servidor.

La clave de cifrado de instancias solamente la puede descifrar la misma cuenta utilizada para cifrar la clave. Por lo tanto, la clave de cifrado de instancias se debe descifrar y recuperar antes de que se cambie la cuenta de servicio utilizada por la instancia de Analysis Services; a continuación, se cifrará una vez cambiada la cuenta de servicio. De lo contrario, la instancia ya no podrá descifrar las claves de cifrado de la base de datos que, a su vez, cifran y descifran los secretos almacenados en la base de datos (como las contraseñas de los orígenes de datos).

Para cambiar la cuenta de servicio de una instancia de Analysis Services de forma adecuada, debe realizar los siguientes pasos:

  1. Llamar al método Discover de XMLA para descifrar la clave de cifrado de instancias existente y recuperar el conjunto de filas de esquema DISCOVER_MASTER_KEY.

    Nota de seguridadNota de seguridad

    Solamente los administradores de servidor pueden recuperar el conjunto de filas de esquema DISCOVER_MASTER_KEY.

  2. Cambiar la cuenta de servicio de la instancia de Analysis Services.

  3. Utilizar el comando SetEncryptionKey para cifrar la clave de cifrado de instancias recuperada con la nueva cuenta de servicio.

Si cambia la cuenta de servicio sin recuperar antes la clave de cifrado de instancias, la instancia de Analysis Services ya no podrá leer la información cifrada de las bases de datos de dicha instancia y se produce un error. Para corregir este problema, puede volver a cambiar la cuenta de servicio a la cuenta de usuario especificada anteriormente y realizar, a continuación, el proceso anterior para cambiar correctamente la cuenta de servicio.

Especificar la clave de cifrado

La propiedad Key del comando SetEncryptionKey contiene una representación de cadena de la clave de cifrado. La propiedad Key debe establecerse en el valor de la columna KEY del conjunto de filas de esquema DISCOVER_MASTER_KEY que se recuperó antes de cambiar la cuenta de servicio para la instancia de Analysis Services.

Restablecer la clave de cifrado

También puede restablecer la clave de cifrado mediante el comando SetEncryptionKey. Para restablecer la clave de cifrado, establezca el atributo Reset del comando SetEncryptionKey en true. Analysis Services restablece la clave de cifrado de instancias mediante las acciones siguientes:

  1. Descifra la clave de cifrado de instancias, las claves de cifrado de base de datos y los secretos contenidos en las bases de datos de dicha instancia.

  2. Cambia el valor de la clave de cifrado de instancias.

  3. Cifra todo con la nueva clave de cifrado de instancias.

La cuenta de servicio actual para la instancia de Analysis Services se utiliza para descifrar la clave de cifrado de instancias anterior y cifrar la nueva clave de cifrado de instancias. Al restablecer la clave de cifrado de instancias, no especifique un valor para la propiedad Key del comando.

Ejemplos

Descripción

En el ejemplo siguiente se establece la clave de cifrado de instancias en el valor especificado en Key.

Código

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

Descripción

En el ejemplo siguiente se restablece la clave de cifrado de instancias.

Código

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