MicroStrategy ONE

Compliance Telemetry Hierarchy

User Entity

A ​User ​Entity can inherit project access privileges from two Sources: 

  1. User ​(self) 
  2. User Groups ​(all direct and indirect parent user groups)

User Entities can be found in lu_user_entity_view.

Source Entity

A Source can inherit project access privileges from three Privilege Sources:

  1. User ​(self) 
  2. User Groups ​(all direct and indirect parent user groups)
  3. Security Roles

Sources can be found in lu_source_entity_view and Privilege Sources can be found in lu_privilege_source_view.

Relationship Tables

The relationship table rel_user_entity_source captures the relationship between a User Entity and its Source of privileges. Sources may be the User itself or a parent User Group.

The relationship table rel_source_privilege_source_scope captures the relationship between a Source and its Privilege Source. Privilege sources may be the User itself, a parent User Group, or a Security Role. It also captures the relationship between a Privilege Source and its Scope. A Scope is the set of projects the privileges are applicable for.

The relationship table rel_privilege_source_privilege_group captures the relationship between a Privilege Source and a Privilege Group. A privilege group is a set of unique privileges applied to a Privilege Source. Multiple Privilege Sources may share the same Privilege Group if they have the same applied privileges.

The relationship table rel_privilege_group_privilege captures the relationship between a Privilege Group and its unique set of Privileges.

Joining rel_user_entity_source, rel_source_privilege_source_scope, rel_privilege_source_privilege_group , and rel_privilege_group_privilege will give you an enumerated list of all Privileges available to a User Entity based on their Sources’ Privilege Sources.

The table fact_user_entity_resolved_privilege captures the list of resolved privileges for a given User Entity. When we join rel_user_entity_source, rel_source_privilege_source_scope, rel_privilege_source_privilege_group , rel_privilege_group_privilege withfact_user_entity_resolved_privilege we get a resolved list of all Privileges available to each User Entity and their respective Product. The resolution process allows us to relate all Privileges available to a User Entity, as well as each Privilege’s Source and Privilege Source.

For more information about project access privileges, see List of Privileges.

rel_user_entity_source

A User can inherit privileges directly from two Sources:

  1. User ​(self) 
  2. User Groups ​(all direct and indirect parent user groups)

The relationship table rel_user_entity_source captures the relationship between a User Entity and its Source of privileges. This includes relationships between a User and itself and a User with its parent User Groups.

Column

Description

Data-Type

user_entity_id

The auto-generated numeric ID for the User Entity.

bigint(20)

source_id

The auto-generated numeric ID for the Source corresponding to a User or User Group.

bigint(20)

audit_timestamp

The timestamp of when the License Audit was triggered. This is sent by the Intelligence server to Kafka logs.

timestamp

metadata_id

The auto-generated numeric ID of the corresponding metadata.

bigint(20)

insert_ts

MicroStrategy internal use. The timestamp the ETL inserted the row into the database.

timestamp

lu_user_entity_view

The list of all possible User Entities. Therefore, it contains Users and Contacts. It is a view based on lu_entity limited to entity_type_ids in (1,4).

Column

WH Table Column

Description

Data-Type

user_entity_id

entity_id

The auto-generated numeric ID value for User Entity.

bigint(20)

user_entity_name

entity_name

The name of the User Entity that has privileges.

varchar(255)

user_entity_desc entity_desc The description of the User Entity. varchar(255)

user_entity_type_id

entity_type_id

The User Entity type can be:

User (1)

Contact (4)

int(11)

metadata_id metadata_id The ID for the corresponding metadata for each Privilege Source. All User Entities are stored at the metadata level. bigint(20)

user_entity_guid

entity_guid

The GUID of User Entity.

varchar(32)

creation_timestamp creation_timestamp The UTC timestamp of when the User Entity was first created in the metadata. datetime

modification_timestamp

modification_timestamp

The latest UTC timestamp from when the User Entity object was last changed. The value will continually update as the object is modified.

datetime

status status

The Status of the User Entity. The Status can be:

Enabled (1)

Disabled (0)

varchar(32)

lu_user_entity_type_view

A User Entity can be of type: User or Contact. Therefore, this lookup table contains a list of two static elements. This lookup table is a view based on lu_entity_type limited to entity_type_ids in (1,4).

Column

Description

Data-Type

user_entity_type_id

The fixed ID for User Entity type.

int(11)

user_entity_type_desc

Description for User Entity Type. A User Entity can be of type:

User (1)

Contact (4)

varchar(255)

lu_source_entity_view

The list of all possible Sources. Therefore, it contains Users and User Groups. It is a view based on lu_entity limited to entity_type_ids in (1,2).

Column

WH Table Column

Description

Data-Type

source_id

entity_id

The auto-generated ID for the Source entity.

bigint(20)

source_name

entity_name

The name of the Source.

varchar(255)

source_desc entity_desc The description of the Source. varchar(255)

source_type_id

entity_type_id

The Source type can be:

User (1)

User Group (2)

int(11)
metadata_id metadata_id The ID for the corresponding metadata for each Privilege Source. All sources are stored at the metadata level. bigint(20)

user_entity_guid

entity_guid

The GUID of Source.

varchar(32)

creation_timestamp creation_timestamp The UTC timestamp of when the Source was first created in the metadata. datetime

modification_timestamp

modification_timestamp

The latest UTC timestamp from when the Source object was last changed. The value will continually update as the object is modified.

datetime
status status

The Status of the Source. The Status can be:

Enabled (1)

Disabled (0)

varchar(32)

rel_source_privilege_source_scope

A Source can get its privileges from three Privilege Sources:

  1. User (self),
  2. User Groups (all direct and indirect Parent User Groups) and
  3. Security Roles (applied to User or Parent User groups)

The relationship table rel_source_privilege_source_scope captures the relationship between the Source entity from rel_user_entity_source and their Privilege Source. Each row also contains a Scope which indicates the list of projects the Privilege Source is applicable to.

Column

Description

Data-Type

source_id

The auto-generated numeric ID value for a Source entity.

bigint(20)

privilege_source_id

The auto-generated numeric ID value for a Privilege Source entity.

bigint(20)

scope_id The auto-generated numeric ID value for a scope of projects. bigint(20)

audit_timestamp

The timestamp the License Audit was triggered, sent by the Intelligence server to Kafka logs.

timestamp

metadata_id The auto_generated numeric ID value for the corresponding Metadata bigint(20)

insert_ts

MicroStrategy internal use. The timestamp the ETL inserted the row into the database.

timestamp

lu_scope

The Scope attribute was introduced to optimize SQL query and ETL performance. It is not intended to be used in ad-hoc reports. The level of assigning Privileges can differ depending on the Privilege Source.

Security Roles can grant a set of privileges but restrict them to a few projects. Whereas, User and User Group privileges are applicable globally for all the projects. To determine which privilege is assigned to which list of project(s), Scope is used. It represents the list of projects for which the privilege source is applicable.

If Privilege Source (from rel_source_privilege_source_scope) is a Security Role, Scope would be a positive number representing subset of projects in the metadata. If Privilege Source is User or User group, we assign a default scope_ID (-metadataId) representing all the projects in the metadata.

Column

Description

Data-Type

scope_id

The auto-generated numeric ID for each unique list of projects.

bigint(20)

scope_desc

The list of project ID’s in the metadata.

longtext

rel_scope_project

The relationship table between ​Scope and ​ ​Project​. Scope is used to represent the list of projects for which a User/User Group inherits a list of privileges from Security role. This table maintains the relationship between scope and the corresponding projects.

Column

Description

Data-Type

scope_id

The auto-generated numeric ID value for scope.

bigint(20)

project_id

The auto-generated numeric ID value for projects.

bigint(20)

metadata_id

The ID for the corresponding metadata for each Project.

bigint(20)

rel_privilege_source_privilege_group

A relationship table between Privilege Source (which is User, User group, or Security Role) and their corresponding set of privileges represented by the Privilege Group.

Column

Description

Data-Type

privilege_source_id

The auto-generated numeric ID value for a Privilege Source entity.

bigint(20)

privilege_group_id

The auto-generated numeric ID value for a Privilege Group representing the set of Privileges for a Privilege Source.

bigint(20)

audit_timestamp

The timestamp the License Audit was triggered. This is sent by the Intelligence server to Kafka logs.

timestamp

metadata_id

The auto generated ID for a metadata.

bigint(20)

insert_ts MicroStrategy internal use. The timestamp the ETL inserted the row into the database. timestamp

lu_privilege_source_view

The list of all possible Privilege Sources. Therefore, it contains Users, User Groups and Security Roles. A view based on lu_entity limited to entity_type_ids in (1,2,3).

Column

WH Table Column

Description

Data-Type

privilege_source_id entity_id The auto-generated ID for Privilege Source entity. bigint(20)
privilege_source_name entity_name The name of the Privilege Source. varchar(255)
privilege_source_desc entity_desc The description of Privilege Source. varchar(255)
privilege_source_type_id entity_type_id

The Privilege Source type can be:

User (1)

User Group (2)

Security Role (3)

int(11)
metadata_id metadata_id The ID for the corresponding metadata for each Privilege Source. All sources are stored at the metadata level. bigint(20)

privilege_source_guid

entity_guid

The GUID of Privilege Source.

varchar(32)

creation_timestamp creation_timestamp The UTC timestamp of when the Privilege Source was first created in the metadata. datetime

modification_timestamp

modification_timestamp

The latest UTC timestamp from when the Privilege Source object was last changed. The value will continually update as the object is modified.

datetime

status status

Status of Privilege Source. The Status can be:

Enabled

Disabled

varchar(32)

lu_privilege_source_type_view

A Privilege Source can be of Type: User, User group or Security Role. Therefore this lookup table contains a list of three static elements. This lookup table is a view based on lu_entity_type limited to entity_type_ids in (1,2,3).

Column

Description

Data-Type

privilege_source_type_id The fixed ID for privilege source type. int(11)
privilege_source_type_desc

The description for Privilege Source Type. Privilege Source type can be:

User (1)

User Group (2)

Security Role (3)

varchar(255)

lu_privilege_group

This table is used for internal purpose only. A Privilege Group represents a unique set of privileges applied to a Privilege Source. Multiple Privilege Sources with the same set of privileges will be assigned the same Privilege Group.

Column

Description

Data-Type

privilege_group_id

The auto-generated numeric ID value.

bigint(20)

privilege_group_desc

A set of privileges.

varchar(4096)

rel_privilege_group_privilege

This is a relationship table between Privilege Groups and their set of Privileges. The join between rel_privilege_source_privilege_group, rel_privilege_group_privilege, and lu_privilege gives a list of privileges that are assigned directly to each Privilege Source. Such a list includes only the directly assigned privileges and not the inherited privileges.

Column

Description

Data-Type

privilege_id

The fixed ID value for the privilege.

int(11)

privilege_group_id

The auto-generated ID value for privilege group.

bigint(20)

fact_user_entity_resolved_privilege

This table contains the resolved list of Privileges and their associated Product (including those directly applied to a user, those from a parent group, and those from a security role applied to a user or parent group) for each User Entity in the metadata.

Column

Description

Data-Type

user_entity_id

The auto-generated ID value for the User Entity.

bigint(20)

privilege_id

The fixed ID value for the Privilege.

smallint(6)

product_id

The fixed ID value for the Product.

smallint(6)

audit_timestamp

The timestamp the License Audit was triggered. It is sent by the Intelligence server to Kafka logs.

timestamp

license_entity_status_id

The fixed ID Value for the status of the entity.

tinyint(4)

metadata_id

The auto-generated ID value for the metadata.

bigint(20)

insert_ts MicroStrategy Internal Use. The timestamp the ETL inserted the row into the database. timestamp

lu_license_entity_status_view

An entity (from lu_user_entity_view, lu_privilege_source_view, lu_source_entity_view) in the license model can be either enabled or disabled. Therefore this lookup table contains a list of two static elements. This lookup table is a view based on lu_account_status limited to account_status_id in (0,1) for enabled/disabled.

Column

Description

Data-Type

license_entity_status_id

The fixed numeric ID for status.

tinyint(4)

license_entity_status_desc

The description for Status can be:

Enabled (1)

Disabled (0)

varchar(25)

lu_product

lu_product is lookup table for all the Products. To access each product a user needs to have a set of privileges.

Column

Description

Data-Type

product_id

The fixed numeric ID for the Product.

int(11)

product_desc

The description for the Product.

varchar(255)

lu_privilege

The static list of all ​Privileges​. For more information about project access privileges, see ​List of Privileges​.

Column

Description

Data-Type

privilege_id

The fixed numeric ID for Privileges. This is the source column for the Privilege attribute.

int(11)

privilege_desc

The description for the Privilege.

varchar(255)