Table of Contents
- Title and Copyright Information
- Preface
- Changes in This Release for Oracle Database Advanced Security Guide
- 1 Introduction to Oracle Advanced Security
-
Part I Using Transparent Data Encryption
-
2
Introduction to Transparent Data Encryption
- 2.1 What Is Transparent Data Encryption?
- 2.2 Benefits of Using Transparent Data Encryption
- 2.3 Who Can Configure Transparent Data Encryption?
-
2.4
Types and Components of Transparent Data Encryption
- 2.4.1 About Transparent Data Encryption Types and Components
- 2.4.2 How Transparent Data Encryption Column Encryption Works
- 2.4.3 How Transparent Data Encryption Tablespace Encryption Works
- 2.4.4 How the Keystore for the Storage of TDE Master Encryption Keys Works
- 2.4.5 Supported Encryption and Integrity Algorithms
- 2.5 How the Multitenant Option Affects Transparent Data Encryption
-
3
Configuring Transparent Data Encryption
- 3.1 About Configuring Transparent Data Encryption
- 3.2 Transparent Data Encryption Keystore Search Order
- 3.3 Configuring a Software Keystore
- 3.4 Configuring an External Keystore
-
3.5
Encrypting Columns in Tables
- 3.5.1 About Encrypting Columns in Tables
- 3.5.2 Data Types That Can Be Encrypted with TDE Column Encryption
- 3.5.3 Restrictions on Using TDE Column Encryption
-
3.5.4
Creating Tables with Encrypted Columns
- 3.5.4.1 About Creating Tables with Encrypted Columns
- 3.5.4.2 Creating a Table with an Encrypted Column Using the Default Algorithm
- 3.5.4.3 Creating a Table with an Encrypted Column Using No Algorithm or a Non-Default Algorithm
- 3.5.4.4 Using the NOMAC Parameter to Save Disk Space and Improve Performance
- 3.5.4.5 Example: Using the NOMAC Parameter in a CREATE TABLE Statement
- 3.5.4.6 Example: Changing the Integrity Algorithm for a Table
- 3.5.4.7 Creating an Encrypted Column in an External Table
- 3.5.5 Encrypting Columns in Existing Tables
- 3.5.6 Creating an Index on an Encrypted Column
- 3.5.7 Adding Salt to an Encrypted Column
- 3.5.8 Removing Salt from an Encrypted Column
- 3.5.9 Changing the Encryption Key or Algorithm for Tables with Encrypted Columns
-
3.6
Encryption Conversions for Tablespaces and Databases
- 3.6.1 About Encryption Conversion for Tablespaces and Databases
- 3.6.2 Impact of a Closed TDE Keystore on Encrypted Tablespaces
- 3.6.3 Restrictions on Using Transparent Data Encryption Tablespace Encryption
- 3.6.4 Creating an Encrypted New Tablespace
- 3.6.5 Encrypting Future Tablespaces
- 3.6.6 Encrypted Sensitive Credential Data in the Data Dictionary
- 3.6.7 Encryption Conversions for Existing Offline Tablespaces
-
3.6.8
Encryption Conversions for Existing Online Tablespaces
- 3.6.8.1 About Encryption Conversion for Existing Online Tablespaces
- 3.6.8.2 Encrypting an Existing Tablespace with Online Conversion
- 3.6.8.3 Rekeying an Existing Tablespace with Online Conversion
- 3.6.8.4 Decrypting an Existing Tablespace with Online Conversion
- 3.6.8.5 Finishing an Interrupted Online Encryption Conversion
- 3.6.9 Encryption Conversions for Existing Databases
- 3.7 Transparent Data Encryption Data Dynamic and Data Dictionary Views
-
4
Managing the Keystore and the Master Encryption Key
-
4.1
Managing the Keystore
- 4.1.1 Performing Operations That Require a Keystore Password
- 4.1.2 Changing the Password of a Software Keystore
- 4.1.3 Changing the Password of an External Keystore
- 4.1.4 Configuring an External Store for a Keystore Password
- 4.1.5 Backing Up Password-Protected Software Keystores
- 4.1.6 How the V$ENCRYPTION_WALLET View Interprets Backup Operations
- 4.1.7 Backups of the External Keystore
-
4.1.8
Merging Software Keystores
- 4.1.8.1 About Merging Software Keystores
- 4.1.8.2 Merging One Software Keystore into an Existing Software Keystore
- 4.1.8.3 Merging Two Software Keystores into a Third New Keystore
- 4.1.8.4 Merging an Auto-Login Software Keystore into an Existing Password-Protected Software Keystore
- 4.1.8.5 Reversing a Software Keystore Merge Operation
- 4.1.9 Moving a Software Keystore to a New Location
- 4.1.10 Moving a Software Keystore Out of Automatic Storage Management
- 4.1.11 Migrating Between a Software Password Keystore and an External Keystore
- 4.1.12 Migration of Keystores to and from Oracle Key Vault
-
4.1.13
Configuring Keystores for Automatic Storage Management
- 4.1.13.1 About Configuring Keystores for Automatic Storage Management
- 4.1.13.2 Configuring a Keystore on a Standalone Database to Point to an ASM Location
- 4.1.13.3 Configuring a Keystore to Point to an ASM Location
- 4.1.13.4 Configuring a Keystore to Point to an ASM Location When the WALLET_ROOT Location Does Not Follow OMF Guidelines
- 4.1.14 Closing a Keystore
- 4.1.15 Backup and Recovery of Encrypted Data
- 4.1.16 Dangers of Deleting Keystores
- 4.1.17 Features That Are Affected by Deleted Keystores
-
4.2
Managing the TDE Master Encryption Key
- 4.2.1 Creating User-Defined TDE Master Encryption Keys
- 4.2.2 Creating TDE Master Encryption Keys for Later Use
- 4.2.3 Activating TDE Master Encryption Keys
- 4.2.4 TDE Master Encryption Key Attribute Management
- 4.2.5 Creating Custom TDE Master Encryption Key Attributes for Reports
-
4.2.6
Setting or Rekeying the TDE Master Encryption Key in the Keystore
- 4.2.6.1 About Setting or Rekeying the TDE Master Encryption Key in the Keystore
- 4.2.6.2 Creating, Tagging, and Backing Up a TDE Master Encryption Key
- 4.2.6.3 About Rekeying the TDE Master Encryption Key
- 4.2.6.4 Rekeying the TDE Master Encryption Key
- 4.2.6.5 Changing the TDE Master Encryption Key for a Tablespace
-
4.2.7
Exporting and Importing the TDE Master Encryption Key
- 4.2.7.1 About Exporting and Importing the TDE Master Encryption Key
- 4.2.7.2 About Exporting TDE Master Encryption Keys
- 4.2.7.3 Exporting a TDE Master Encryption Key
- 4.2.7.4 Example: Exporting a TDE Master Encryption Key by Using a Subquery
- 4.2.7.5 Example: Exporting a List of TDE Master Encryption Key Identifiers to a File
- 4.2.7.6 Example: Exporting All TDE Master Encryption Keys of the Database
- 4.2.7.7 About Importing TDE Master Encryption Keys
- 4.2.7.8 Importing a TDE Master Encryption Key
- 4.2.7.9 Example: Importing a TDE Master Encryption Key
- 4.2.7.10 How Keystore Merge Differs from TDE Master Encryption Key Export or Import
- 4.2.8 Moving TDE Master Encryption Keys into a New Keystore
- 4.2.9 Management of TDE Master Encryption Keys Using Oracle Key Vault
-
4.3
Storing Oracle Database Secrets
- 4.3.1 About Storing Oracle Database Secrets in a Keystore
- 4.3.2 Storage of Oracle Database Secrets in a Software Keystore
- 4.3.3 Example: Adding an Oracle Key Vault Password to a Software Keystore
- 4.3.4 Example: Changing an Oracle Key Vault Password Stored as a Secret in a Software Keystore
- 4.3.5 Example: Deleting an Oracle Key Vault Password Stored as a Secret in a Software Keystore
- 4.3.6 Storage of Oracle Database Secrets in an External Keystore
- 4.3.7 Example: Adding an Oracle Database Secret to an External Keystore
- 4.3.8 Example: Changing an Oracle Database Secret in an External Keystore
- 4.3.9 Example: Deleting an Oracle Database Secret in an External Keystore
- 4.3.10 Configuring Auto-Open Connections into External Key Managers
- 4.4 Storing Oracle GoldenGate Secrets in a Keystore
-
4.1
Managing the Keystore
-
5
Managing Keystores and TDE Master Encryption Keys in United Mode
- 5.1 About Managing Keystores and TDE Master Encryption Keys in United Mode
- 5.2 Operations That Are Allowed in United Mode
- 5.3 Operations That Are Not Allowed in a United Mode PDB
- 5.4 Configuring the Keystore Location and Type for United Mode
- 5.5 Configuring a Software Keystore for Use in United Mode
- 5.6 Configuring an External Keystore in United Mode
-
5.7
Administering Keystores and TDE Master Encryption Keys in United Mode
- 5.7.1 Changing the Keystore Password in United Mode
- 5.7.2 Backing Up a Password-Protected Software Keystore in United Mode
- 5.7.3 Closing Keystores in United Mode
- 5.7.4 Creating a User-Defined TDE Master Encryption Key in United Mode
- 5.7.5 Example: Creating a Master Encryption Key in All PDBs
- 5.7.6 Creating a TDE Master Encryption Key for Later Use in United Mode
- 5.7.7 Activating a TDE Master Encryption Key in United Mode
- 5.7.8 Rekeying the TDE Master Encryption Key in United Mode
- 5.7.9 Finding the TDE Master Encryption Key That Is in Use in United Mode
- 5.7.10 Creating a Custom Attribute Tag in United Mode
- 5.7.11 Moving a TDE Master Encryption Key into a New Keystore in United Mode
- 5.7.12 Automatically Removing Inactive TDE Master Encryption Keys in United Mode
- 5.7.13 Isolating a Pluggable Database Keystore
-
5.8
Administering Transparent Data Encryption in United Mode
- 5.8.1 Moving PDBs from One CDB to Another in United Mode
-
5.8.2
Unplugging and Plugging a PDB with Encrypted Data in a CDB in United Mode
- 5.8.2.1 Unplugging a PDB That Has Encrypted Data in United Mode
- 5.8.2.2 Plugging a PDB That Has Encrypted Data into a CDB in United Mode
- 5.8.2.3 Unplugging a PDB That Has Master Encryption Keys Stored in an External Keystore in United Mode
- 5.8.2.4 Plugging a PDB That Has Master Encryption Keys Stored in an External Keystore in United Mode
-
5.8.3
Managing Cloned PDBs with Encrypted Data in United Mode
- 5.8.3.1 About Managing Cloned PDBs That Have Encrypted Data in United Mode
- 5.8.3.2 Cloning a PDB with Encrypted Data in a CDB in United Mode
- 5.8.3.3 Performing a Remote Clone of PDB with Encrypted Data Between Two CDBs in United Mode
- 5.8.3.4 Relocating a PDB with Encrypted Data Across CDBs in United Mode
- 5.8.4 How Keystore Open and Close Operations Work in United Mode
- 5.8.5 Finding the Keystore Status for All of the PDBs in United Mode
-
6
Managing Keystores and TDE Master Encryption Keys in Isolated Mode
- 6.1 About Managing Keystores and TDE Master Encryption Keys in Isolated Mode
- 6.2 Operations That Are Allowed in Isolated Mode
- 6.3 Operations That Are Not Allowed in an Isolated Mode PDB
- 6.4 Configuring the Keystore Location and Type for Isolated Mode
-
6.5
Configuring a Keystore and TDE Master Encryption Key in Isolated Mode
- 6.5.1 About Configuring a Software Keystore in Isolated Mode
- 6.5.2 Step 1: Create a Software Keystore in a PDB Configured in Isolated Mode
- 6.5.3 Step 2: Open the Software Keystore in an Isolated Mode PDB
- 6.5.4 Step 3: Set the TDE Master Encryption Key in the Software Keystore of the Isolated Mode PDB
- 6.5.5 Step 4: Encrypt Your Data in Isolated Mode
-
6.6
Configuring an External Keystore in Isolated Mode
- 6.6.1 About Configuring an External Keystore in Isolated Mode
- 6.6.2 Step 1: Configure the External Keystore for Isolated Mode PDBs
- 6.6.3 Step 2: Open the External Keystore in an Isolated Mode PDB
- 6.6.4 Step 3: Set the First TDE Master Encryption Key in the External Keystore
- 6.6.5 Step 4: Encrypt Your Data in Isolated Mode
-
6.7
Administering Keystores and TDE Master Encryption Keys in Isolated Mode
- 6.7.1 Changing the Keystore Password in Isolated Mode
- 6.7.2 Backing Up a Password-Protected Software Keystore in Isolated Mode
- 6.7.3 Merging Software Keystores in Isolated Mode
- 6.7.4 Closing Keystores in Isolated Mode
- 6.7.5 Creating a User-Defined TDE Master Encryption Key in Isolated Mode
- 6.7.6 Creating a TDE Master Encryption Key for Later Use in Isolated Mode
- 6.7.7 Activating a TDE Master Encryption Key in Isolated Mode
- 6.7.8 Rekeying the TDE Master Encryption Key in Isolated Mode
- 6.7.9 Moving a TDE Master Encryption Key into a New Keystore in Isolated Mode
- 6.7.10 Creating a Custom Attribute Tag in Isolated Mode
- 6.7.11 Exporting and Importing the TDE Master Encryption Key in Isolated Mode
- 6.7.12 Storing Oracle Database Secrets in Isolated Mode
- 6.7.13 Migrating Keystores in Isolated Mode
- 6.7.14 Uniting a Pluggable Database Keystore
- 6.7.15 Creating a Keystore When the PDB Is Closed
-
6.8
Administering Transparent Data Encryption in Isolated Mode
- 6.8.1 Moving PDBs from One CDB to Another in Isolated Mode
-
6.8.2
Unplugging and Plugging a PDB with Encrypted Data in a CDB in Isolated Mode
- 6.8.2.1 Unplugging a PDB That Has Encrypted Data in Isolated Mode
- 6.8.2.2 Plugging a PDB That Has Encrypted Data into a CDB in Isolated Mode
- 6.8.2.3 Unplugging a PDB That Has Master Encryption Keys Stored in an External Keystore in Isolated Mode
- 6.8.2.4 Plugging a PDB That Has Master Encryption Keys Stored in an External Keystore in Isolated Mode
- 6.8.3 Cloning a PDB with Encrypted Data in a CDB in Isolated Mode
- 6.8.4 Performing a Remote Clone of PDB with Encrypted Data Between Two CDBs in Isolated Mode
- 6.8.5 Relocating Across CDBs a Cloned PDB with Encrypted Data in Isolated Mode
- 6.8.6 How Keystore Open and Close Operations Work in Isolated Mode
-
6.8.7
Exporting and Importing Master Encryption Keys for a PDB in Isolated Mode
- 6.8.7.1 About Exporting and Importing Master Encryption Keys for a PDB in Isolated Mode
- 6.8.7.2 Exporting or Importing a Master Encryption Key for a PDB in Isolated Mode
- 6.8.7.3 Example: Exporting a Master Encryption Key from a PDB in Isolated Mode
- 6.8.7.4 Example: Importing a Master Encryption Key into a PDB in Isolated Mode
-
7
General Considerations of Using Transparent Data Encryption
- 7.1 Compression and Data Deduplication of Encrypted Data
- 7.2 Security Considerations for Transparent Data Encryption
- 7.3 Performance and Storage Overhead of Transparent Data Encryption
- 7.4 Modifying Your Applications for Use with Transparent Data Encryption
- 7.5 How ALTER SYSTEM and orapki Map to ADMINISTER KEY MANAGEMENT
- 7.6 Data Loads from External Files to Tables with Encrypted Columns
- 7.7 Transparent Data Encryption and Database Close Operations
-
8
Using Transparent Data Encryption with Other Oracle Features
- 8.1 How Transparent Data Encryption Works with Export and Import Operations
- 8.2 How Transparent Data Encryption Works with Oracle Data Guard
- 8.3 How Transparent Data Encryption Works with Oracle Real Application Clusters
- 8.4 How Transparent Data Encryption Works with SecureFiles
- 8.5 How Transparent Data Encryption Works with Oracle Call Interface
- 8.6 How Transparent Data Encryption Works with Editions
- 8.7 Configuring Transparent Data Encryption to Work in a Multidatabase Environment
-
9
Using sqlnet.ora to Configure Transparent Data Encryption Keystores
- 9.1 About the Keystore Location in the sqlnet.ora File
- 9.2 Configuring the sqlnet.ora File for a Software Keystore Location
- 9.3 Example: Configuring a Software Keystore for a Regular File System
- 9.4 Example: Configuring a Software Keystore When Multiple Databases Share the sqlnet.ora File
- 9.5 Example: Configuring a Software Keystore for an Oracle Automatic Storage Management Disk Group
- 10 Frequently Asked Questions About Transparent Data Encryption
-
2
Introduction to Transparent Data Encryption
-
Part II Using Oracle Data Redaction
- 11 Introduction to Oracle Data Redaction
-
12
Oracle Data Redaction Features and Capabilities
- 12.1 Full Data Redaction to Redact All Data
- 12.2 Partial Data Redaction to Redact Sections of Data
- 12.3 Regular Expressions to Redact Patterns of Data
- 12.4 Redaction Using Null Values
- 12.5 Random Data Redaction to Generate Random Values
- 12.6 Comparison of Full, Partial, and Random Redaction Based on Data Types
- 12.7 No Redaction for Testing Purposes
- 12.8 Central Management of Named Data Redaction Policy Expressions
-
13
Configuring Oracle Data Redaction Policies
- 13.1 About Oracle Data Redaction Policies
- 13.2 Who Can Create Oracle Data Redaction Policies?
- 13.3 Planning an Oracle Data Redaction Policy
- 13.4 General Syntax of the DBMS_REDACT.ADD_POLICY Procedure
-
13.5
Using Expressions to Define Conditions for Data Redaction Policies
- 13.5.1 About Using Expressions in Data Redaction Policies
- 13.5.2 Supported Functions for Data Redaction Expressions
- 13.5.3 Applying the Redaction Policy Based on User Environment
- 13.5.4 Applying the Redaction Policy Based on Database Roles
- 13.5.5 Applying the Redaction Policy Based on Oracle Label Security Label Dominance
- 13.5.6 Applying the Redaction Policy Based on Application Express Session States
- 13.5.7 Applying the Redaction Policy to All Users
-
13.6
Creating and Managing Multiple Named Policy Expressions
- 13.6.1 About Data Redaction Policy Expressions to Define Conditions
- 13.6.2 Creating and Applying a Named Data Redaction Policy Expression
- 13.6.3 Updating a Named Data Redaction Policy Expression
- 13.6.4 Dropping a Named Data Redaction Expression Policy
-
13.6.5
Tutorial: Creating and Sharing a Named Data Redaction Policy Expression
- 13.6.5.1 Step 1: Create Users for This Tutorial
- 13.6.5.2 Step 2: Create an Oracle Data Redaction Policy
- 13.6.5.3 Step 3: Test the Oracle Data Redaction Policy
- 13.6.5.4 Step 4: Create and Apply a Policy Expression to the Redacted Table Columns
- 13.6.5.5 Step 5: Test the Data Redaction Policy Expression
- 13.6.5.6 Step 6: Modify the Data Redaction Policy Expression
- 13.6.5.7 Step 7: Test the Modified Policy Expression
- 13.6.5.8 Step 8: Remove the Components of This Tutorial
- 13.7 Creating a Full Redaction Policy and Altering the Full Redaction Value
- 13.8 Creating a DBMS_REDACT.NULLIFY Redaction Policy
-
13.9
Creating a Partial Redaction Policy
- 13.9.1 About Creating Partial Redaction Policies
- 13.9.2 Syntax for Creating a Partial Redaction Policy
- 13.9.3 Creating Partial Redaction Policies Using Fixed Character Formats
- 13.9.4 Creating Partial Redaction Policies Using Character Data Types
- 13.9.5 Creating Partial Redaction Policies Using Number Data Types
- 13.9.6 Creating Partial Redaction Policies Using Date-Time Data Types
- 13.10 Creating a Regular Expression-Based Redaction Policy
- 13.11 Creating a Random Redaction Policy
- 13.12 Creating a Policy That Uses No Redaction
- 13.13 Exemption of Users from Oracle Data Redaction Policies
- 13.14 Altering an Oracle Data Redaction Policy
- 13.15 Redacting Multiple Columns
- 13.16 Disabling and Enabling an Oracle Data Redaction Policy
- 13.17 Dropping an Oracle Data Redaction Policy
- 13.18 Tutorial: SQL Expressions to Build Reports with Redacted Values
- 13.19 Oracle Data Redaction Policy Data Dictionary Views
-
14
Managing Oracle Data Redaction Policies in Oracle Enterprise Manager
- 14.1 About Using Oracle Data Redaction in Oracle Enterprise Manager
- 14.2 Oracle Data Redaction Workflow
- 14.3 Management of Sensitive Column Types in Enterprise Manager
-
14.4
Managing Oracle Data Redaction Formats Using Enterprise Manager
- 14.4.1 About Managing Oracle Data Redaction Formats Using Enterprise Manager
- 14.4.2 Creating a Custom Oracle Data Redaction Format Using Enterprise Manager
- 14.4.3 Editing a Custom Oracle Data Redaction Format Using Enterprise Manager
- 14.4.4 Viewing Oracle Data Redaction Formats Using Enterprise Manager
- 14.4.5 Deleting a Custom Oracle Data Redaction Format Using Enterprise Manager
-
14.5
Managing Oracle Data Redaction Policies Using Enterprise Manager
- 14.5.1 About Managing Oracle Data Redaction Policies Using Enterprise Manager
- 14.5.2 Creating an Oracle Data Redaction Policy Using Enterprise Manager
- 14.5.3 Editing an Oracle Data Redaction Policy Using Enterprise Manager
- 14.5.4 Viewing Oracle Data Redaction Policy Details Using Enterprise Manager
- 14.5.5 Enabling or Disabling an Oracle Data Redaction Policy in Enterprise Manager
- 14.5.6 Deleting an Oracle Data Redaction Policy Using Enterprise Manager
-
14.6
Managing Named Data Redaction Policy Expressions Using Enterprise Manager
- 14.6.1 About Named Data Redaction Policy Expressions in Enterprise Manager
- 14.6.2 Creating a Named Data Redaction Policy Expression in Enterprise Manager
- 14.6.3 Editing a Named Data Redaction Policy Expression in Enterprise Manager
- 14.6.4 Viewing Named Data Redaction Policy Expressions in Enterprise Manager
- 14.6.5 Deleting a Named Data Redaction Policy Expression in Enterprise Manager
-
15
Using Oracle Data Redaction with Oracle Database Features
- 15.1 Oracle Data Redaction General Usage Guidelines
- 15.2 Oracle Data Redaction and DML and DDL Operations
- 15.3 Oracle Data Redaction and Nested Functions, Inline Views, and the WHERE Clause
- 15.4 Oracle Data Redaction and Queries on Columns Protected by Data Redaction Policies
- 15.5 Oracle Data Redaction and Database Links
- 15.6 Oracle Data Redaction and Aggregate Functions
- 15.7 Oracle Data Redaction and Object Types
- 15.8 Oracle Data Redaction and XML Generation
- 15.9 Oracle Data Redaction and Editions
- 15.10 Oracle Data Redaction in a Multitenant Environment
- 15.11 Oracle Data Redaction and Oracle Virtual Private Database
- 15.12 Oracle Data Redaction and Oracle Database Real Application Security
- 15.13 Oracle Data Redaction and Oracle Database Vault
- 15.14 Oracle Data Redaction and Oracle Data Pump
- 15.15 Oracle Data Redaction and Data Masking and Subsetting Pack
- 15.16 Oracle Data Redaction and JSON
-
16
Security Considerations for Oracle Data Redaction
- 16.1 Oracle Data Redaction General Security Guidelines
- 16.2 Restriction of Administrative Access to Oracle Data Redaction Policies
- 16.3 How Oracle Data Redaction Affects the SYS, SYSTEM, and Default Schemas
- 16.4 Policy Expressions That Use SYS_CONTEXT Attributes
- 16.5 Oracle Data Redaction Policies on Materialized Views
- 16.6 REDACTION_COLUMNS Data Dictionary View Behavior When a View Is Invalid
- 16.7 Dropped Oracle Data Redaction Policies When the Recycle Bin Is Enabled
- Glossary
- Index