Configurer le chiffrement de colonne à l'aide de l'Assistant Always Encrypted
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance
L'Assistant Always Encrypted est un outil puissant qui vous permet de définir la configuration Always Encrypted souhaitée pour les colonnes de base de données sélectionnées. Selon la configuration actuelle et la configuration cible souhaitée, l'Assistant peut chiffrer une colonne, la déchiffrer (supprimer le chiffrement) ou la rechiffrer (par exemple, à l'aide d'une nouvelle clé de chiffrement de colonne ou d'un type de chiffrement différent du type actuel configuré pour la colonne). Plusieurs colonnes peuvent être configurées avec une seule exécution de l'Assistant.
L'Assistant vous permet de chiffrer des colonnes avec des clés de chiffrement de colonne existantes, ou vous pouvez choisir de générer une nouvelle clé de chiffrement de colonne, ou une nouvelle clé de chiffrement de colonne et une nouvelle clé principale de colonne.
Lorsque votre base de données est configurée avec une enclave sécurisée, vous pouvez exécuter des opérations cryptographiques sur place, sans déplacer les données hors de la base de données. L'Assistant supprime toutes les dépendances qui bloquent la modification du schéma de la colonne à chiffrer. Il émet un chiffrement sur place pour chaque colonne en utilisant l'enclave dans le moteur de base de données. Une fois le chiffrement terminé, l'Assistant recrée les dépendances. Pour plus d’informations sur Always Encrypted avec enclaves sécurisées, consultez Always Encrypted avec enclaves sécurisées.
Lorsque votre base de données n'est pas configurée avec une enclave sécurisée, l'Assistant vous donne la possibilité d'activer une enclave sécurisée. Si vous choisissez de ne pas activer d'enclave sécurisée ou si vous n'utilisez pas de clés activées par l'enclave, l'Assistant déplace les données hors de la base de données et effectue des opérations cryptographiques dans le cadre du processus SSMS. L'Assistant crée une ou plusieurs tables avec la configuration de chiffrement souhaitée dans la base de données, charge toutes les données des tables d'origine, effectue les opérations de chiffrement demandées, charge les données dans les nouvelles tables, puis remplace les tables d'origine par les nouvelles tables.
Conseil
L'utilisation du chiffrement sur place en utilisant Always Encrypted avec des enclaves sécurisées, s'il est disponible dans votre environnement, peut réduire considérablement la durée et la fiabilité des opérations cryptographiques.
Remarque
L’exécution des opérations de chiffrement peut prendre beaucoup de temps. Pendant ce temps, votre base de données n’est pas disponible pour l’écriture de transactions. Nous recommandons d’utiliser PowerShell pour les opérations de chiffrement sur les tables plus grandes. Reportez-vous à Configurer le chiffrement de colonne en utilisant Always Encrypted avec PowerShell ou Configurer le chiffrement de colonne sur place avec PowerShell.
Pour une procédure détaillée montrant comment configurer Always Encrypted avec l'Assistant et comment l'utiliser dans une application cliente, consultez les didacticiels de base de données Azure SQL suivants :
Pour plus d’informations sur les clés Always Encrypted, consultez Vue d’ensemble de la gestion de clés pour Always Encrypted.
Pour plus d’informations sur les types de chiffrement pris en charge dans Always Encrypted, consultez Sélection du chiffrement déterministe ou aléatoire.
autorisations
Pour effectuer des opérations de chiffrement avec l'Assistant, vous devez avoir les autorisations VIEW ANY COLUMN MASTER KEY DEFINITION et VIEW ANY COLUMN ENCRYPTION KEY DEFINITION. Vous devez également disposer d’autorisations de magasin de clés pour créer votre clé principale de colonne, y accéder et l’utiliser. Pour obtenir des informations détaillées sur les autorisations de magasin de clés, accédez à Créer et stocker des clés principales de colonne pour Always Encrypted, ou recherchez une section pertinente pour votre magasin de clés.
Ouvrir l'Assistant Always Encrypted
Vous pouvez lancer l'Assistant à trois niveaux différents :
- Au niveau de la base de données, si vous voulez chiffrer plusieurs colonnes de tables différentes.
- Au niveau de la table, si vous voulez chiffrer plusieurs colonnes de la même table.
- Au niveau de la colonne, si vous voulez chiffrer une colonne spécifique.
Connectez-vous à votre SQL Server avec le composant Explorateur d'objets de SQL Server Management Studio.
Pour chiffrer :
- Plusieurs colonnes dans des tables différentes d’une base de données, cliquez avec le bouton droit sur votre base de données, pointez sur Tâches, puis sélectionnez Chiffrer les colonnes.
- Plusieurs colonnes de la même table, accédez à la table, cliquez dessus avec le bouton droit, puis sélectionnez Chiffrer les colonnes.
- Une colonne individuelle, accédez à la colonne, cliquez dessus avec le bouton droit, puis sélectionnez Chiffrer les colonnes.
Page de sélection de la colonne
Dans cette page, vous sélectionnez les colonnes à chiffrer, rechiffrer ou déchiffrer, et définissez la configuration du chiffrement cible pour les colonnes sélectionnées.
Pour chiffrer une colonne en texte clair (colonne non chiffrée), sélectionnez un type de chiffrement (déterministe ou aléatoire) et une clé de chiffrement pour la colonne.
Pour changer le type de chiffrement ou pour permuter (changer) la clé de chiffrement de colonne d’une colonne déjà chiffrée, sélectionnez le type de chiffrement et la clé souhaités.
Si vous voulez que l'Assistant chiffre ou rechiffre une ou plusieurs colonnes à l'aide d'une nouvelle clé de chiffrement de colonne, sélectionnez une clé contenant (New) dans son nom. L'Assistant génère la clé.
Pour déchiffrer une colonne chiffrée, sélectionnez Texte en clair comme type de chiffrement.
Remarque
Si vous souhaitez tirer parti du chiffrement sur place et que vous utilisez des clés existantes, veillez à sélectionner des clés compatibles avec l'enclave – annotées par (compatible avec l'enclave).
Remarque
L'Assistant ne prend pas en charge les opérations de chiffrement sur les tables temporelles et en mémoire. Vous pouvez créer des tables temporelles ou en mémoire vides à l’aide de Transact-SQL et insérer des données à l’aide de votre application.
Page de configuration de la clé principale
Si vous avez sélectionné une clé de chiffrement de colonne générée automatiquement pour une colonne de la page précédente, dans cette page vous devez sélectionner une clé principale de colonne existante ou configurer une nouvelle clé principale de colonne qui chiffre la clé de chiffrement de colonne.
Quand vous configurez une nouvelle clé principale de colonne, vous pouvez choisir une clé existante dans le magasin de certificats Windows ou dans Azure Key Vault, et demander à l'Assistant de créer simplement un objet de métadonnées pour la clé dans la base de données, ou vous pouvez choisir de générer la clé et l'objet de métadonnées décrivant la clé dans la base de données.
Pour utiliser le chiffrement sur place, assurez-vous de sélectionner Autoriser les calculs d'enclave pour une nouvelle clé principale de colonne. La sélection de cette case à cocher n'est autorisée que si votre base de données est configurée avec une enclave sécurisée.
Pour en savoir plus sur la création et le stockage de clés principales de colonne dans le magasin de certificats Windows, Azure Key Vault ou d'autres magasins de clés, reportez-vous à Créer et stocker des clés principales de colonne pour Always Encrypted ou Gérer des clés pour Always Encrypted avec des enclaves sécurisées.
Conseil
L'Assistant vous permet de parcourir et créer des clés uniquement dans le magasin de certificats Windows et Azure Key Vault. Par ailleurs, il génère automatiquement les noms des nouvelles clés et des nouveaux objets de métadonnées de base de données décrivant les clés. Si vous avez besoin de contrôler davantage le provisionnement de vos clés (et d'avoir plus de choix pour le magasin de clés contenant votre clé principale de colonne), vous pouvez utiliser les boîtes de dialogue Nouvelle clé principale de colonne et Nouvelle clé de chiffrement de colonne pour d'abord créer les clés, puis exécuter l'Assistant et choisir les clés que vous avez créées. Reportez-vous à Approvisionner les clés principales de colonne avec la boîte de dialogue Nouvelle clé principale de colonne ou Approvisionner les clés activées par l'enclave et Approvisionner les clés de chiffrement de colonne avec la boîte de dialogue Nouvelle clé de chiffrement de colonne.
Page Paramètres de chiffrement sur place
Si vous avez configuré une enclave sécurisée dans votre base de données et que vous utilisez des clés activées par l'enclave, cette page vous permet de spécifier les paramètres d'attestation de l'enclave, requis pour le chiffrement sur place. Si vous ne souhaitez pas utiliser le chiffrement sur place, décochez la case Utiliser le chiffrement sur place pour les colonnes éligibles afin de procéder au chiffrement côté client. Nous vous recommandons de laisser cette case cochée afin que l'Assistant puisse utiliser le chiffrement sur place.
Pour en savoir plus sur l'attestation d'enclave, reportez-vous à Configurer l'attestation pour Always Encrypted en utilisant Azure Attestation
Étapes suivantes
- Interroger des colonnes en utilisant Always Encrypted avec SQL Server Management Studio
- Exécuter des instructions Transact-SQL à l’aide d’enclaves sécurisées
- Développer des applications avec Always Encrypted
- Tutoriel : Développer une application .NET en utilisant Always Encrypted avec enclaves sécurisées
Voir aussi
- Always Encrypted
- Always Encrypted avec enclaves sécurisées
- Vue d’ensemble de la gestion des clés pour Always Encrypted
- Configurer Always Encrypted à l’aide de SQL Server Management Studio
- Configurer et utiliser Always Encrypted avec enclaves sécurisées
- Provisionner des clés Always Encrypted en utilisant PowerShell
- Approvisionner des clés prenant en charge les enclaves avec PowerShell
- Configurer le chiffrement de colonne avec Always Encrypted en utilisant PowerShell
- Configurer le chiffrement de colonne sur place avec PowerShell
- Configurer le chiffrement de colonne en utilisant Always Encrypted avec un package DAC
- Configurer le chiffrement de colonne sur place avec le package DAC
- Configurer le chiffrement de colonne sur place avec Transact-SQL