Always Encrypted avec enclaves sécuriséesAlways Encrypted with Secure Enclaves

CETTE RUBRIQUE S’APPLIQUE À :ouiSQL Server (à partir de la version 2019)nonAzure SQL DatabasenonAzure SQL Data Warehouse nonParallel Data Warehouse THIS TOPIC APPLIES TO:yesSQL Server (starting with 2019)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Always Encrypted avec enclaves sécurisées fournit des fonctionnalités supplémentaires à la fonction Always Encrypted.Always Encrypted with secure enclaves provides additional functionality to the Always Encrypted feature.

Introduit dans SQL Server 2016, Always Encrypted protège la confidentialité des données sensibles contre les programmes malveillants et les utilisateurs non autorisés à privilèges élevés de SQL Server.Introduced in SQL Server 2016, Always Encrypted protects the confidentiality of sensitive data from malware and high-privileged unauthorized users of SQL Server. Les utilisateurs non autorisés à privilèges élevés sont les administrateurs de bases de données (DBA), les administrateurs d’ordinateurs, les administrateurs de cloud ou toute autre personne qui a un accès légitime aux instances de serveur, au matériel, etc., mais ne devant pas avoir accès à tout ou partie des données réelles.High-privileged unauthorized users are DBAs, computer admins, cloud admins, or anyone else who has legitimate access to server instances, hardware, etc., but who should not have access to some or all of the actual data.

Jusqu’à présent, Always Encrypted protégeait les données en les chiffrant côté client et en n’autorisant jamais les données ou les clés de chiffrement correspondantes à s’afficher en texte clair dans le moteur SQL Server.Until now, Always Encrypted protected the data by encrypting it on the client side and never allowing the data or the corresponding cryptographic keys to appear in plaintext inside the SQL Server Engine. Par conséquent, la fonctionnalité sur des colonnes chiffrées à l’intérieur de la base de données était extrêmement limitée.As a result, the functionality on encrypted columns inside the database was severely restricted. Les seules opérations que SQL Server pouvait effectuer sur des données chiffrées étaient les comparaisons d’égalité (et les comparaisons d’égalité n’étaient disponibles qu’avec le chiffrement déterministe).The only operations SQL Server could perform on encrypted data were equality comparisons (and equality comparisons were only available with deterministic encryption). Toutes les autres opérations, notamment les opérations de chiffrement (chiffrement des données initiales ou rotation de clé) ou les calculs riches (par exemple, les critères spéciaux), n’étaient pas prises en charge à l’intérieur de la base de données.All other operations, including cryptographic operations (initial data encryption or key rotation), or rich computations (for example, pattern matching) were not supported inside the database. Les utilisateurs devaient déplacer les données en dehors de la base de données pour effectuer ces opérations côté client.Users needed to move the data outside of the database to perform these operations on the client-side.

Always Encrypted avec enclaves sécurisées résout ces limitations en autorisant les calculs sur les données de texte en clair à l’intérieur d’une enclave sécurisée côté serveur.Always Encrypted with secure enclaves addresses these limitations by allowing computations on plaintext data inside a secure enclave on the server side. Une enclave sécurisée est une région de mémoire protégée dans le processus SQL Server qui agit comme un environnement d’exécution approuvé pour le traitement des données sensibles dans le moteur SQL Server.A secure enclave is a protected region of memory within the SQL Server process, and acts as a trusted execution environment for processing sensitive data inside the SQL Server engine. Une enclave sécurisée apparaît sous la forme d’une boîte noire pour le reste de SQL Server et des autres processus sur l’ordinateur d’hébergement.A secure enclave appears as a black box to the rest of the SQL Server and other processes on the hosting machine. Il n’existe aucun moyen d’afficher les données ou le code à l’intérieur de l’enclave depuis l’extérieur, même avec un débogueur.There is no way to view any data or code inside the enclave from the outside, even with a debugger.

Always Encrypted utilise des enclaves sécurisées, comme illustré dans le diagramme suivant :Always Encrypted uses secure enclaves as illustrated in the following diagram:

flux de données

Lors de l’analyse de la requête d’une application, le moteur SQL Server détermine si la requête contient des opérations sur les données chiffrées qui nécessitent l’utilisation de l’enclave sécurisée.When parsing an application's query, the SQL Server Engine determines if the query contains any operations on encrypted data that require the use of the secure enclave. Pour les requêtes où l’enclave sécurisée doit être accessible :For queries where the secure enclave needs to be accessed:

  • Le pilote client envoie les clés de chiffrement de colonne requises pour les opérations à l’enclave sécurisée (via un canal sécurisé).The client driver sends the column encryption keys required for the operations to the secure enclave (over a secure channel).
  • Ensuite, le pilote client soumet la requête pour exécution, ainsi que les paramètres de la requête chiffrée.Then, the client driver submits the query for execution along with the encrypted query parameters.

Pendant le traitement de la requête, les données ou les clés de chiffrement de colonne ne sont pas exposées en texte clair dans le moteur SQL Server en dehors de l’enclave sécurisée.During query processing, the data or the column encryption keys are not exposed in plaintext in the SQL Server Engine outside of the secure enclave. Le moteur SQL Server délègue les opérations de chiffrement et les calculs sur les colonnes chiffrées à l’enclave sécurisée.The SQL Server engine delegates cryptographic operations and computations on encrypted columns to the secure enclave. Si nécessaire, l’enclave sécurisée déchiffre les paramètres de la requête et/ou les données stockées dans les colonnes chiffrées et effectue les opérations demandées.If needed, the secure enclave decrypts the query parameters and/or the data stored in encrypted columns and performs the requested operations.

Pourquoi utiliser Always Encrypted avec enclaves sécurisées ?Why use Always Encrypted with secure enclaves?

Avec les enclaves sécurisées, Always Encrypted protège la confidentialité des données sensibles, tout en offrant les avantages suivants :With secure enclaves, Always Encrypted protects the confidentiality of sensitive data while providing the following benefits:

  • Chiffrement sur place : les opérations de chiffrement des données sensibles (par exemple, le chiffrement des données initiales ou la permutation d’une clé de chiffrement de colonne) sont effectuées à l’intérieur de l’enclave sécurisée et ne nécessitent pas le déplacement des données en dehors de la base de données.In-place encryption - cryptographic operations on sensitive data, for example: initial data encryption or rotating a column encryption key, are performed inside the secure enclave and do not require moving the data outside of the database. Vous pouvez émettre le chiffrement sur place à l’aide de l’instruction Transact-SQL ALTER TABLE, et vous n’avez pas besoin d’utiliser des outils, comme l’Assistant Always Encrypted dans SSMS ou la cmdlet PowerShell Set-SqlColumnEncryption.You can issue in-place encryption using the ALTER TABLE Transact-SQL statement, and you do not need to use tools, such as the Always Encrypted wizard in SSMS or the Set-SqlColumnEncryption PowerShell cmdlet.

  • Calculs riches (préversion)  : les opérations sur des colonnes chiffrées, notamment les critères spéciaux (prédicat LIKE) et les comparaisons de plages, sont prises en charge à l’intérieur de l’enclave sécurisée, ce qui rend Always Encrypted accessible à une large gamme d’applications et de scénarios qui requièrent que ces calculs s’effectuent dans le système de base de données.Rich computations (preview) - operations on encrypted columns, including pattern matching (the LIKE predicate) and range comparisons, are supported inside the secure enclave, which unlocks Always Encrypted to a broad range of applications and scenarios that require such computations to be performed inside the database system.

Important

Dans SQL Server 2019 - PreviewSQL Server 2019 preview, les calculs riches sont en attente de plusieurs optimisations des performances, incluent des fonctionnalités limitées (aucune indexation, etc.) et sont actuellement désactivés par défaut.In SQL Server 2019 - PreviewSQL Server 2019 preview, rich computations are pending several performance optimizations, include limited functionality (no indexing, etc), and are currently disabled by default. Pour activer les calculs riches, consultez Activer les calculs riches.To enable rich computations, see Enable rich computations.

Dans SQL Server 2019 - PreviewSQL Server 2019 preview, Always Encrypted avec enclaves sécurisées utilise des enclaves mémoire sécurisées de sécurité basée sur la virtualisation (VBS), également appelées mode sécurisé virtuel ou enclaves VSM, dans Windows.In SQL Server 2019 - PreviewSQL Server 2019 preview, Always Encrypted with secure enclaves uses Virtualization-based Security (VBS) secure memory enclaves (also known as Virtual Secure Mode, or VSM enclaves) in Windows.

Attestation d’enclave sécuriséeSecure Enclave Attestation

L’enclave sécurisée à l’intérieur du moteur SQL Server peut accéder aux données sensibles stockées dans les colonnes de base de données chiffrées et les clés de chiffrement de colonne correspondantes en texte en clair.The secure enclave inside the SQL Server Engine can access sensitive data stored in encrypted database columns and the corresponding column encryption keys in plaintext. Avant de soumettre une requête qui implique des calculs d’enclave à SQL Server, le pilote client à l’intérieur de l’application doit vérifier que l’enclave sécurisée est une enclave authentique basée sur une technologie donnée (par exemple, VBS) et que le code s’exécutant à l’intérieur de l’enclave a été signé pour s’exécuter à l’intérieur de l’enclave.Before submitting a query that involves enclave computations to SQL Server, the client driver inside the application must verify the secure enclave is a genuine enclave based on a given technology (for example, VBS) and the code running inside the enclave has been signed for running inside the enclave.

Le processus de vérification de l’enclave est appelé attestation d’enclave, et il implique généralement qu’un pilote client dans l’application (et parfois également SQL Server) contacte un service d’attestation externe.The process of verifying the enclave is called enclave attestation, and it usually involves a client driver within the application (and sometimes also SQL Server) contacting an external attestation service. Les détails du processus d’attestation dépendent de la technologie de l’enclave et du service d’attestation.The specifics of the attestation process depend on the enclave technology and the attestation service.

Le processus d’attestation pris en charge par SQL Server pour les enclaves sécurisées VBS dans SQL Server 2019 - PreviewSQL Server 2019 preview est l’attestation de runtime Windows Defender System Guard, qui utilise le service HGS (Host Guardian Service) comme service d’attestation.The attestation process SQL Server supports for VBS secure enclaves in SQL Server 2019 - PreviewSQL Server 2019 preview is Windows Defender System Guard runtime attestation, which uses Host Guardian Service (HGS) as an attestation service. Vous devez configurer SGH dans votre environnement et inscrire l’ordinateur qui héberge votre instance SQL Server dans SGH.You need to configure HGS in your environment and register the machine hosting your SQL Server instance in HGS. Vous devez également configurer vos outils ou applications client (par exemple, SQL Server Management Studio) avec une attestation SGH.You also must configure you client applications or tools (for example, SQL Server Management Studio) with an HGS attestation.

Fournisseurs d’enclave sécuriséeSecure Enclave Providers

Pour utiliser Always Encrypted avec enclaves sécurisées, une application doit utiliser un pilote client qui prend en charge la fonctionnalité.To use Always Encrypted with secure enclaves, an application must use a client driver that supports the feature. Dans SQL Server 2019 - PreviewSQL Server 2019 preview, vos applications doivent utiliser .NET Framework 4.7.2 et le fournisseur de données .NET Framework pour SQL Server.In SQL Server 2019 - PreviewSQL Server 2019 preview, your applications must use .NET Framework 4.7.2 and .NET Framework Data Provider for SQL Server. En outre, les applications .NET doivent être configurées avec un fournisseur d’enclave sécurisée spécifique au type de l’enclave (par exemple, VBS) et au service d’attestation (par exemple, SGH), que vous utilisez.In addition, .NET applications must be configured with a secure enclave provider specific to the enclave type (for example, VBS) and the attestation service (for example, HGS), you are using. Les fournisseurs d’enclave pris en charge sont expédiés séparément dans un package NuGet, que vous devez intégrer à votre application.The supported enclave providers are shipped separately in a NuGet package, which you need to integrate with your application. Un fournisseur d’enclave implémente la logique côté client pour le protocole d’attestation et pour établir un canal sécurisé avec une enclave sécurisée d’un type donné.An enclave provider implements the client-side logic for the attestation protocol and for establishing a secure channel with a secure enclave of a given type.

Clés prenant en charge l’enclaveEnclave-enabled Keys

Always Encrypted avec enclaves sécurisées introduit le concept des clés prenant en charge l’enclave :Always Encrypted with secure enclaves introduces the concept of enclave-enabled keys:

  • Clé principale de colonne prenant en charge l’enclave : clé principale de colonne qui possède la propriété ENCLAVE_COMPUTATIONS spécifiée dans l’objet de métadonnées de la clé principale de colonne à l’intérieur de la base de données.Enclave-enabled column master key - a column master key that has the ENCLAVE_COMPUTATIONS property specified in the column master key metadata object inside the database. L’objet de métadonnées de la clé principale de colonne doit également contenir une signature valide des propriétés des métadonnées.The column master key metadata object must also contain a valid signature of the metadata properties.
  • Clé de chiffrement de colonne prenant en charge l’enclave : clé de chiffrement de colonne qui est chiffrée avec une clé principale de colonne prenant en charge l’enclave.Enclave-enabled column encryption key - a column encryption key that is encrypted with an enclave-enabled column master key.

Lorsque le moteur SQL Server détermine les opérations, spécifiées dans une requête, qui doivent être effectuées à l’intérieur de l’enclave sécurisée, le moteur SQL Server demande que le pilote client partage les clés de chiffrement de colonne qui sont nécessaires pour les calculs avec l’enclave sécurisée.When the SQL Server Engine determines operations, specified in a query, need to be performed inside the secure enclave, the SQL Server Engine requests the client driver shares the column encryption keys that are needed for the computations with the secure enclave. Le pilote client partage les clés de chiffrement de colonne uniquement si les clés prennent en charge l’enclave (c’est-à-dire qu’elles sont chiffrées avec des clés principales de colonne prenant en charge l’enclave) et qu’elles sont correctement signées.The client driver shares the column encryption keys only if the keys are enclave-enabled (that is, encrypted with enclave-enabled column master keys) and they are properly signed. Sinon, la requête échoue.Otherwise, the query fails.

Colonnes prenant en charge l’enclaveEnclave-enabled Columns

Une colonne prenant en charge l’enclave est une colonne de base de données qui est chiffrée avec une clé de chiffrement de colonne prenant en charge l’enclave.An enclave-enabled column is a database column encrypted with an enclave-enabled column encryption key. La fonctionnalité disponible pour une colonne prenant en charge l’enclave varie selon le type de chiffrement que la colonne utilise.The functionality available for an enclave-enabled column depends on the encryption type the column is using.

  • Chiffrement déterministe : les colonnes prenant en charge l’enclave utilisant le chiffrement déterministe prennent en charge le chiffrement sur place, mais aucune autre opération à l’intérieur de l’enclave sécurisée.Deterministic encryption - Enclave-enabled columns using deterministic encryption support in-place encryption, but no other operations inside the secure enclave. La comparaison d’égalité est prise en charge, mais est effectuée en dehors de l’enclave, en comparant le texte chiffré (en dehors de l’enclave).Equality comparison is supported, but it is performed outside of the enclave, by comparing the ciphertext (outside of the enclave).
  • Chiffrement aléatoire : les colonnes prenant en charge l’enclave utilisant le chiffrement aléatoire prennent en charge le chiffrement sur place, ainsi que les calculs riches à l’intérieur de l’enclave sécurisée.Randomized encryption - Enclave-enabled columns using randomized encryption support in-place encryption as well as rich computations inside the secure enclave. Les calculs riches pris en charge sont les critères spéciaux et les opérateurs de comparaison, notamment la comparaison d’égalité.The supported rich computations are pattern matching and comparison operators, including equality comparison.

Pour plus d’informations sur les types de chiffrement, consultez Chiffrement Always Encrypted.For more information about encryption types, see Always Encrypted Cryptography.

Le tableau suivant récapitule les fonctionnalités disponibles pour les colonnes chiffrées, selon que les colonnes utilisent des clés de chiffrement de colonne prenant en charge l’enclave et un type de chiffrement.The following table summarizes the functionality available for encrypted columns, depending on whether the columns use enclave-enabled column encryption keys and an encryption type.

OpérationOperation La colonne ne prend PAS en charge l’enclaveColumn is NOT enclave-enabled La colonne ne prend PAS en charge l’enclaveColumn is NOT enclave-enabled La colonne prend en charge l’enclaveColumn is enclave-enabled La colonne prend en charge l’enclaveColumn is enclave-enabled
Chiffrement aléatoireRandomized encryption Chiffrement déterministeDeterministic encryption Chiffrement aléatoireRandomized encryption Chiffrement déterministeDeterministic encryption
Chiffrement sur placeIn-place encryption Non pris en chargeNot Supported Non pris en chargeNot Supported Pris en chargeSupported Pris en chargeSupported
Comparaison d’égalitéEquality comparison Non pris en chargeNot Supported Pris en charge en dehors de l’enclaveSupported outside of the enclave Pris en charge (à l’intérieur de l’enclave)Supported (inside the enclave) Pris en charge en dehors de l’enclaveSupported outside of the enclave
Opérateurs de comparaison au-delà de l’égalitéComparison operators beyond equality Non pris en chargeNot Supported Non pris en chargeNot Supported Pris en chargeSupported Non pris en chargeNot Supported
LIKELIKE Non pris en chargeNot Supported Non pris en chargeNot Supported Pris en chargeSupported Non pris en chargeNot Supported

Le chiffrement sur place inclut la prise en charge des opérations suivantes à l’intérieur de l’enclave :In-place encryption includes support for the following operations inside the enclave:

  • Chiffrement initial des données stockées dans une colonne existante.Initial encryption of data stored in an existing column.

  • Nouveau chiffrement des données existantes dans une colonne, par exemple :Re-encrypting existing data in a column, for example:

    • Permutation de la clé de chiffrement de colonne (nouveau chiffrement la colonne avec une nouvelle clé).Rotating the column encryption key (re-encrypting the column with a new key).
    • Modification du type de chiffrement.Changing the encryption type.
  • Déchiffrement des données stockées dans une colonne chiffrée (conversion de la colonne en une colonne de texte en clair).Decrypting data stored in an encrypted column (converting the column into a plaintext column).

Pour que le chiffrement sur place soit possible, la clé (ou les clés) de chiffrement de colonne impliquée dans les opérations de chiffrement, doit prendre en charge l’enclave :For in-place encryption to be possible, the column encryption key (or keys), involved in the cryptographic operations, must be enclave-enabled:

  • Chiffrement initial : la clé de chiffrement de colonne pour la colonne en cours de chiffrement doit prendre en charge l’enclave.Initial encryption: the column encryption key for the column being encrypted must be enclave-enabled.
  • Nouveau chiffrement : la clé de chiffrement de colonne actuelle et cible (si différente de la clé actuelle) doivent prendre en charge l’enclave.Re-encryption: both the current and the target column encryption key (if different than the current key) must be enclave-enabled.
  • Déchiffrement : la clé de chiffrement de colonne actuelle de la colonne doit prendre en charge l’enclave.Decryption: the current column encryption key of the column must be enclave-enabled.

Limitations connuesKnown limitations

Limitations générales :General limitations:

  • Toutes les limitations répertoriées pour la version actuelle d’Always Encrypted sous Informations sur les fonctionnalités s’appliquent également à Always Encrypted avec enclaves sécurisées (pour les colonnes chiffrées avec des clés prenant en charge l’enclave), sauf les restrictions qui sont supprimées avec l’ajout de la prise en charge du chiffrement sur place et des calculs riches.All limitations listed for the current version of Always Encrypted at Feature Details also apply to Always Encrypted with secure enclaves (to columns encrypted with enclave-enabled keys), except the restrictions that are removed by adding support for in-place encryption and rich computations.

  • La comparaison d’égalité reste le seul opérateur Transact-SQL pris en charge avec le chiffrement déterministe et les comparaisons d’égalité sont effectuées en comparant les valeurs de texte chiffré en dehors de l’enclave, peu importe si la clé de chiffrement de colonne prend en charge l’enclave ou pas.Equality comparison remains the only Transact-SQL operator supported with deterministic encryption and equality comparisons are performed by comparing ciphertext values outside of the enclave, regardless if the columns encryption key is enclave-enabled or not. La seule nouvelle fonctionnalité qui est déverrouillée avec les clés de chiffrement de colonne prenant en charge l’enclave pour le chiffrement déterministe, sont les opérations de chiffrement sur place.The only new functionality that gets unlocked with enclave-enabled column encryption keys for deterministic encryption, are in-place cryptographic operations. Si vous avez une colonne qui est chiffrée à l’aide du chiffrement déterministe (et une clé ne prenant pas en charge l’enclave), pour permettre des calculs riches (critères spéciaux, opérations de comparaison), vous devez chiffrer à nouveau la colonne à l’aide du chiffrement aléatoire.If you have a column that is encrypted using deterministic encryption (and a key that is not enclave-enabled), to enable rich computations (pattern matching, comparison operations), you need to re-encrypt the column using randomized encryption.

  • La restriction existante sur l’utilisation de classements s’applique aux colonnes chiffrées avec des clés de chiffrement de colonne prenant en charge l’enclave : les colonnes de chaîne de caractères (char, nchar, varchar, nvarchar) chiffrées à l’aide du chiffrement déterministe doivent utiliser des classements avec un ordre de tri binaire 2 (classements BIN2).The existing restriction on using collations apply to columns encrypted with enclave-enabled column encryption keys: character string columns (char, nchar, varchar, nvarchar) encrypted using deterministic encryption must use collations with a binary2 sort order (BIN2 collations). Les colonnes de chaîne de caractères utilisant des classements non-BIN2 peuvent être chiffrées à l’aide du chiffrement aléatoire. Cependant, la seule nouvelle fonctionnalité activée pour ces colonnes (si elles sont chiffrées avec des clés de chiffrement de colonne prenant en charge l’enclave) est le chiffrement sur place.Character string columns using non-BIN2 collations can be encrypted using randomized encryption - however the only new functionality that is enabled for such columns (if they are encrypted with enclave-enabled column encryption keys) is in-place encryption. Pour prendre en charge les calculs riches (critères spéciaux, opérations de comparaison), une colonne doit utiliser un classement BIN2 (et la colonne doit être chiffrée à l’aide du chiffrement aléatoire et d’une clé de chiffrement de colonne prenant en charge l’enclave).To support rich computations (pattern matching, comparison operations), a column must use a BIN2 collation (and the column must be encrypted using randomized encryption and an enclave-enabled column encryption key).

  • L’utilisation de clés prenant en charge l’enclave pour les colonnes dans des tables en mémoire n’est pas prise en charge.Using enclave-enabled keys for columns in in-memory tables is not supported.

  • Les opérations de chiffrement sur place ne peuvent pas être combinées avec d’autres modifications des métadonnées de la colonne, à l’exception des modifications de classement et la possibilité de valeur null.In-place cryptographic operations cannot be combined with any other changes of column metadata, except collation and nullability changes. Par exemple, vous ne pouvez pas chiffrer, chiffrer à nouveau ou déchiffrer une colonne ET modifier un type de données de la colonne dans une instruction Transact-SQL ALTER TABLE ou ALTER COLUMN unique.For example, you cannot encrypt, re-encrypt, or decrypt, a column AND change a data type of the column in a single ALTER TABLE or ALTER COLUMN Transact-SQL statement. Vous devez utiliser deux instructions distinctes.You need to use two separate statements.

Les limitations suivantes s’appliquent à la préversion actuelle, mais il est prévu de les résoudre :The following limitations apply to the current Preview, but are on the roadmap to be addressed:

  • Les colonnes prenant en charge l’enclave utilisant le chiffrement aléatoire ne peuvent pas être indexées, ce qui signifie que les opérations de comparaison ou les opérations LIKE nécessitent des analyses de la table.Enclave-enabled columns using randomized encryptions cannot be indexed, which means that comparison operations or LIKE operations require table scans.

  • Le seul pilote client prenant en charge Always Encrypted avec enclaves sécurisées est le fournisseur de données .NET Framework pour SQL Server (ADO.NET) dans .NET Framework 4.7.2.The only client driver supporting Always Encrypted with secure enclaves is .NET Framework Data Provider for SQL Server (ADO.NET) in .NET Framework 4.7.2. Il n’y a pas de prise en charge pour ODBC/JDBC.There is no ODBC/JDBC support.

  • Les seuls magasins de clés pris en charge pour le stockage des clés principales de colonne prenant en charge l’enclave sont le Magasin de certificats Windows et Azure Key Vault.The only supported key stores for storing enclave-enabled column master keys are Windows Certificate Store and Azure Key Vault.

  • Actuellement, la prise en charge des outils pour Always Encrypted avec enclaves sécurisées est incomplète.Tooling support for Always Encrypted with secure enclaves is currently incomplete. Pour déclencher une opération de chiffrement sur place via une instruction Transact-SQL ALTER TABLE, vous devez émettre l’instruction à l’aide d’une fenêtre de requête dans SSMS, ou vous pouvez écrire votre propre programme qui émet l’instruction.To trigger an in-place cryptographic operation via an ALTER TABLE Transact-SQL statement, you need to issue the statement using a query window in SSMS, or you can write your own program that issues the statement. La cmdlet Set-SqlColumnEncryption dans le module PowerShell SqlServer et l’Assistant Always Encrypted dans SQL Server Management Studio ne prennent pas encore en charge le chiffrement sur place. Actuellement, ces deux outils déplacement les données en dehors de la base de données pour les opérations de chiffrement, même si les clés de chiffrement de colonne utilisées pour les opérations prennent en charge l’enclave.The Set-SqlColumnEncryption cmdlet in the SqlServer PowerShell module and the Always Encrypted wizard in SQL Server Management Studio do not support in-place encryption yet - both tools currently move the data out of the database for cryptographic operations, even if the column encryption keys used for the operations are enclave-enabled.

Problèmes connusKnown Issues

  • Les calculs riches sur les colonnes de chaîne non UNICODE (char, varchar) requièrent qu'un classement BIN2 soit défini au niveau de la base de données.Rich computations on non-UNICODE (char, varchar) string columns require a BIN2 collation is set at the database level. Consultez les Considérations spéciales pour les colonnes de chaîne non UNICODE dans Gérer les classements.Please see Special considerations for non-UNICODE string columns in Manage Collations.

Next StepsNext Steps