<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Oracle - Concepts et Exemples &#187; sécurité</title>
	<atom:link href="https://blog.developpez.com/pachot/tag/securite/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/pachot</link>
	<description>Les fonctionalités et concepts d&#039;Oracle à partir de traductions et de démos</description>
	<lastBuildDate>Sun, 03 Apr 2016 20:36:21 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>12c (et 11.2.0.4) : Data Redaction</title>
		<link>https://blog.developpez.com/pachot/12c_data_redaction/</link>
		<comments>https://blog.developpez.com/pachot/12c_data_redaction/#comments</comments>
		<pubDate>Wed, 04 Sep 2013 18:18:43 +0000</pubDate>
		<dc:creator><![CDATA[pachot]]></dc:creator>
				<category><![CDATA[12c]]></category>
		<category><![CDATA[anonymisation]]></category>
		<category><![CDATA[sécurité]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/pachot/?p=663</guid>
		<description><![CDATA[Que faire lorsqu&#8217;on a des données sensitives (numéros de carte de crédit par exemple) qu&#8217;on souhaite masquer sans perturber le fonctionnement de l&#8217;application ? Lorsqu&#8217;on veut changer les données stockées, on peut faire du &#8216;Data Masking': définitivement modifier ces données &#8230; <a href="https://blog.developpez.com/pachot/12c_data_redaction/">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Que faire lorsqu&rsquo;on a des données sensitives (numéros de carte de crédit par exemple) qu&rsquo;on souhaite masquer sans perturber le fonctionnement de l&rsquo;application ?</p>
<p>Lorsqu&rsquo;on veut changer les données stockées, on peut faire du &lsquo;Data Masking': définitivement modifier ces données sensibles. Par exemple sur une base de test issue de la prod.</p>
<p>Sur une base de prod, on peut utiliser Virtual Private Database pour ne pas afficher certaines colonnes.</p>
<p>Mais la 12c apporte une nouvelle fonctionnalité: Data Redaction</p>
<p>Rien n&rsquo;est modifié dans la base de donnée, mais les valeurs seront masquées lorsqu&rsquo;elles seront envoyées au client. Il y a plusieurs types de masquages différents:</p>
<p>FULL &#8211; le plus simple<br />
Les nombres sont transformés en 0, les dates en 1er janvier de l&rsquo;an 1, les chaines de caractère en un espace. L&rsquo;avantage: on ne change pas le type de données pour que ce soit le plus transparent pour l&rsquo;application.</p>
<p>PARTIAL &#8211; pour personnaliser un peu le masque sur un format spécifique, à la manière des ticket de Carte Bleue (quelques chiffres transformés en &lsquo;*&rsquo;)</p>
<p>REGEXP &#8211; une expression régulière de transformation<br />
On peut par exemple masquer une adresse e-mail tout en gardant un format compatible avec une adresse e-mail. Toujours pour que l&rsquo;application fonctionne lorsqu&rsquo;elle vérifie le format. </p>
<p>RANDOM &#8211; généré par dbms_random pour le type de données. Par exemple pour anonymiser des noms de personnes. Les caractères aléatoires ont l&rsquo;avantage de monter visiblement que ce ne sont pas des vrais noms. Pour des nombres ou des dates, au contraire, c&rsquo;est un moyen de faire passer les valeurs pour des vraies.</p>
<p>NONE &#8211; pour afficher les vraies valeurs par exemple pour une vue sur une table qui a aurait une policy.</p>
<p>Et le Data Redaction peut dépendre d&rsquo;un contexte, par exemple d&rsquo;un role.</p>
<p>Par contre si l&rsquo;application permet de faire des recherches sur la colonne, il sera possible de deviner les valeurs même si elles ne sont pas affichés. Il s&rsquo;agit seulement de modifier les valeurs avant de les retourner dans un résultat. Il faut le coupler avec d&rsquo;autres fonctionnalité pour assurer une véritable sécurité des données.</p>
<p>Tout cela se controle par dbms_redact.<br />
<ins datetime="2013-09-04T13:15:14+00:00">Les différentes syntaxes et exemples dans la <a href="http://ora-demo.pachot.net/12c_data_redaction.html" title="demo" target="_blank">demo</a></ins><br />
Dans la demo, je montre que le role DBA n&rsquo;applique la le Data Redaction. Pour avoir le même comportement en 11.2.0.4 qu&rsquo;en 12c, j&rsquo;ai dû:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">GRANT EXEMPT REDACTION POLICY &nbsp; &nbsp;TO exp_full_database;</div></div>
<p>car ce n&rsquo;est pas fait par l&rsquo;upgrade 11.2.0.4 (bug probablement puisque contraire à la doc et au fonctionnement de la 12c)</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
