Dynamic data masking in OpenEdge SQL server
- Last Updated: February 11, 2026
- 3 minute read
- OpenEdge
- Version 13.0
- Documentation
Dynamic data masking (DDM) refers to the ability of the system to obfuscate or mask sensitive
data dynamically from unauthorized users. For example, if an HR role has DDM privileges
over the Salary field, only the HR personnel assigned to that role can
view employee salaries. Everyone else sees a masked version of the salary.
DDM configuration uses Role-Based Access Control (RBAC) to control the privileges granted to users for data unmasking. A DDM administrator can configure a mask over the table fields that hides the sensitive data in the result set of a query as well as create and assign new authorization tags to the user-defined roles. After mapping the roles and authorization tags together, they can map these authorization tags to the table fields.
For more information on the available mask configuration types and authorization tags, see Dynamic data mask configurations and Authorization tags.
Currently, you use the methods available through the IDataAdminService
interface to create mask configurations and authorization tags.
For more information on the IDataAdminService methods
that you can utilize to set or unset (reset) the mask configurations and manage
authorization tags, see IDataAdminService interface.
The DDM administrator also controls the access privileges of users to view the unmasked values of specific fields.
For more information about RBAC, see Access control to support OpenEdge dynamic data masking.
- Sent outside of the SQL engine.
- Utilized in inner queries, where the potential for indirect access to sensitive data exists.
To learn more about how DDM affects SQL constructs, see Impact of Dynamic Data Masking on SQL constructs.
PUB schema, the mask configurations apply to all
fields of those tables, regardless of whether they are created with the ABL virtual
machine (AVM) or SQL interfaces. However, for tables created using SQL interfaces, you
can apply mask configurations to only those fields that have a corresponding ABL
datatype, as shown in the following table: | ABL data type | SQL data type |
|---|---|
CHARACTER |
VARCHAR |
DATE |
DATE |
DECIMAL |
DECIMAL or NUMERIC |
INTEGER |
INTEGER |
INT64 |
BIGINT |
LOGICAL |
BIT |
RAW |
VARBINARY |
RECID |
INTEGER |
DATE-TIME |
TIMESTAMP |
PUB schema, are not visible to AVM. Therefore, creating mask
configuration for fields of such tables is not possible. Similarly, you cannot mask the
fields in the schema tables. Data masking applies to all data types except character large objects (CLOB) and binary large objects (BLOB). Masking also applies to the change data capture (CDC) tables. By default, any CDC table inherits the mask configurations from its parent table at the time of creation. The DDM administrator can change the mask configuration for the CDC table afterwards. Data retrieved by querying the SQL engine from a CDC change table is masked if you do not have unmasking privileges over the data.
PROUTIL utilites manage DDM in the OpenEdge database:PROUTIL ENABLEDDMPROUTIL ACTIVATEDDMPROUTIL DEACTIVATEDDMPROUTIL DISABLEDDM
To know more about each of these utilities, see Database utilities for administering dynamic data masking.
For more information on how to configure DDM and how to get started, see Introduction to Dynamic Data Masking in the Learn about Security and Auditing.