This commit is contained in:
Thierry Schork
2023-01-09 09:53:33 +01:00
parent 42fb2e851c
commit b0df9def43
9 changed files with 148 additions and 18 deletions

View File

@@ -0,0 +1,22 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# SQL Server Management Studio Solution File, Format Version 18.00
VisualStudioVersion = 15.0.28307.421
MinimumVisualStudioVersion = 10.0.40219.1
Project("{4F2E2C19-372F-40D8-9FA7-9D2138C6997A}") = "OCTPDBA-380 - POC data anonymization with Data Masker by RedGate tool", "OCTPDBA-380 - POC data anonymization with Data Masker by RedGate tool.ssmssqlproj", "{29821CEB-6CB3-403C-BBA9-B6A97BB97946}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Default|Default = Default|Default
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{29821CEB-6CB3-403C-BBA9-B6A97BB97946}.Default|Default.ActiveCfg = Default
{CDE4914C-2B09-495E-8198-B9A93CFE6162}.Default|Default.ActiveCfg = Default
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {3379C60C-77A0-4614-8BAD-C86F249B7F52}
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<SqlWorkbenchSqlProject xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Name="SqlWorkbenchSqlProject">
<Items>
<LogicalFolder Name="Connections" Type="2" />
<LogicalFolder Name="Queries" Type="0" />
<LogicalFolder Name="Miscellaneous" Type="3" />
</Items>
</SqlWorkbenchSqlProject>

View File

@@ -0,0 +1,32 @@
ressources:
https://www.red-gate.com/hub/university/courses/product-training?tool=data-masker&level=get-started
getting started videos from red-gate directly
https://www.red-gate.com/hub/university/courses/sql-data-catalog/end-to-end-data-protection-with-sql-data-catalog-and-sql-provision
end-to-end video showing the process of Cataloging, Masking and Cloning
https://learn.microsoft.com/en-us/sql/relational-databases/security/dynamic-data-masking?view=sql-server-ver16
sql server >= 2016 implémente aussi du data masking
sites intéressants:
https://plantbasedsql.com/tag/data-masking/
un ex de red-gate, qui a travaillé sur data-masker et parle du process
bcp d'exemples font usage de red-gate sql data catalog
https://www.red-gate.com/products/dba/sql-data-catalog/
SQL Data Catalog allows users to catalog their SQL Server data estate by applying classifications, as tags and free-text labels, to SQL Server objects. The taxonomy of tags and attributes to be applied is also created and managed by this product. A common use case for the tool is for classifying columns by their sensitivity under data privacy regulations such as the GDPR.
et peut-être plus intéressant est le package de "SQL provision":
SQL Provision is a solution for (compliant) test data management that combines two Redgate products into a single offering: Data Masker for static data masking, and SQL Clone for database cloning and provisioning.
terminologie:
Static data masking is the process of de-identifying sensitive data-at-rest within the tables of your Database. It is typically used to provide realistic, Production-like data into non-Production environments like Dev and Test, and even sets that are given to 3rd parties. This relies on retaining non-sensitive business specific fields within rows and taking anything considered PII (Personally Identifiable Information) or PHI (Protected Health Information) and either scrambling or replacing it with similar but ultimately false data.
Deterministic data masking is the process of masking data with values in a repeatable way, such that it will give the same value when masked in any and all future runs on any value that matches and will create a new record for values which have not been previously masked. An example of this would be if you were to mask “Chris Unwin” to “Brad Pitt”, it should appear as “Brad Pitt” not only in our (for example) dbo.Contacts table but also all associated tables (regardless of PKFK relationships at the DB level) and every single run should provide the same output. This is useful for building up familiarity with the data and utilizing for future test runs.
dans notre cas, c'est du deterministic qu'il faudra utiliser.
Pour ce faire, il faut:
1. Identifier les champs et les tables qui sont à masquer
2. définir les règles de masquage