Explain what is Data Masking ?
Data masking replaces real data with functional
fictitious data so that it can be used safely in situations where actual data
is not needed.
Use Case :
Our organization holds lots of sensitive data, specifically
in the Account/Contact objects. We also use multi sandboxes for
development, and as a security step, would like to mask (de-sensitive) selected
fields once we have refreshed our sandboxes from production. This refresh
task would likely take place at regular intervals.
Ex: Email Id/Phone / Mobile / etc
Name few tools to perform data masking?
- Informatica Cloud Test Data Management
- Dataloader
- Workbench
- Dataloader.io
Problem statement using above mentioned tools ?
Manual process involved,
Ex:
Using the data loader, you can mass update the
records to remove any sensitive data. This is a manual process though, and it
will need to be done each time the sandboxes are refreshed.
Can you provide the different solutions to make this task automated?
1.Field Level Encryption: Applying
the field level encryption to the sensitive fields in production, so that the
fields would remain masked in the sandbox.
Note: There are some
limitations of this
Ex: You can’t use the
encrypted fields in SOQL “where/order” clauses
2.Vendor appexchange solution :
Ex: OwnBackup
Note : Paid one
3.SandboxPostCopyInterface : To make your
sandbox environment business ready, automate data manipulation or business
logic tasks. Extend this interface and add methods to perform post-copy tasks,
then specify the class during sandbox creation.
Note : I can say,This option is the best solution
How to automate data masking using "SandboxPostCopyInterface"?
Step 2 : At sandbox creation, Specify above Apex class as per below image