Cloud Software Group, Inc. EBX®
Documentation > Administration Guide > Technical administration
Navigation modeDocumentation > Administration Guide > Technical administration

Users and roles directory

Overview

TIBCO EBX® uses a directory system to manage user authentication and role definitions. A main directory is required and is the default source for authentication and authorization.

When Single Sign-On (SSO) is enabled, EBX® can use a synchronized directory in addition to the main directory. The synchronized directory enables management of external users authenticated via an identity provider. With this setup:

The following list outlines the general procedure for configuring a directory to handle user authentication and authorization:

Note

Do not use the Default directory in production. Instead, use your own custom Directory with a more secure password system or a built-in directory option to protect sensitive information.

If both main and synchronized directories are used, usernames must be unique across directories. If a username exists in both, the system merges roles from both directories. However, the user's information (e.g., name, email, etc.) is taken only from the synchronized directory. This can lead to inconsistencies or unintended overrides, so unique usernames across directories are strongly advised.

Directory concepts overview

In TIBCO EBX®, a user can be a member of one or more roles, and multiple users can share the same role. Additionally, a role can include other roles. The documentation uses the generic term profile to describe either a user or a role. Information related to profiles is primarily defined in the directory.

In addition to roles you define in a directory, TIBCO EBX® provides the following built-in roles:

RoleDefinition

Profile.ADMINISTRATOR

Grants full access for administrative tasks.

Profile.READ_ONLY

Allows users to view content only. No repository modifications are allowed.

Profile.OWNER

A dynamic role that is only active when the user is (or is included in) the profile defined as the owner of the current element.

Profile.EVERYONE

All users are included in this role.

Attention

Associations between users and the built-in roles OWNER and EVERYONE are managed automatically by TIBCO EBX®, and must not be modified through the directory.

User permissions are managed separately from the directory. See Permissions for more information.

Policy

The Directory > Policy table allows you to configure whether users can manage specific aspects of their own profiles. For example, policies can specify whether:

Main directory

The main directory is required and handles login authorization using a username and password. EBX® supports the following directory types: default directory, LDAP directory, or a custom directory implementation.

Default directory

The default directory and related tables is located in the Administration > Users, roles and preferences > Directory dataset. This dataset includes tables to create and store: user policies, mailing lists, users and roles. You cannot delete or duplicate the default directory.

Depending on the defined policy, users can modify information related to their own accounts, regardless of the permissions defined on the directory dataset.

Note

If a role inclusion cycle is detected, the role inclusion is ignored during permission resolution. To detect such cycles, refresh and check the directory validation report.

Note

The Users roles and Roles inclusions and salutations tables are hidden by default .

Password recovery procedure

In the default directory, passwords are encrypted (using SHA256-like algorithm by default), and stored in this state. As a result, lost passwords cannot be retrieved. A new password must be generated and sent to the user.

There are two options for this procedure:

  1. A notification email is sent to the administrator, the administrator manually changes the password and sends the new password to the user. This is the default option.

  2. A procedure automatically generates a new password and sends it to the user. To activate this option, set the following property in the TIBCO EBX® main configuration file: ebx.password.remind.auto=true.

Note

For security reasons, the above password recovery procedure is not available for administrator profiles. Use the administrator recovery procedure instead.

Administrator recovery procedure

If all administrator credentials are lost, use the following special recovery process to use a directory class to redefine a temporary administrative account with admin/admin as the login and password:

  1. Specify the following property in the TIBCO EBX® main configuration file:

    ebx.directory.factory= com.orchestranetworks.service.directory.DirectoryDefaultRecoverFactory

  2. Start TIBCO EBX® and wait until the procedure completes.

  3. Reset the 'ebx.directory.factory' property.

  4. Restart TIBCO EBX® and connect using the 'admin' account.

Note

While the 'ebx.directory.factory' property is set for the recovery procedure, all other user authentications are disabled.

LDAP directory

EBX® supports LDAP (Lightweight Directory Access Protocol) as either a main directory or a synchronized directory. See Synchronized LDAP directory for instructions on using it as a synchronized directory. To use LDAP as a main directory: Set the directory factory to the built-in LDAP directory factory in Configuring the user and roles directory.

Custom directory

A custom directory is an alternative to using the EBX® built-in directories. You can integrate a specific company directory contained in a relational database, or a specific directory data model instantiated in TIBCO EBX®. You can also set the default login page to a specific company page. See the following links for the corresponding documentation resources.

Synchronized directory

The Synchronized directory is represented by the dataset ebx-synchronized-directory, available in the Administration area after configuration. It is an integrated directory used to authenticate and authorize external users. EBX® manages permissions using internal roles only. External roles must be mapped to internal roles.

A synchronized directory should be used in combination with SSO in EBX®:

This approach provides centralized user management and ensures consistent access control across systems.

The synchronized directory and its role mapper are configured through the main EBX® configuration file. See Configuring the synchronized directory for instructions.

LDAP directory

TIBCO EBX® built-in support for LDAP (Lightweight Directory Access Protocol) was designed as main and synchronized directory implementations, which allows you to integrate an existing LDAP directory with TIBCO EBX®. This ensures a streamlined and efficient directory management experience through secure and consistent access control that is tailored to your organization's LDAP infrastructure needs.

Role synchronization is done by scheduling the task: com.orchestranetworks.service.directory.scim.SchedulerLdapSynchronization

LDAP Configuration

The following four types of configuration parameters are available:

Search request templates

An LDAP search query consists of the following three key elements:

It is important to note that queries are paginated to enhance efficiency and manageability. Additionally, each request template can use caching to optimize performance. Use the available parameters to fine-tune page retrieval and cache implementation. Caching is recommended, even if for short durations with a small size. It can significantly improve overall system performance by reducing redundant data fetching.

Search templates support placeholders that adapt to each specific type of query. There are four mandatory templates that:

Additionally, there is an optional template to find all users. While not required, it is crucial for broader user accessibility. If it is not configured when assigning permissions, selections are limited to groups. Individual users cannot be selected.

Limitations

When using LDAP as a synchronized directory in EBX®, the following restrictions apply:

SCIM directory

SCIM (System for Cross-domain Identity Management) is a standard protocol designed to automate the exchange of user identity information between IT systems. It simplifies user provisioning and management across multiple platforms by using a common schema and RESTful API.

The schema version used is: urn:ietf:params:scim:schemas:core:2.0.

Role synchronization is managed by the scheduled task: com.orchestranetworks.service.directory.scim.SchedulerScimSynchronization

Configuration

A SCIM server should be activated on the IdP (Identity Provider) side.

On Login directory

The On Login directory is a persistent directory that synchronizes users and roles on login, based on information from SSO protocols. As a consequent, the list of users is not complete. Users that have never logged in will are not included.

Roles Mapping

A role mapper can be configured in the main EBX® configuration file to map between an external user’s roles and his internal roles.

Migration

To ensure the migration of LDAP and SCIM directories from a version prior to 6.2.2, enable roles import on the scheduled task options of each directory. This ensures the consistency of already persisted permissions with external roles.

Documentation > Administration Guide > Technical administration