The New JSON Masker Rule Form (SQL Server only)
Published 01 April 2019
This documentation is only suitable for Data Masker for SQL Server.
The Data Masker Create/Edit JSON Masker Rule Form
This form is used to create and edit Data Masker JSON Masker rules. JSON Masker rules are designed to update the JSON text content in a column with values from one of the many available datasets. The title text and button label on the form will change as is appropriate to the create or edit mode. In the example screen shot above, the form is editing an existing JSON Masker rule.
As discussed in detail in the JSON Masker rule help file, there are two ways to find the JSON value to mask. When the Use a Wildcard key name option is chosen, a key name needs to be provided and the rule will mask the JSON value with the same associated key name. When the Use a Full JSONPath specification option is chosen, a full JSONPath needs to be provided and the rule will find the matching values to mask.
The dataset which provides the replacement values is entered in the The Dataset with replacement values dropdown. The use of the dropdown is identical to that of any other masking rule such as the Substitution rule. Each dataset has its own options and these will appear in the panel to the right of the selected dataset.
Configuring the target table and column is a straightforward process. Use the mouse to select the table and column from the Table and Column tab. The choice of available tables is entirely determined by the Rule Controller with which the JSON Masker rule is associated. Only tables from within the database and schema for which the Rule Controller is configured will be visible. If you do not see the tables you require, the database structure can be refreshed using the Refresh Tables and Indexes button on Options tab of the edit Rule Controller form.
During execution, as the JSON Masker rule processes each row, the generated replacement values will be substituted in place of the original matching JSON value specified by either the wildcard key name or the full JSONPath. The JSON Masker rules help file has more information and examples.
The JSON Masker Rule Where Clause Tab
Where Clause and sampling options are configured on the Where Clause and Sampling tab and provide options which can be used when the choice of rows affected by the operation is to be based on a specific criteria. The Where Clause and Sampling help file contains a detailed discussion of these options. In the above example the NOT NULL option is set. This means that only the rows in which the column value is NOT NULL will be affected by the masking operations.
Important Note: If multiple JSON Masker rules are being applied to the same column (each with a different Where Clause) then the Where Clause Skip avoidance techinique discussed in the Where Clause and Sampling help file must be used. This methodology will ensure that implicit assumptions about the data content (for example, a GENDER field always contains only M or F when in fact some are NULL) do not result in some data items not having masking operations applied to them.
The JSON Masker Rule Error Manager Tab
Usually any error returned by the running masking rule will cause the running masking set to halt and no further rules will be run. Occasionally it is desirable to "handle" such errors and permit execution on other rules to continue. For example, a common reason to ignore errors are masking rules which act on a table which may not be present in the target database. In the sample above, the rule is configured to ignore any errors which contain the text Invalid Object Name. Any errors which do not contain this text will still cause the masking operations to halt.
The Change Managers Tab
Some rules can be embedded in other rules which operate on them to massively parallelize the execution of the rule or to cascade changes in one table out to other tables. The XML Masker rule type can be converted to a type of change manager known as a Range Splitter rule. This rule type, will convert the normal JSON Masker rule which operates in a single thread to a rule which will run multiple JSON Masker rules on the same data. Inside the Range Splitter rule each copy of the JSON Masker rule operates on a subsection (a range) of the normal data and all rules execute in parallel.
Existing JSON Masker rules can be edited by double clicking on them with the mouse. JSON Masker rules are created by launching the New JSON Masker rule form using the New Rule button located on the bottom of the Rules in Set tab.
How to Create a New JSON Masker Rule