Share via


Gestion des clés de chiffrement d'instance (XMLA)

Vous pouvez utiliser la commande SetEncryptionKey de XMLA (XML for Analysis) pour définir ou réinitialiser la clé de chiffrement d'instance pour une instance de MicrosoftSQL ServerAnalysis Services.

Remarque relative à la sécuritéRemarque relative à la sécurité

Seuls les administrateurs de serveur peuvent exécuter la commande SetEncryptionKey.

La clé de chiffrement d'instance ne peut être déchiffrée que par le compte qui a servi à chiffrer la clé. Par conséquent, la clé de chiffrement d'instance doit d'abord être déchiffrée et récupérée avant que le compte de service utilisé par l'instance Analysis Services ne soit modifié. Elle est ensuite chiffrée une fois le compte de service modifié. À défaut, l'instance ne peut plus déchiffrer les clés de chiffrement de base de données qui, pour leur part, chiffrent et déchiffrent les secrets (tel que les mots de passe pour les sources de données) stockées dans la base de données.

Pour modifier correctement le compte de service d'une instance Analysis Services, vous devez procéder comme suit :

  1. Appelez la méthode XMLA Discover pour déchiffrer la clé de chiffrement d'instance existante et récupérer l'ensemble de lignes de schéma DISCOVER_MASTER_KEY.

    Remarque relative à la sécuritéRemarque relative à la sécurité

    Seuls les administrateurs de serveur peuvent récupérer l'ensemble de lignes de schéma DISCOVER_MASTER_KEY.

  2. Modifiez le compte de service de l'instance Analysis Services.

  3. Utilisez la commande SetEncryptionKey pour chiffrer la clé de chiffrement d'instance récupérée en utilisant le nouveau compte de service.

Si vous modifiez le compte de service sans récupérer préalablement la clé de chiffrement d'instance, l'instance Analysis Services ne peut plus lire les informations chiffrées des bases de données de cette instance et une erreur se produit. Pour corriger ce problème, vous pouvez remodifier le compte de service de façon à rétablir le compte utilisateur tel qu'il était spécifié auparavant, puis exécuter le processus précédent pour modifier correctement le compte de service.

Spécification de la clé de chiffrement

La propriété Key de la commande SetEncryptionKey contient une représentation de la clé de chiffrement sous forme de chaîne. La propriété Key doit être définie sur la valeur de la colonne KEY dans l'ensemble de lignes de schéma DISCOVER_MASTER_KEY qui a été récupéré avant que le compte de service de l'instance Analysis Services ne soit modifié.

Réinitialisation de la clé de chiffrement

Vous pouvez également réinitialiser la clé de chiffrement à l'aide de la commande SetEncryptionKey. Pour réinitialiser la clé de chiffrement, définissez l'attribut Reset de la commande SetEncryptionKey à true. Analysis Services réinitialise la clé de chiffrement d'instance en effectuant les actions suivantes :

  1. Déchiffrement de la clé de chiffrement d'instance, des clés de chiffrement des base de données et des secrets contenus dans les bases de données de cette instance.

  2. Modification de la valeur de la clé de chiffrement d'instance.

  3. Chiffrement global au moyen de la nouvelle clé de chiffrement.

Le compte de service actif de l'instance Analysis Services est utilisé pour déchiffrer l'ancienne clé de chiffrement d'instance et chiffrer la nouvelle. Au moment de réinitialiser la clé de chiffrement d'instance, ne spécifiez pas de valeur pour la propriété Key de la commande.

Exemples

Description

L'exemple suivant attribut à la clé de chiffrement d'instance la valeur spécifiée dans Key.

Code

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

Description

L'exemple suivant réinitialise la clé de chiffrement d'instance.

Code

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