SQL Server 2016 : Les nouveautés

Créer la colonne chiffrée

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Vous allez voir comment créer la clé de chiffrement de la colonne ainsi que la colonne qui va l'utiliser.
06:39

Transcription

Maintenant que mon certificat est prêt, à partir de cela, je vais créer une clé de chiffrement de colonne, qui va, comme son nom l'indique, me permet de chiffrer le contenu de mes colonnes. Nouvelle clé de chiffrement, je vais lui donner un nom, par exemple, Crédit Card souligné CEK, parce que vous avez peut être deviné, mon idée est de chiffrer des numéros de cartes de crédit, et CEK pour colonne Encryption Key, dans une convention vous faites comme vous voulez, et je vais dire cette clé symétrique va être chiffré par ma Master Key de colonne. Je [inaudible] le script, c'est assez simple, on dit : « Create Column Encryption Key » avec son nom « With Values » « Column Master Key » le nom de la Master Key, l'algorithme utilisé et puis, bon, voilà, « Encrypted Values », c'est-à-dire, la clé finalement qui a été générée, et chiffrée par ma Master Key. Donc, voilà qui est fait. Ayons ces deux informations, il ne me reste plus qu'à créer des colonnes, une ou plusieurs, qui vont utiliser cette clé de chiffrement. Pour ce faire, j'ai déjà ici du code Exemple. Alors, je prends ma table de société. Finalement mon idée c'est d'ajouter pour des sociétés clientes la Carte de Crédit qu'ils vont utiliser pour régler leurs formations en Pacha Data formation. C'est une base de données d'exemple, qui représente un centre de formation avec des sessions et des gens qui s'inscrivent. donc, les sociétés seront facturées ou payeront avec leurs cartes de crédits. Je vais donc supprimer la colonne si elle existe, vous voyez que cette syntaxe est nouvelle et qu'on peut même l'utiliser dans un « Alter Table Job Column if exists » c'est quand même très, très pratique. Voilà. Et je vais modifier ma table Société, je vais ajouter la colonne Carte de Crédit, je vais en faire un « Char 19 » , parce que la taille maximale d'un numéro de Carte de Crédit est sur 19 caractères, Et vous notez que ce Char 19, c'est le type de données de la valeur déchiffrée. De la valeur, ce qu'on appelle « Le plein texte » en chiffrement. C'est-à-dire de la valeur [inaudible]. Ce n'est pas le type de données qui va être stocké, parce que ce qui va être stocké, j'ai mis le collet en commentaires, mais dans certains cas vous voudriez avoir une collation forte, par rapport au chiffrement. Et donc, cette colonne, je vais lui dire ensuite dans les métadonnées de ma table : tu vas la chiffrer avec un type de chiffrement qui est soit Randomize, soit Deterministic, donc, je vous montre l'autre possibilité. Voilà,. Ensuite je choisis un algorithme, voici algorithme qui est algorithme par défaut, et puis, je vais dire quelle est la CEK, « la Column Encryption Key » que je vais utiliser, c'est donc celle que j'ai créé auparavant, qui est ici. Et donc, ces métadonnées détermine que je vais utiliser cette clé pour chiffrer automatiquement mes informations de Cartes de Crédit, avec cet algorithme, et puis le type de chiffrement je vais le remettre sur mon premier choix. Eh bien, le type de chiffrement c'est assez simple. Soit on est en Randomize, c'est-à-dire, en « aléatoire », ce qui fait que pour la même valeur, le résultat, le « Sayfotext », c'est-à-dire le résultat chiffré peut différer, va différer d'ailleurs. Si je prends deux fois la même valeur, et que je la chiffre deux fois, et bien, le résultat sera différent. Et puis si on est en « Deterministic », on a un peu moins de sécurité, mais on génère toujours le même « Sayfotext », toujours le même chiffrement à partir d'une donnée en clé. Pourquoi est-ce qu'on voudrait être Déterminist ? Eh bien, parce que une des beautés de « Always Encrypted » c'est qu'on peut utiliser cette colonne non seulement pour lire les données dans les selects, mais aussi pour faire une recherche dans la « Close Were ». Si par exemple, je recherche une société qui a un numéro de Carte de Crédit que je connais, je mets ici mon type de chiffrement déterministique, et je vais pouvoir l'utiliser dans une « Close Were » dans ma requête. SQL serveur va faire la recherche, en convertissant le plein texte en « Sayfotext », et en [inaudible] les recherches sur un « Sayfotext » qui donc, sera toujours le même, lorsqu'on le chiffre. Donc, votre choix est simple ici. Si vous savez que vous ne voulez pas chercher, mais seulement récupérer les informations, comme ici pour ma Carte de Crédit, faites du « Randomized », ça sera plus sûr. Si par contre, vous savez que cette colonne, vous voulez l'utiliser dans un « Close Were » et faire une recherche, eh bien, vous devez être ici en « Deeterministic ». Notez que pour l'instant, les recherches sur des colonnes qui sont en « Deterministic » ne sont possible que sur quelques opérateurs en fait, l'égalité. On ne peut pas faire des « like » par exemple, pour l'instant. Mais c'est quelque chose qui est prévue et les développeurs de cette fonctionnalité souhaitent enrichir les possibilités des recherches sur ces colonnes. OK et bien, il ne me reste plus qu'à créer la colonne, pour l'instant, tout est nulle, et, est-ce que je peux mettre une valeur moi-même, c'est-à-dire, ici faire un Update, mettre la Carte de Crédit avec une valeur qui est ici en claire, et est-ce que, SQL serveur va chiffrer lui-même ? Je vais prendre la société avec la « ID 8 », « Adèle », voilà, très jolie nom de société, et je vais lui donner un numéro de Carte de Crédit. Eh bien non, on va me dire, non, non, non, attends, attends. On va me dire, non, non, non, confie notre type d'opérante. Varchar est incompatible avec Varchar 8000, Encrypted Will, etc. Je ne peux pas utiliser « Always Encrypted » comme ça. Avec du code SQL, il va falloir que je le fasse à partir d'une Application cliente, qui a la clé de chiffrement et qui va envoyer cette information déjà chiffrée. Ce type, en plein texte, n'est pas compatible avec ce qui doit réellement être stocké, dans ma colonne, c'est-à-dire le « Sayfotext »,

SQL Server 2016 : Les nouveautés

Découvrez les nouveautés de SQL Server 2016. Voyez les options de configuration limitées aux bases de données, le chiffrage de données à partir des applications clientes, etc.

2h26 (27 vidéos)
Aucun commentaire n´est disponible actuellement
 

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !