Partager via


Configurer le chiffrement de colonne sur place avec le package DAC

S’applique à : SQL Server Azure SQL Database

Un package d’application de la couche Données (DAC), également appelé DACPAC, est une unité portable de déploiement de base de données SQL Server qui définit tous les objets SQL Server, notamment les tables et les colonnes à l’intérieur des tables. Quand vous publiez un DACPAC sur une base de données (quand vous mettez à niveau une base de données avec un DACPAC), le schéma de la base de données cible est mis à jour pour correspondre au schéma dans le DACPAC. Vous pouvez publier un DACPAC en utilisant l’Assistant Mise à niveau d’une application de la couche Données dans SQL Server Management Studio, PowerShell ou sqlpackage.

Cet article traite des considérations spéciales relatives à la mise à niveau d’une base de données quand le DACPAC et/ou la base de données cible contient des colonnes protégées avec Always Encrypted. Si le schéma de chiffrement d’une colonne dans le DACPAC diffère du schéma de chiffrement pour une colonne existante dans la base de données cible, la publication du DACPAC entraîne le chiffrement, le déchiffrement ou le rechiffrement des données stockées dans la colonne. Consultez la table ci-dessous pour plus d’informations.

Condition Action
La colonne est chiffrée dans le fichier DACPAC et n’est pas chiffrée dans la base de données. Les données de la colonne sont chiffrées.
La colonne n’est pas chiffrée dans le fichier DACPAC et est chiffrée dans la base de données. Les données de la colonne sont déchiffrées (le chiffrement est supprimé de la colonne).
La colonne est chiffrée à la fois dans le fichier DACPAC et la base de données, mais la colonne dans le fichier DACPAC utilise un type de chiffrement et/ou une clé de chiffrement de colonne autre que la colonne correspondante dans la base de données. Les données de la colonne sont déchiffrées, puis rechiffrées pour correspondre à la configuration de chiffrement dans le fichier DACPAC.

Le déploiement d’un package DAC peut également entraîner la création ou la suppression d’objets de métadonnées pour des clés principales de colonne ou des clés de chiffrement de colonne pour Always Encrypted.

Remarque

Si vous utilisez SQL Server 2019 (15.x) ou une version ultérieure ou Azure SQL Database et que votre instance SQL Server ou votre base de données est configurée à l’aide d’une enclave sécurisée, vous pouvez exécuter des opérations de chiffrement sur place, sans déplacer les données en dehors de la base de données. Consultez Configurer le chiffrement de colonne sur place en utilisant Always Encrypted avec enclaves sécurisées. Pour déclencher le chiffrement sur place avec un package DAC, l’utilisateur doit spécifier les propriétés EnclaveAttestationProtocol et EnclaveAttestationUrl.

Autorisations pour la publication d’un package DAC si Always Encrypted avec enclaves sécurisées est configuré

Pour publier un package DAC si Always Encrypted avec des enclaves sécurisées est configuré dans le DACPAC et/ou dans la base de données cible, vous pouvez avoir besoin de tout ou partie des autorisations ci-dessous, en fonction des différences entre le schéma du DACPAC et le schéma de la base de données cible.

ALTER ANY COLUMN MASTER KEY, ALTER ANY COLUMN ENCRYPTION KEY, VIEW ANY COLUMN MASTER KEY DEFINITION, VIEW ANY COLUMN ENCRYPTION KEY DEFINITION

Si l’opération de mise à niveau déclenche une opération de chiffrement de données, vous devez également disposer d’autorisations de magasin de clés pour accéder à votre clé principale de colonne et l’utiliser. Pour obtenir des informations détaillées sur les autorisations de magasin de clés, accédez à Approvisionner des clés à enclaves activées et recherchez une section pertinente pour votre magasin de clés.

Étapes suivantes

Voir aussi