Migrez les données vers ou depuis les colonnes en utilisant Always Encrypted avec l’Assistant d’importation et d’exportation SQL Server

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

L’Assistant d’importation et d’exportation SQL Server est un outil qui vous permet de copier des données d’une source vers une destination. Cet article décrit comment utiliser l’Assistant d’importation et d’exportation SQL Server lorsque la source, la destination, ou les deux, est une base de données SQL Server contenant des colonnes protégées par Always Encrypted.

Scénarios de migration

Avec l’Assistant Importation et exportation SQL Server, vous pouvez implémenter les scénarios suivants pour migrer des données vers ou depuis des colonnes chiffrées.

Chiffrer des données texte en clair lors de la migration

Si votre source de données contient des données en clair et que votre destination est une base de données SQL Server contenant des colonnes chiffrées, vous pouvez utiliser l’Assistant d’importation et d’exportation de SQL Server pour récupérer les données en clair de la source, les chiffrer et copier les données chiffrées (texte chiffré) dans les colonnes chiffrées de la base de données de destination. Dans ce scénario de migration, la source de données peut être n’importe quel magasin de données pris en charge par l’assistant d’importation et d’exportation SQL Server, tel qu’un fichier, une base de données SQL Server ou une base de données dans un autre système de base de données.

Pour garantir que l’Assistant d’Importation et d’Exportation SQL Server puisse chiffrer les données, activez Always Encrypted pour la connexion à la base de données de destination, et assurez-vous d’avoir accès aux clés qui protègent les données dans les colonnes de la base de données de destination. Pour plus d’informations, consultez Activer et désactiver Always Encrypted pour une connexion de base de données et Autorisations pour le chiffrement ou le déchiffrement des données lors de la migration.

Déchiffrer des données chiffrées lors de la migration

Si vous migrez des données stockées dans des colonnes de base de données chiffrées dans une base de données SQL Server, vous pouvez configurer l'Assistant d'Importation et d'Exportation de SQL Server pour déchiffrer les données et copier les données déchiffrées (en clair) vers une destination. La destination peut être n’importe quel magasin de données pris en charge par l’Assistant d’importation et d’exportation SQL Server, tel qu’un fichier, une base de données SQL Server ou une base de données dans un autre système de base de données.

Pour garantir que l’Assistant d’Importation et d’Exportation SQL Server puisse déchiffrer les données, activez Always Encrypted pour la connexion à la base de données source, et assurez-vous d’avoir accès aux clés qui protègent les données dans les colonnes de la base de données source. Pour plus d’informations, consultez Activer et désactiver Always Encrypted pour une connexion de base de données et Autorisations pour le chiffrement ou le déchiffrement des données lors de la migration.

Rechiffrer des données lors de la migration

Si vous copiez des données de colonnes chiffrées dans une base de données SQL Server source vers des colonnes chiffrées dans la même base de données SQL Server ou une autre, vous pouvez configurer l'Assistant d'importation et d'exportation SQL Server pour déchiffrer les données après les avoir récupérées dans la source, puis les rechiffrer avant de les insérer dans les colonnes chiffrées de la base de données de destination. Utilisez cette méthode si le schéma des colonnes cibles, tels que les types de données de colonnes, les types de chiffrement et les clés de chiffrement de colonnes, diffère du schéma des colonnes sources.

Pour garantir que l’Assistant d’Importation et d’Exportation SQL Server puisse chiffrer et déchiffrer les données, activez Always Encrypted pour la connexion à la base de données source et la connexion à la base de données de destination, et assurez-vous d’avoir accès aux clés qui protègent les données dans les colonnes de base de données source et cible. Pour plus d’informations, consultez Activer et désactiver Always Encrypted pour une connexion de base de données et Autorisations pour le chiffrement ou le déchiffrement des données lors de la migration.

Conserver les données chiffrées lors de la migration

Si vous copiez des données de colonnes chiffrées dans une base de données SQL Server source vers des colonnes chiffrées dans la même base de données SQL Server ou une autre, et que les colonnes cibles utilisent exactement le même schéma que les colonnes sources, y compris les mêmes types de données, types de chiffrement et clés de chiffrement de colonnes, vous pouvez configurer l'Assistant d'importation et d'exportation SQL Server pour récupérer le texte chiffré des colonnes sources et insérer les données chiffrées (texte chiffré) dans la colonne chiffrée de la base de données SQL Server cible.

Dans ce scénario, utilisez tout fournisseur de données supportant SQL Server pour vous connecter à la base de données source ou de destination SQL Server. Si vous utilisez un fournisseur qui supporte Always Encrypted pour se connecter à la base de données de destination, assurez-vous que Always Encrypted est désactivé pour la connexion à la base de données. Pour plus d’informations, consultez Activer et désactiver Always Encrypted pour une connexion de base de données.

Vous devez également vous assurer que le principal de base de données (utilisateur) utilisé par l’Assistant d’importation et d’exportation SQL Server pour se connecter à la base de données de destination est configuré avec l’option ALLOW_ENCRYPTED_VALUE_MODIFICATIONS définie sur ON. Cette option désactive les vérifications de métadonnées cryptographiques sur le serveur lors des opérations de copie en masse, ce qui permet à l’assistant d’insérer en masse les données chiffrées dans la base de données de destination sans les déchiffrer. Pour plus d’informations, voir Charger en masse les données chiffrées dans des colonnes protégées par Always Encrypted.

Activer et désactiver Always Encrypted pour une connexion de base de données

Si votre scénario de migration nécessite que l’assistant d’importation et d’exportation SQL Server chiffre ou déchiffre les données, configurez la connexion source de la base de données SQL Server, la connexion de la base de données SQL Server de destination, ou les deux, en utilisant un fournisseur de données supportant Always Encrypted. Vous devez aussi activer le mode Always Encrypted pour ces connexions.

Utilisez n’importe quel fournisseur de données pour une connexion si vous n’avez pas besoin de l’assistant pour chiffrer ou déchiffrer les données sur cette connexion.

Les fournisseurs de données suivants de l’Assistant d’importation et d’exportation SQL Server prennent en charge Always Encrypted.

Autorisations pour le chiffrement ou le déchiffrement des données lors de la migration

Pour chiffrer ou déchiffrer les données stockées dans une base de données source ou de destination SQL Server, il vous faut les autorisations VIEW ANY COLUMN MASTER KEY DEFINITION et VIEW ANY COLUMN ENCRYPTION KEY DEFINITION dans la base de données source. 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 nécessaires pour les opérations de gestion de clés, consultez Créer et stocker des clés principales de colonne pour Always Encrypted, puis recherchez la section pertinente pour votre magasin de clés.