Thursday, 10 May 2012

 <Do not delete this text because it is a placeholder for the generated list of "main" topics when run in a browser>
This tutorial shows you how to identify sensitive data, select appropriate mask formats for the sensitive fields, and apply the mask.
The steps in this tutorial can be performed using either Oracle Enterprise Manager Database Control 11g Release 2, or Oracle Enterprise Manager Grid Control 10.2.0.5.
Approximately 1 hour.
The Data Masking Pack helps organizations share production data in compliance with privacy and confidentiality policies by replacing sensitive data with realistic but scrubbed data based on masking rules.
There are two primary use cases for the Data Masking Pack. First, DBAs who want to take a copy of production data for testing purposes and use the Data Masking Pack to replace all sensitive data with innocuous but realistic information, and then make this database available to developers. Second, organizations want to share production data with third parties while hiding sensitive or personally identifiable information.
In this tutorial, you review the HR schema in a staging environment to identify sensitive data and then select appropriate mask formats for the sensitive data. After creating the mask, you then proceed to apply the mask and replace the sensitive fields in the production copy with realistic but scrubbed data.
The following is a list of software requirements:
·         Oracle Database 11g Release 2 (with Spatial option installed and supporting objects created in the database)
·         Oracle Enterprise Manager Grid Control 10.2.0.5
Note: Oracle Enterprise Manager Grid Control 10.2.0.5 is only required if you want to use it to perform the steps in this OBE, or if you want to apply data masking to an Oracle Database 11g Release 1 database. If you want to use Enterprise Manager Database Control, then you can only apply the data masking to an Oracle Database 11g Release 2 database.
Before starting this tutorial, you should:
1.
Install Oracle Database 11g Release 2.
2 .
Verify that the Spatial option is installed and the supporting database objects are created. Follow these steps for the verification:
1.     Use SQL*Plus and logon to the database as sys or system.
2.     Issue this select statement:
3.      
4.      select * from v$option where parameter='Spatial' ;
5.      
o    You should see True in the value column
o    If you see False, then you need to use the Oracle Installer and install the Spatial option.
6.     Issue this statement: DESCRIBE sdo_geometry
o    You should see the object type and its methods listed
o    If you see an "object does not exist" error message, then you need to install Oracle Intermedia and then create the objects for Oracle Spatial. 
To install Intermedia, as sys, run:
§  cd $ORACLE_HOME/ord/admin/ordinst.sql
§  Make sure there are no errors.  Java in the server must be installed prior to intermeida.  You will get an error if it's not.  If you get the error, install Java in the server, and then run ordinst again.
§  After ordinst.sql is successfully run, you can create the Spatial objects.  As sys, run:
§  cd $ORACLE_HOME/md/admin
§  mdinst.sql
3 .
Optionally install Oracle Enterprise Manager Grid Control 10.2.0.5 if you want to use it instead of Enterprise Manager Database Control.
4 .
Download and unzip the datamask.zip file into your working directory. In this tutorial the working directory is datamask.
To create tables to use during this data masking tutorial, perform the following steps:
1.
Log in to SQL*Plus as the SYSTEM user.

Screenshot for Step


2 .
Execute the OBE_DM_setup01.sql script to prepare for this tutorial. This script deletes objects that may have been created during a preScreenshot for Stepvious execution of the tutorial.
Screenshot for Step

3 .
Execute the OBE_DM_setup02.sql script to create the HR_TEST and OE_TEST schemas. This step simulates cloning the production database to an instance that is used for masking, but much smaller in scope. Enter a password for the HR_TEST and OE_TEST users when prompted.
Screenshot for Step


4 .
The HR_TEST and OE_TEST users are created and objects are created in their schemas.
Screenshot for Step

5.
Execute the OBE_DM_setup03.sql script to add columns and data to the HR_TEST.EMPLOYEES table.
Screenshot for Step


6 .
The script also creates a table named HR_TEST.MASK_DATA which is used to illustrate how you use a data table from a commercial provider.

Screenshot for Step

In this section you will view data in the
HR_TEST.EMPLOYEES table to determine which columns should be masked.
1.
Launch Enterprise Manager Database Control by entering the following URL: https://<hostname>:1158/em
Note: If you are using Enterprise Manager Grid Control 10.2.0.5, specify the appropriate URL for your environment.

2.
Enter the following information to log in to Enterprise Manager Database Control:
Username: SYS
Password: ********
Connect As: SYSDBA
Note: If you are using Enterprise Manager Grid Control, login using the SYSMAN database account.
Screenshot for Step






3 .
Click the Schema tab on the Database Instance Home page.
Note: If you are using Enterprise Manager Grid Control, navigate to the Database Instance Home page by clicking Targets tab > Databases tab > Oracle database SID link. You may be asked to set the preferred database credential. If so, use the SYSTEM database account.
Screenshot for Step
4 .
Click Tables in the Database Objects region.
Screenshot for Step
5 .
Enter the following information:
Schema: hr_test
Object Name: employees
Click Go.
Screenshot for Step
6 .
Select View Data in the Actions list. Click Go.
Screenshot for Step
7 .
View the data in the HR_TEST.EMPLOYEES table to determine likely candidates for data masking. For ease of comparison after perform the data masking operation, click EMAIL to sort the rows on the EMAIL column.
Screenshot for Step
8 .
The rows are now sorted based on the EMAIL column. Keep this browser window open for comparison with the data after it has been masked. In the next section, you will begin masking the columns that you have identified as containing sensitive data.
Screenshot for Step
Creating Masking Definitions: EMPLOYEE_ID Column

You have been informed that the
EMPLOYEES.EMPLOYEE_ID column contains sensitive data. In this section you create a masking definition for the EMPLOYEE_ID column of the HR_TEST.EMPLOYEES table. You must also add a dependent column to the masking definition. The MANAGERS.MGR_ID column is not declared as a foreign key, but is dependent on EMPLOYEES.EMPLOYEE_ID at the application level.
1.
Open a new browser window or tab, and launch Enterprise Manager Database Control by entering the following URL: https://<hostname>:1158/em
Note: If you are using Enterprise Manager Grid Control 10.2.0.5, specify the appropriate URL for your environment.

2.
Enter the following information to log in to Enterprise Manager Database Control:
Username: SYS
Password: *********
Connect As:
SYSDBA
Click Login.
Note: If you are using Enterprise Manager Grid Control, login using the SYSMAN database account.
Screenshot for Step
3 .
On the Database Instance Home page, click the Schema tab.
Note: If you are using Enterprise Manager Grid Control, navigate to the Database Instance Home page by clicking Targets tab > Databases tab > Oracle database SID link.
Screenshot for Step
4 .
Click Definitions in the Data Masking section.
Screenshot for Step
5 .
On the Data Masking Definitions page, Click Create.
Screenshot for Step
6 .
On the Create Masking Definition page, enter the following:
Name: HR Employee Mask
Description: HR Employee Masking Policy
In the Columns section, click Add.
Screenshot for Step
7 .
On the Add Columns page, enter the following:
Schema: hr_test
Table Name: employees
Click Search.
Screenshot for Step
8 .
Notice that the Comment column contains information supplied by the application DBA indicating which columns are mask candidates. Select the EMPLOYEE_ID column. Click Add.
Screenshot for Step
9 .
Note that the foreign key columns were automatically added to the masking definition. On the Create Masking Definition page, click the + icon under the Dependent Columns heading.
Screenshot for Step
10 .
On the Add Dependent Columns page, enter the following:
Schema: hr_test
Table Name: managers
Click Search.
Screenshot for Step
11 .
Select the MGR_ID column. Click Add.
Screenshot for Step
12 .
On the Create Masking Definition page, click the icon under the Format heading.
Screenshot for Step
13 .
On the Define Column Mask page, select Random Numbers from the Format Entry list. Click Add.
Screenshot for Step
14 .
Enter the following information:
Start value: 100000
End value: 999999
Click the icon in the Sample column to view sample data.
Screenshot for Step
15 .
Sample data is displayed. You can click the icon again to view additional sample values. Click OK when you have finished viewing sample values.
Screenshot for Step
16 .
On the Create Masking Definition page, click OK.
Screenshot for Step
17 .
The Data Masking Definitions page is displayed showing the HR Employee Mask masking definition.
Screenshot for Step
Creating Masking Definitions: FIRST_NAME and LAST_NAME Columns
Create the masking formats for the EMPLOYEES.FIRST_NAME and EMPLOYEES.LAST_NAME columns by using the HR_TEST.MASK_DATA table as the source of masking data. These steps illustrate how you would use a data table from a commercial data provider to mask confidential data such as names.
1.
On the Data Masking Definitions page, click the Format Library link.
Screenshot for Step
 
2.
On the Format Library page, click Create.
Screenshot for Step
3 .
On the Create Format page, enter the following information:
Name: Anglo-American First Name
Description: Masking format for first name
Select Table Column in the list and click Go.
Screenshot for Step
4 .
On the Create Format page, enter the following information:
Table Name: hr_test.mask_data
Column Name: first_name
Click OK.
Screenshot for Step
5 .
On the Create Format page, click OK.
Screenshot for Step
6 .
A confirmation message is displayed on the Format Library page. Click Create.
Screenshot for Step
7 .
On the Create Format page, enter the following information:
Name: Anglo-American Last Name
Description: Masking format for last name
Select Table Column in the list and click Go.
Screenshot for Step
8 .
On the Create Format page, enter the following information:
Table Name: hr_test.mask_data
Column Name: last_name
Click OK.
Screenshot for Step
9 .
On the Create Format page, click OK.
Screenshot for Step
10 .
A confirmation message is displayed on the Format Library page.
Screenshot for Step
Create the masking definitions for the EMPLOYEES.FIRST_NAME and EMPLOYEES.LAST_NAME columns. Use the mask formats that you defined in the previous step.
1.
On the Format Library page, click the Data Masking Definitions link.
Screenshot for Step

2.
On the Data Masking Definitions page, select HR Employee Mask. Click Edit.
Screenshot for Step
3 .
On the Edit Masking Definition: HR Employee Mask page, click Add.
Screenshot for Step
4 .
On the Add Columns page, enter the following information:
Schema: hr_test
Table Name: employees
Click Search.
Screenshot for Step
5 .
On the Add Columns page, select the FIRST_NAME and LAST_NAME columns. Click Add.
Screenshot for Step
6 .
On the Edit Masking Definition: HR Employee Mask page, click the Format icon in the FIRST_NAME row.
Screenshot for Step
7 .
On the Define Column Mask page, click Import Format.
Screenshot for Step
8 .
On the Import Format page, select Anglo-American First Name. Click Import.
Screenshot for Step
9 .
Click the icon in the Sample column to view sample data.
Screenshot for Step
10 .
On the Define Column Mask page, click OK.
Screenshot for Step
11 .
On the Edit Masking Definition: HR Employee Mask page, click the Format icon in the LAST_NAME row.
Screenshot for Step
12 .
On the Define Column Mask page, click Import Format.
Screenshot for Step
13 .
On the Import Format page, select Anglo-American Last Name. Click Import.
Screenshot for Step
14 .
On the Define Column Mask page, click the icon in the Sample column to view sample data.
Screenshot for Step
15 .
On the Define Column Mask page, click OK.
Screenshot for Step
16 .
On the Edit Masking Definition: HR Employee Mask page, click OK.
Screenshot for Step
17 .
On the Data Masking Definitions page, observe that four columns are masked.
Screenshot for Step
Add the EMPLOYEES.SALARY column to the HR Employee Mask masking definition and specify the Shuffle mask format. The Shuffle format is used to shuffle the values in the column amongst the rows.
1.
On the Data Masking Definitions page, select HR Employee Mask. Click Edit.
Screenshot for Step

2.
On the Edit Masking Definition: HR Employee Mask page, click Add.
Screenshot for Step
3 .
On the Add Columns page, enter the following information:
Schema: hr_test
Table Name: employees
Click Search.
Screenshot for Step
4 .
On the Add Columns page, select the SALARY column. Click Define Format and Add.
Screenshot for Step
5 .
On the Define Column Mask page, select Shuffle from the Format Entry list. Click Add.
Screenshot for Step
6 .
On the Define Column Mask page, click the icon in the Sample column to view sample data.
Screenshot for Step
7 .
On the Define Column Mask page, click OK.
Screenshot for Step
8 .
On the Edit Masking Definition: HR Employee Mask page, click OK.
Screenshot for Step
Add the EMPLOYEES.COMMISSION_PCT column to the HR Employee Mask masking definition and specify the Shuffle mask format.
1.
On the Data Masking Definitions page, select HR Employee Mask. Click Edit.
Screenshot for Step
 
2.
On the Edit Masking Definition: HR Employee Mask page, click Add.
Screenshot for Step
3 .
On the Add Columns page, enter the following information:
Schema: hr_test
Table Name: employees
Click Search.
Screenshot for Step
4 .
On the Add Columns page, select the COMMISSION_PCT column. Click Define Format and Add.
Screenshot for Step
5 .
On the Define Column Mask page, select Shuffle from the Format Entry list. Click Add.
Screenshot for Step
6 .
On the Define Column Mask page, click the icon in the Sample column to view sample data.
Screenshot for Step
7 .
On the Define Column Mask page, click OK.
Screenshot for Step
8 .
On the Edit Masking Definition: HR Employee Mask page, click OK.
Screenshot for Step
Implement condition-based masking for the NATIONAL_ID column. Configure the masking so that the NATIONAL_ID column is masked with the National Insurance Number Formatted format for UK employees and Social Security Number Formatted for US employees. The NATIONAL_ID column for employees from other countries does not need to be masked.
1 .
On the Data Masking Definitions page, select HR Employee Mask. Click Edit.
Screenshot for Step
2 .
On the Edit Masking Definition: HR Employee Mask page, click Add in the Columns section.
Screenshot for Step
3 .
On the Add Columns page, enter the following information:
Schema: hr_test
Table Name: employees
Click Search.
Screenshot for Step
4 .
Select the NATIONAL_ID column. Click Define Format and Add.
Screenshot for Step
5 .
On the Define Column Mask page, click Add Condition.
Screenshot for Step
6 .
On the Define Column Mask page, enter the following SQL query in the Condition field:
national_id in
(select national_id from hr_test.employees where country_id = 'UK')
Click Import Format.
Screenshot for Step
7 .
On the Import Format page, select National Insurance Number Formatted. Click Import.
Screenshot for Step
8 .
On the Define Column Mask page, click the icon in the Sample column to view sample data.
Screenshot for Step
9 .
On the Define Column Mask page, click Add Condition.
Screenshot for Step
10 .
On the Define Column Mask page, enter the following SQL query in the Condition field:
national_id in
(select national_id from hr_test.employees where country_id = 'US')
Click Import Format.
Screenshot for Step
11 .
On the Import Format page, select Social Security Number Formatted. Click Import.
Screenshot for Step
12 .
On the Define Column Mask page, click the icon in the Sample column to view sample data.
Screenshot for Step
13 .
On the Define Column Mask page, select Default Condition. Select Preserve Original Data in the Format Entry list. Click Add.
Screenshot for Step
14 .
On the Define Column Mask page, click OK.
Screenshot for Step
15 .
On the Edit Masking Definition: HR Employee Mask page, click OK.
Screenshot for Step
16 .
On the Data Masking Definitions page, observe that seven columns are defined for masking.
Screenshot for Step
Use Enterprise Manager Database Control to generate the data-masking script and schedule the data masking job.
1 .
On the Data Masking Definitions page, select HR Employee Mask. Click Generate Script.
Screenshot for Step
2 .
The Processing: Generating Data Masking Script page is displayed.
Screenshot for Step
3 .
A message is displayed indicating that the script has been generated.
Screenshot for Step
4 .
Scroll down the Script Generation Results: HR Employee Mask page. Expand Impact Report.
Screenshot for Step
5 .
View the Impact Report and verify that there are no errors. Click Schedule Job.
Screenshot for Step
6 .
On the Schedule Data Masking Job: HR Employee Mask page, enter the host credentials. Select Immediately in the Start section. Click Submit.
Screenshot for Step
7 .
On the Data Masking Definitions page, a message is displayed indicating that the job has been submitted. Click View Job Details.
Screenshot for Step
8 .
On the Job Run: MASKING_JOB_NNN page, verify that the Status is Succeeded. Click Database to return to the Database Home page.
Screenshot for Step
Now view the data that was masked and compare the results with the unmasked data.
1 .
Click the Schema tab on the Database Instance Home page.
Note: If you are using Enterprise Manager Grid Control, navigate to the Database Instance Home page by clicking Targets tab > Databases tab > Oracle database SID link.
Screenshot for Step
 
2 .
Click Tables in the Database Objects region.
Screenshot for Step
3 .
Enter the following information:
Schema: hr_test
Object Name: employees
Click Go.
Screenshot for Step
4 .
Select View Data in the Actions list. Click Go.
Screenshot for Step
5 .
View the masked data in the HR_TEST.EMPLOYEES table. ClickEMAIL to sort the rows on the EMAIL column.
Screenshot for Step
6 .
Compare the values in the columns with the values you viewed prior to masking. Refer to your other Enterprise Manager Database Control window for the comparison.
Screenshot for Step
7 .
Click OK to return to the Tables page.
Screenshot for Step
8 .
Click the Database tab to return to the Database Instance Home page.
Screenshot for Step
To clean up following this tutorial, perform the following steps.
1 .
Return to your SQL*Plus window. Logged in to SQL*Plus as the SYSTEM user, execute the OBE_DM_cleanup.sql script.
Screenshot for Step
 
2 .
Return to Enterprise Manager Database Control. Click the Schema tab. Click Definitions in the Data Masking section. On the Data Masking Definitions page, select the HR Employee Mask and click Delete.
Screenshot for Step
 
3 .
The HR Employee Mask masking definition is deleted from the Enterprise Manager Database Control repository.

In this tutorial, you have learned how to:
·         Use Oracle-supplied masking formats from the Format Library
·         Create masking formats
·         Create masking definitions
·         Generate the masking script
·         Schedule the data masking job
·         Oracle Enterprise Manager Concepts 10g Release 5 (10.2.0.5) B31949-10
·         Oracle Database 11g: Security course (D50323GC20)

No comments:

Post a Comment