One of the key concepts to understanding EmpowerID is its Identity Warehouse, sometimes known as the Identity and Entitlement Warehouse. This is the primary database of EmpowerID that stores all major data, including configuration and policies, major EmpowerID objects like Person and Roles, inbox and outbox queues used to stage detected changes and outbound changes between EmpowerID and managed systems, as well as the tables holding the inventoried objects and their data from external managed systems. external managed systems are referred to as Account Stores and Resource Systems in EmpowerID terminology.
High-Level Stats for the Identity Warehouse:
>1,200 tables
>700 views
>20,000 stored procedures
It is not essential to learn the specifics of these tables, views, and stored procedures as most are used for internal purposes. Key views and stored procedures used by the user interfaces can be identified by hitting F12 in your browser and seeing which is being called on the network tab.
EmpowerID “Components”
When working with EmpowerID or its support staff, a key term you will encounter is the EmpowerID “Components.” The components are how the Identity Warehouse tables, views, and stored procedures are exposed for use in the API. All major SQL tables and views are created as programmable objects against which the user interface acts to retrieve and view their data and workflows and code act to create, update, or delete them. All of the columns in SQL for a table or view become properties of its corresponding programmable component object. Therefore, extending the schema is referred to as extending the components by adding new “virtual” properties or methods. We’ll talk about extending the schema in more depth in a later training module.
Although the list of components is extensive, many are disabled by default and not available to show in the user interfaces or be called by custom applications and developers. As a quick illustration, we can see that the Account component, which represents the SQL account table, is not available in the API, while the more secure AccountView component is. To be noted, the schema management user interface labels components as RBAC Objects. This is because there is an entry for every table and view, aka “component” in the RBACObject table, used to display this data. The SQL stored procedures for these components can be seen on the RBAC Object Methods tab.
https://youtu.be/GosLFTXY5Is
Key Takeaways:
EmpowerID is built on what is called an Identity and Entitlement Warehouse
The Identity and Entitlement Warehouse is a highly relational database storing configuration, EmpowerID IAM objects, and objects inventoried from external managed systems.
Tables and views are made into programmable objects with an API called components.
Views have built-in security and data filtering and are, therefore, what is usually exposed in the user interfaces.
Components are also known as RBAC Objects and can be made accessible or inaccessible via API by checking a checkbox.