Understanding the History Database Schema
This chapter describes the History Database (History DB) schema including OLTP and OLAP database structures. The database schema is designed for extensibility to support customized IAM solutions.
About the History Database OLTP Schema
A history entry consists of the following data:
-
Entry type - indicates the type of entry, such as AccessRight, Account, Activity Definition, Activity Instance, Assignment, Audit Policy, Business Object, Certification Assignment Change, Certification Campaign, Certification Entry, Certification Notification, Configuration Object, Delegation, Domain Object, Group, Permission, Policy, Role, Role Parameter, Target System, Target System Configuration Object, Ticket, User, Workflow Definition and Workflow Instance.
-
Entry - contains identification attributes such as the unique identifiers and the name of the entry.
-
Small attribute values - contain the values of attributes that can be represented with primitive data types like string, number, date and time or boolean.
-
Link attribute values - contain values represented as references to other entries. It is usually a DN in a DirX Identity domain. Link attributes also contain user-to-privilege assignments, including assignment attributes and role parameters values.
-
Large attribute values - contain the values of attributes that can be represented with large object data types like images, XML structures, certificates, and so on.
Values are stored together with their date and time validity.
The following figure illustrates the History Database OLTP schema:
The following table describes the table columns in the History Database OLTP schema.
| Table Column |
Description |
|---|---|
HST_ENTRY_TYPES |
Name of the entry type. The entry type is unique for the whole entry’s life-cycle. |
HST_ENTRIES |
UID of the entry. The UID is unique for the whole entry’s life-cycle. |
HST_ENTRIES |
DirX Directory entry UID. The UID is calculated by DirX Server and is unique for the whole entry’s life-cycle. |
HST_ENTRIES_IN_TIME |
DN of the entry. |
HST_ENTRIES_IN_TIME |
Name of the entry. |
HST_LDAP_ATTRS |
Name of the attribute. |
HST_LDAP_ATTRS |
Visibility of the attribute. |
HST_LDAP_ATTRS |
Data type of the attribute. |
HST_LDAP_ATTRS |
Category of the attribute: SMALL, LARGE, LINK, ROLEPARAM, EXCLUDED, ENTRY. |
HST_LDAP_ATTRS |
Indicates whether the LDAP attribute synchronization is restricted only to a specific entry type. |
HST_SMALL_ATTRS_IN_TIME |
Small attribute’s name. |
HST_SMALL_ATTRS_IN_TIME |
Small attribute’s value. |
HST_LARGE_ATTRS_IN_TIME |
Large attribute’s name. |
HST_LARGE_ATTRS_IN_TIME |
Large attribute’s value. |
HST_LINK_ATTRS_IN_TIME |
Link attribute’s name. |
HST_LINK_ATTRS_IN_TIME |
Link attribute’s value. |
HST_ROLEPARAMS_IN_TIME |
UID of the role parameter. |
HST_ROLEPARAMS_IN_TIME |
Type of the role parameter. |
HST_ROLEPARAMS_IN_TIME |
Value of the role parameter. |
HST_ROLEPARAMS_IN_TIME |
Key of the role parameter. |
* |
Start of the value validity. |
* |
End of the value validity. |
About the History Database OLAP Schema
The History Database OLAP schema is designed to enhance the performance of queries on history entries. Materialized or indexed views support relationships between all types of entries and their attributes and also of users and their roles, permissions, groups and accounts, of roles and their junior roles and permissions and of permissions and their groups.
The views depend on the calculation of foreign keys which are derived from link attribute values. DirX Audit Server runs the History DB update scheduled job to update the foreign keys of the History OLTP tables.
The following figure illustrates the views of the History Database OLAP schema:
For some reports, additional History OLAP tables are created and managed. They keep data on request workflows including their subjects, resources and people activities. The content of these OLAP tables is extended with a regular job run by DirX Audit Server.
The following figure illustrates the History Database OLAP schema tables:
The following tables describe views and tables and their columns of the History Database OLAP schema.
| Table Column |
Description |
|---|---|
HDB_ENTRY_ATTRIBUTES |
Attribute’s name. |
HDB_ENTRY_ATTRIBUTES |
Attribute’s value. |
HDB_USER_ACCOUNTS |
Account’s distinguished name. |
HDB_USER_PRIVILEGES |
Privilege’s distinguished name. |
HDB_USER_PRIVILEGES |
Assignment mode: manual, BO, rule, inherited. |
HDB_USER_ROLES |
Role’s distinguished name. |
HDB_USER_ROLES |
Assignment mode: manual, BO, rule, inherited. |
HDB_USER_PERMISSIONS |
Permission’s distinguished name. |
HDB_USER_PERMISSIONS |
Assignment mode: manual, BO, rule, inherited. |
HDB_USER_GROUPS |
Group’s distinguished name. |
HDB_USER_GROUPS |
Assignment mode: manual, BO, rule, inherited. |
HDB_ROLE_ROLES |
Junior role’s distinguished name. |
HDB_ROLE_PERMISSIONS |
Permission’s distinguished name. |
HDB_PERMISSION_GROUPS |
Group’s distinguished name. |
| Table Column |
Description |
|---|---|
HDB_REQWFS |
Request workflow type: Request, Certification. |
HDB_REQWFS |
Display name of the request workflow. |
HDB_REQWFS |
Application state of the request workflow. |
HDB_REQWFS |
State of the request workflow. |
HDB_REQWFS |
Start date of the request workflow. |
HDB_REQWFS |
End date of the request workflow. |
HDB_REQWFS |
Path to the request workflow definition. |
HDB_REQWFS |
Operation over the request workflow subject. |
HDB_REQWF_RESOURCES |
Operation over the request workflow resource. |
HDB_REQWF_ACTIVITIES |
Activity type: people. |
HDB_REQWF_ACTIVITIES |
Display name of the request workflow activity. |
HDB_REQWF_ACTIVITIES |
Application state of the request workflow activity. |
HDB_REQWF_ACTIVITIES |
State of the request workflow activity. |
HDB_REQWF_ACTIVITIES |
Start date of the request workflow activity. |
HDB_REQWF_ACTIVITIES |
End date of the request workflow activity. |
HDB_REQWF_ACTIVITIES |
Reason for the request workflow activity resolution. |
HDB_REQWF_ACTIVITIES |
Retry count of the request workflow activity. |
HDB_REQWF_ACTIVITIES |
Escalation level of the request workflow activity. |
HDB_SMALL_DATTRS_IN_TIME |
Derived small attribute’s name. |
HDB_SMALL_DATTRS_IN_TIME |
Derived small attribute’s value. |
HDB_LINK_DATTRS_IN_TIME |
Derived link attribute’s name. |
HDB_LINK_DATTRS_IN_TIME |
Derived link attribute’s value. |
HDB_IMPORTED_MEMBERSHIPS |
Start of the membership validity. |
HDB_IMPORTED_MEMBERSHIPS |
End of the membership validity. |
For some Dashboard components and reports on DirX Identity certification campaigns, additional History OLAP tables are created and managed. They keep data on certification campaigns, certification entries and certification assignment changes and their relations to history entries. The content of these OLAP tables is extended with the regular History DB update job run by DirX Audit Server.
The following figure illustrates the History Database OLAP schema tables for certification campaigns:
The following table describes the tables and their columns of the History Database OLAP schema for certification campaigns.
| Table Column |
Description |
|---|---|
HDB_RSK_USR_CERTIFICATIONS_03 |
Month when a certification is performed. |
HDB_RSK_USR_CERTIFICATIONS_03 |
Whether the user is certified fully, partly, planned only or even unplanned. |
HDB_MANUAL_ASSIGNMENTS |
Privilege type (Role, Permission or Group). |
HDB_ASS_CERTIFICATIONS_12 |
Month when an assignment is certified. |
HDB_ASS_CERTIFICATIONS_12 |
Entry type (Role, Permission or Group). |
HDB_ASS_CERTIFICATIONS_12 |
Organizational unit of a certified user. |
HDB_ASS_CERTIFICATIONS_12 |
Whether the assignment is certified (1) or uncertified (0). |
HDB_ASS_CERTIFICATIONS_12 |
Whether the assignment is certified (0) or uncertified (1). |
HDB_CERTENTRIES_SUCCEEDED |
Certification campaign type: Privilege certification (RoleToUser) or User certification (UserToRole). |
HDB_CERTENTRIES_SUCCEEDED |
When certification succeeded. |
HDB_CERTENTRIES_SUCCEEDED |
Reference to the certification entry subject. |
HDB_CERTENTRIES_SUCCEEDED |
Number of accepted assignments. |
HDB_CERTENTRIES_SUCCEEDED |
Number of rejected assignments. |
HDB_CERTENTRIES_SUCCEEDED |
Number of uncertified assignments. |
HDB_CERTENTRIES_SUCCEEDED |
Whether the certification entry is certified fully, partially or only planned. |
HDB_USR_CERTIFICATIONS_12 |
Month when a certification is performed. |
HDB_USR_CERTIFICATIONS_12 |
Whether the user is certified fully, partially, planned, or unplanned. |
HDB_ASSIGNMENT_CERTIFICATIONS |
End date of the assignment certification. |
HDB_CERTCAMPAIGNS |
Date when a campaign is executed. |
HDB_CERTCAMPAIGNS |
Month when a campaign is executed. |
HDB_CERTCAMPAIGNS |
Certification campaign state (SUCCEEDED, RUNNING, PREPARING, FAILED.EXPIRED, FAILED.PREPARE). |
HDB_CERTCAMPAIGNS |
Certification campaign type: Privilege certification (RoleToUser) or User certification (UserToRole). |
HDB_CERTCAMPAIGNS |
Certification campaign apply changes type: reject, reject-all, review or simulate. |
HDB_APPROVALS |
Start date of the approval. |
HDB_APPROVALS |
End date of the approval. |
HDB_APPROVALS |
Expiration date of the approval. |