Data model - CustomerID

Data model - CustomerID

Last reviewed: 2017-10-13

Figure 1. Simplified Conceptual Model

Users

Statuses

User accounts in CustomerID can be in different statuses. Here is a list of all the statuses:

Status name

Status code

Technical name

Description

Status name

Status code

Technical name

Description

Pending

0

pending

User has registered, but is waiting for approval to become an enabled user.

Enabled

1

enabled

Normal user status. User can access systems according to defined permissions.

Disabled

2

disabled

User has been disabled. This means that user can not login into services until user is enabled again.

Locked

3

locked

User authentication method has locked the user account. This usually occurs because too many failed login attempts have been performed. This is usually a temporary status for the user. A locked user may for example become enabled again after a certain time interval or an administrator user can in some cases unlock the user account.

Not initialized

4

 

This is purely a technical user status and it should not occur in production.

Waiting for registration

5

waiting_for_registration

User has been invited to the system, but hasn't registered yet.

 

Roles and Organizations

Roles and organizations are configurable. For example, the role requests through the self-service interface can be configured as follows:

  • You can define that roles can only be requested from within the home organization, that is, the organization where the user object resides in.

  • You can create role lists. There are two types of role lists:

    • Black list.
      End-users cannot request roles in the black list. They can only request roles not in the black list.

    • White list.
      End-users can only request roles in the white list. They cannot request any other roles.

Roles

In Ubisecure CustomerID, all roles are described as EntityNames. Supported characters are basic letters ("a-zA-Z"), Scandinavian characters ("äöåÄÖÅ"), numbers ("0-9"), space (" ") and some special characters (",._-"). All other characters are replaced with a space.The following is an example of an EntityName of a role: 

Societies/Lapland/OrganizationMainUser

In this example:

  • The role is located in the Ubisecure CustomerID Users branch (eIDM Users) of the Ubisecure Directory or Active Directory

  • The organization is Societies

  • The suborganization is Lapland

  • The role is OrganizationMainUser

In Ubisecure Directory, the Distinguished Name (DN) for the example role above would be as follows:

cn=OrganizationMainUser,ou=Lapland,ou=Societies,ou=eIDM Users,<ROOT DN>

The user object has a membership for the role:

# Ubisecure Directory ubiloginMemberOf= cn=OrganizationMainUser,ou=Lapland,ou=Societies,ou=eIDM Users,<ROOT DN> # Microsoft Active Directory memberOf= cn=OrganizationMainUser,ou=Lapland,ou=Societies,ou=eIDM Users, <ROOT DN>

Organizations

Organizations have a technical name and a display name. The technical name is the actual path (relative name) of the organization in the main repository, and the display name is the name that is shown in user interfaces.

There are two types of organizations, physical and virtual. Physical organizations are used to mimic the hierarchical structure of an organization where each user belongs to only one organization. Virtual organizations mirror a project structure where users can belong to many projects. In virtual organizations, the users are not physically located in any of the projects but they are part of them through roles.

Organizations have an organization type, which can be used to classify organizations into groups. In configuration, it is possible to define roles that will be created into these organization types by default. The needed information is the name of the organization type and the roles.

Roles can be added to and removed from an organization in the Ubisecure CustomerID Administrative user interface, although roles that are not removable from organizations can also be created via configuration. Similarly it is possible to protect role names via configuration, so that roles with specific names cannot be created in the Administrative user interface.

The configurations for roles and configurations described above are done in the permissions.properties file. For more information, see Internal access control (permissions) - CustomerID.

Organizations have the following attributes:

Attribute name

Format

Description

Attribute name

Format

Description

Organization ID

UUID (RFC4122), Max length 36 characters

Internal Organization ID that is generated when organization is initially created to CustomerID.

Technical name

Case insensitive, max 1024 characters. Additional limitations may apply depending on organizationalUnit object class limit in the used directory server.

Technical name is the rightmost component in the Entity name path that must be unique in relation to its sibling organizations.

Friendly name

UTF-8 text, not empty, max 1024 characters.

A friendly name for the organization to display in the UI. All UTF-8 characters are safe.

Entity name

Case Insensitive Unique path within CustomerID naming context.

Path-like identifier uniquely identifying organization within its path-based scope. Technical name validity is configurable and is often constrained to a certain pattern within a scheme such as Finnish company ids or international VAT number. Entity name is a translation of the Organizational Unit (OU) path within the directory in exclusive relation to the Organizational Unit "eIDM Users".

Status

Numeric 0...6

Organizations use the same status enumeration as the User object.

Level

Numerical 0...2147483647

This number shows the amount of parent organizations in the path hierarchy.

Type

UTF-8 text, max 1024 characters.

Organization type (formerly known as Organization class) identifies which type configuration organization conforms to, as configured in eidm2.properties.

Created

Timestamp

This timestamp shows when this organization object was initially created.

Last modified

Timestamp

This timestamp shows when any information relational to this organization was last modified