Data Masking Components: Mask A Key
Key masking is a deterministic form of data masking that creates a seed value for the element being masked. This limits the masking output to certain characters of the same seed value to retain referential integrity.
The purpose of key masking is to ensure referential integrity. Key masking ensures that masked values are consistent across multiple databases within an organization, provided the databases contain the specific value being masked.
|The Mask a Key component of SSIS masks unique integer and unique identifiers (GUIDs) with consistent unique values of the same type. They are mainly used to retain referential integrity between primary – foreign keys. They do not work with tiny and small integers (only work with integers 4 bytes and above).|
|1. Configure a source that contains the column with primary, foreign and artificial (synthetic) keys of integer and unique identifier data types.||![Image title](/Mask a Key/Mask a key 1.PNG)|
|2. Drag and drop the Mask a Key component, then connect the source and the Mask a Key component with the source's precedence constraint.||!(/Mask a Key/Mask a key 2.PNG)|
|3. The precedence constraint (the blue arrow) will now pass proper metadata to the Mask a Key component. If you click on the constraint, you will see the following window:||![Image title](/Mask a Key/Mask a key 3.PNG)|
|4. Once the values for Mask a Key exists, and these values are passed into the data masking component, open the component editor.||![Image title](/Mask a Key/Mask a key 4.PNG)|
|5. In the second tab, you will see the input columns. Only check-mark the column that you will be masking with the Mask a Key algorithm.||![Image title](/Mask a Key/Mask a key 5.PNG)|
|6. An extra column with the prefix “Masked_” will be created.||![Image title](/Mask a Key/Mask a Key 6.PNG)|
|7. Create a connection manager for the destination and configure the source component for the destination. In the connection manager, navigate to the “Mappings” tab, and specify that you want the newly created Masked_Field to replace the original value. Click on the available input columns, choose the masked value, and map to the “Available Destination Columns”.||![Image title](/Mask a Key/Mask a key 7.PNG)|
|8. All the configurations should now be complete for the valid values. You can run the package with the Mask a Key component, and view the results of data masking.||![Image title](/Mask a Key/Mask a Key 8.PNG)|