Partager via


Enhanced encryption

Applies to: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

SQL Server 2022 Analysis Services (SSAS) CU1 et versions ultérieures incluent un chiffrement amélioré pour certaines opérations d’écriture dans le schéma de base de données de modèle. Lors de la mise à niveau à partir d’une version SSAS antérieure, vous devez mettre à jour vos bases de données de modèle pour utiliser le chiffrement le plus récent. Si le chiffrement n’est pas mis à niveau, certaines opérations d’écriture de schéma de base de données sont bloquées. Par exemple, vous ne pouvez pas ajouter une nouvelle source de données ou modifier des chaînes de connexion.

Caution

Les bases de données Analysis Services nouvelles ou mises à niveau avec chiffrement amélioré ne peuvent pas être chargées sur les versions antérieures de SQL Server Analysis Services.

Mise à niveau des bases de données de modèle tabulaire

Pour les bases de données de modèle tabulaire au niveau de compatibilité 1600 et supérieur, l’erreur suivante peut être retournée pendant certaines opérations d’écriture de schéma :

« La nouvelle base de données tabulaire%{DatabaseName/} » n’utilise pas le schéma de chiffrement le plus récent. Exécutez la commande RemoveDiscontinuedFeatured avec l’option EnsureProperEncryption (ou restaurez la base de données à partir du fichier de sauvegarde avec la même option) pour effectuer la mise à niveau vers le dernier chiffrement. »

To upgrade encryption, either back up the database and then restore with the EnsureProperEncryption option enabled by running the following XMLA command in SQL Server Management Studio:

<Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine" Transaction="false" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl100="http://schemas.microsoft.com/analysisservices/2008/engine/100">
<Restore xmlns="http://schemas.microsoft.com/analysisservices/2003/engine" xmlns:ddl922="http://schemas.microsoft.com/analysisservices/2022/engine/922">
<File>your_backup_file_pathname</File>
<AllowOverwrite>true</AllowOverwrite>
<ddl922:EnsureProperEncryption>true</ddl922:EnsureProperEncryption>
</Restore>
</Batch>

Ou, si la base de données est déjà chargée, exécutez la commande XML for Analysis (XMLA) suivante dans SQL Server Management Studio :

<RemoveDiscontinuedFeatures xmlns='http://schemas.microsoft.com/analysisservices/2003/engine' xmlns:ddl922='http://schemas.microsoft.com/analysisservices/2022/engine/922'>
  <DatabaseID>DatabaseName</DatabaseID>
  <ddl922:EnsureProperEncryption>true</ddl922:EnsureProperEncryption>
</RemoveDiscontinuedFeatures>

Mise à niveau des bases de données de modèle multidimensionnel

Pour les bases de données de modèle multidimensionnelles à tous les niveaux de compatibilité, l’erreur suivante peut être retournée pendant certaines opérations d’écriture de schéma :

« La base de données multidimensionnelle%{DatabaseName/}' n’utilise pas le schéma de chiffrement le plus récent. Créez un fichier de sauvegarde et restaurez la base de données à partir du fichier de sauvegarde avec l’option EnsureProperEncryption pour effectuer une mise à niveau vers le dernier chiffrement. »

To upgrade encryption, back up the database and then restore with the EnsureProperEncryption option enabled.

Ou, si la base de données est déjà chargée, exécutez la commande XMLA suivante dans SQL Server Management Studio :

<RemoveDiscontinuedFeatures xmlns='http://schemas.microsoft.com/analysisservices/2003/engine' xmlns:ddl922='http://schemas.microsoft.com/analysisservices/2022/engine/922'>
  <DatabaseID>DatabaseName</DatabaseID>
  <ddl922:EnsureProperEncryption>true</ddl922:EnsureProperEncryption>
</RemoveDiscontinuedFeatures>

Gestion de la durée de vie clé

SQL Server Analysis Services utilise une clé de chiffrement de base de données pour chiffrer les données sensibles par base de données, telles que les informations d’identification de source de données et les chaînes de connexion. Dans SSAS 2025 et versions ultérieures, vous pouvez utiliser l’ensemble de lignes de schéma DBSCHEMA_CATALOGS pour déterminer le niveau de chiffrement de vos bases de données de modèle, ainsi que l’âge de la clé de base de données. Vérifiez la colonne ENCRYPTION_LEVEL et vérifiez que le niveau est Analysis Services 2022 CU. Vérifiez la colonne CRYPTOKEY_UPDATED pour la date de création ou la dernière date de régénération de la clé de chiffrement de base de données.

Vous pouvez régénérer la clé de chiffrement de base de données à l’aide de la commande RemoveDiscontinuedFeatures. Comme la mise à niveau à partir du chiffrement hérité décrit précédemment, la commande RemoveDiscontinuedFeatures déchiffre les données sécurisables, génère une nouvelle clé de chiffrement de base de données, puis chiffre à nouveau les données sécurisables à l’aide de la nouvelle clé de chiffrement de base de données.

<RemoveDiscontinuedFeatures xmlns='http://schemas.microsoft.com/analysisservices/2003/engine' xmlns:ddl922='http://schemas.microsoft.com/analysisservices/2022/engine/922'>
  <DatabaseID>DatabaseName</DatabaseID>
  <ddl922:EnsureProperEncryption>true</ddl922:EnsureProperEncryption>
</RemoveDiscontinuedFeatures>

Procédures de modification de compte de service

SQL Server Analysis Services chiffre chaque clé de chiffrement de base de données à l’aide d’une clé de chiffrement à l’échelle du serveur. Le chiffrement amélioré dans SSAS 2022 CU1 et versions ultérieures utilise ensuite l’API de protection des données (DPAPI) pour protéger et accéder en toute sécurité à la clé de chiffrement du serveur à l’aide d’informations du compte de service actuel et du compte d’ordinateur local. La clé de chiffrement du serveur peut uniquement être déchiffrée à l’aide du même compte de service sur l’ordinateur local. En raison de la dépendance sur le compte de service actuel, veillez à suivre les procédures ci-dessous pour modifier le compte de service SQL Server Analysis Services.

Modification du compte de service d’une instance multidimensionnelle

Si vous devez modifier le compte de service d’une instance de serveur s’exécutant en mode multidimensionnel, il est essentiel de sauvegarder vos bases de données de modèle, de désinstaller, puis de réinstaller le serveur, puis de restaurer les bases de données de modèle. Cette approche garantit que tous les éléments sécurisables sont correctement chiffrés, notamment les informations d’identification QueryLogConnectionString et ImpersonationAccount. Alternatively, you can also use an attach/detach approach, but this approach requires you to preserve the existing data folder.

  1. Utilisez SSMS pour sauvegarder chaque base de données dans un fichier .abf.

  2. Désinstallez l’instance de serveur SSAS.

  3. Supprimez les restes de l’instance de serveur désinstallée, telles que les dossiers de données restants ou les fichiers de configuration.

  4. Installez une nouvelle instance de serveur SSAS et attribuez un nouveau compte de service.

  5. Restaurez les bases de données à partir des fichiers .abf de sauvegarde.

Soyez prudent lors de l’implémentation de ces étapes pour éviter la perte de données ou les vulnérabilités de sécurité. Effectuez toujours des sauvegardes de données et demandez des conseils à votre administrateur système avant d’apporter des modifications substantielles aux comptes de service ou aux configurations de serveur.

Modification du compte de service d’une instance tabulaire

Les instances de serveur tabulaire ne nécessitent pas de réinstallation complète du serveur, car les serveurs tabulaires n’utilisent pas les informations d’identification QueryLogConnectionString ou ImpersonationAccount à l’échelle du serveur. Même si la procédure ne s’appuie pas sur les sauvegardes de base de données, vous devez toujours effectuer des sauvegardes de données et demander des conseils de votre administrateur système avant d’apporter des modifications substantielles aux comptes de service ou aux configurations de serveur.

  1. Recommandé mais facultatif, utilisez SSMS pour sauvegarder chaque base de données dans un fichier .abf.

  2. Détachez toutes les bases de données de modèle.

  3. Arrêtez le service SSAS.

  4. Supprimez tous les fichiers du dossier Données, à l’exception des fichiers Administrators.xml et master.vmp, supprimez la chaîne de connexion du journal des requêtes et le mot de passe d’emprunt d’identité dans msmdsrv.ini, puis conservez les répertoires de base de données.

  5. Modifiez le compte de service SSAS.

  6. Démarrez le service SSAS.

  7. Attachez à nouveau toutes les bases de données de modèle.

Déplacement de bases de données de modèle vers une autre instance de serveur

Si vous devez transférer des bases de données de modèle entre des serveurs, il est essentiel d’utiliser une méthode de sauvegarde/restauration ou de détachement/attachement. Consultez Déplacer une base de données Analysis Services pour des détails sur l'utilisation de l'approche de détachement/attachement à l'aide de SSMS, AMO ou XMLA.

Prise en charge des clusters de basculement

SQL Server 2025 Analysis Services avec chiffrement amélioré peut être installé sur un Windows Server Failover Cluster (WSFC) pour obtenir une haute disponibilité. Dans un environnement WSFC, toutes les instances de serveur doivent utiliser le même compte d’utilisateur de domaine Active Directory que le compte de service afin que la clé de chiffrement du serveur puisse être déchiffrée sur toutes les instances de serveur. Les comptes Windows locaux, les comptes Build-In et les comptes Entra ID ne sont pas pris en charge.

Note

SQL Server 2022 Analysis Services CU1 avec chiffrement amélioré ne prend pas en charge les clusters de basculement. Pour bénéficier d’un chiffrement amélioré dans un environnement de cluster de basculement, vous devez effectuer une mise à niveau vers SQL Server 2025 Analysis Services.

Troubleshooting

Problem: If the backup/restore steps above aren't followed, changing SQL Server 2022 Analysis Services service account can cause the service to fail to start.

Le message suivant dans le fichier Log\msmdsrv.log indique que le service ne peut pas démarrer, car le compte de service a été modifié :

« La clé de chiffrement Server Gen2 n’est pas présente, mais le système d’objet d’assembly de serveur est défini pour utiliser la clé de chiffrement server gen2. Fin du serveur. (Source : \ ?\C :\Program Files\Microsoft SQL Server\MSAS16. MSSQLSERVER\OLAP\Log\msmdsrv.log, Type : 1, Catégorie : 289, ID d’événement : 0x4121005C »

Solution: In the msmdsrv.ini file, in ConfigurationSettings>DataDir, determine the location of the Data folder. Then in the Data folder, delete the files with the name containing .asm.xml, and all folders with an .asm extension.

Après avoir supprimé les fichiers, redémarrez le service Analysis Services. Les fichiers .asm sont automatiquement créés à nouveau.

Les propriétés chiffrées suivantes doivent ensuite être configurées à l’aide de SQL Server Management Studio (SSMS) :

  • Log\QueryLog\QueryLogConnectionString.
  • Chaque mot de passe de compte d'imitation de source de données ou mot de passe d'authentification.

See also

Sauvegarder et restaurer des bases de données Analysis Services
Niveau de compatibilité pour les modèles tabulaires