Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Identity Services implement authentication methods Authentication Methods and access to Identity Providers. For example, for example credentials such as user account/password are used as an authentication method Authentication Method to access an LDAP Directory Service acting as the Identity Provider, see . See JS7 - Identity and Access Management.
  • JOC Cockpit implements a pluggable flexible architecture that allows to add external Identity Service products to be added with future JS7 releases.JS7 releases.
  • By default JS7 ships with the following built-in Identity Services:
    • Display feature availability
      StartingFromRelease2.2.0
       
    • Display feature availability
      StartingFromRelease2.5.0
      • The JS7 - OIDC Identity Service
        Jira
        serverSOS JIRA
        columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
        columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
        serverId6dc67751-9d67-34cd-985b-194a8cdc9602
        keyJOC-1370
    • Display feature availability
      StartingFromRelease2.6.0
      • The JS7 - Certificate Identity Service
        Jira
        serverSOS JIRA
        columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
        columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
        serverId6dc67751-9d67-34cd-985b-194a8cdc9602
        keyJOC-1547
      • The JS7 - FIDO Identity Service
        Jira
        serverSOS JIRA
        columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
        columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
        serverId6dc67751-9d67-34cd-985b-194a8cdc9602
        keyJOC-1546
  • For compatibility reasons, For compatibility reasons early releases of JS7 include the JS7 - Shiro Identity Service, see 
    Jira
    serverSOS JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId6dc67751-9d67-34cd-985b-194a8cdc9602
    keyJOC-1145

    Display feature availability
    EndingWithRelease2.
    3
    4.0

Matrix of Identity Services

Identity Services can be used in a number of flavors depending on the fact :

  • which application manages user accounts/passwords:
    • a specific application of the the Identity Provider that is specific to an Identity Service,
    • JOC Cockpit that propagates user accounts/passwords to the Identity Service but does not store such credentials with its the JS7 database.
  • where assignments of roles to user accounts are stored:
    • with the Identity Provider of the Identity Service,
    • with the the JS7 database- Database.

IDAssignment stored LDAP-JOCLDAPLDAP Server LDAP Security Groups to JOC Cockpit RolesVaultKeycloakKeycloak KeycloakKeycloak Keycloak, KeycloakShiro (deprecated)
Identity ServiceIdentity Service Configuration ItemsJOC Cockpit Configuration
Service TypeBuilt-inUser Accounts/Passwords
stored with
User Accounts/Passwords
managed by
Roles/Permissions
stored with
Roles->User Accounts Mapping
managed withRoles Mapping
JOCyesJS7 DatabaseJOC CockpitJS7 DatabaseDatabasen/aJOC CockpitMapping of user accounts and roles with JOC Cockpit
LDAPyesLDAP ServerLDAP ServerJS7 DatabaseDatabasen/aLDAP ServerMapping of LDAP Security Groups to JOC Cockpit Roles performed with the LDAP Server
LDAP-JOCyesLDAP ServerLDAP ServerJS7 DatabaseJOC CockpitMapping of
Vault-JOCnoVault ServerVaultDatabaseDatabasen/a
Vault-JOC-ACTIVEnoVault ServerVault, JOCDatabaseDatabasen/a
user accounts and roles with JOC Cockpit
OIDCyesOIDC Identity ProviderOIDC Identity ProviderJS7 DatabaseJOC CockpitMapping of user accounts and roles with JOC Cockpit
CERTIFICATEyesCA / User Private KeyCA / UserJS7 DatabaseJOC CockpitMapping of user accounts and roles with JOC Cockpit
FIDOyesAuthenticatorAuthenticatorJS7 DatabaseJOC CockpitMapping of user accounts and roles with JOC Cockpit
VAULTnoVault ServerVault ServerJS7 DatabaseVault ServerMapping of Vault Policies to JOC Cockpit Roles
VAULT-JOCnoVault ServerVault ServerJS7 DatabaseDatabasen/aJOC CockpitMapping of user accounts and roles with JOC Cockpit
VAULT-JOC-ACTIVEnoVault ServerVault Server / JOC CockpitJS7 DatabaseDatabasen/aJOC CockpitMapping of user accounts and roles with JOC Cockpit
KEYCLOAKnoKeycloak ServerKeycloak ServerJS7 DatabaseKeycloak ServerMapping of Keycloak Policies to JOC Cockpit Roles
KEYCLOAK-JOCnoKeycloak ServerKeycloak ServerJS7 DatabaseJOC CockpitMapping of user accounts and roles with JOC Cockpit
SHIROyesJS7 Database / shiro.iniJOC CockpitJS7 Database / shiro.inishiro.inishiro.inin/a

Manage Identity Services

JOC Cockpit

The SHIRO Identity Service Type is:

  • deprecated with release 2.2.0
  • unsupported with release 2.3.0
  • removed with release 2.4.0

Management of Identity Services

Management of Identity Services is accessed from the Image Added administration menu icon that is available for administrative user accounts in the right hand The operation to manage Identity Services is available from the user menu in the right upper corner of any JOC Cockpit page:

Image RemovedImage Added


This operation brings forward the list of available Identity Services.

  • By default the a number of built-in Identity Services are available: Identity Service is available.The Shiro Identity Service is available for migration purposes up to release 2.3.0.

Image Removed

Image Added


By default users will find the JOC-INITIAL Identity Service which is added during initial installation.

  • This Identity Service holds the single user account root with password root.
  • Users should modify the root user account's password.
  • Users can modify the existing Identity Service or add new Identity Services.

Addition of an

...

Identity Service

To add an Identity Service use the respective Add Identity Service button from the list of Identity Services shown above:


The remaining input fields for the popup window look like this:

Image Added


Explanation:

  • The Name of the Identity Service can Name can be freely chosen.
  • The Identity Service Type can be selected as available from the matrix shown above matrix.
  • The Ordering specifies the sequence in which a login is performed with the available Identity Services.
  • The Required attribute  attribute specifies if a login with the respective an Identity Service is required to be successful, for example, if a number of Identity Services are triggered on login with a user account.
  • The Identity Service Authentication Scheme allows selection of:
    • single-factor authentication - a single factor is sufficient for login with the Identity Service. This can be configured to use:
    • two-factor authentication - two factors are required for login with the Identity Service using:
      • a user account and password and
      • a Client Authentication Certificate or FIDO Authentication Credentials.

Manage User Accounts and Roles

Manage Settings

Settings are available at a global level and per individual Identity Service levels.

Anchor
global_settings
global_settings
Global Settings

Global settings are applied for to all Identity Services.

Image Added


Explanation:

  • Session Idle Timeout (Default: 15 minutes)
    • If users are inactive for the given number of seconds then the user session expires and is terminated. Users can specify credentials and login to create a new user session
    At the time of writing a single setting for the max. idle timeout of user sessions is applied
    • .
    • Should the lifetime of a an access token provided by an external Identity Service be different from the max. maximum idle-timeout, then the JOC Cockpit will try to renew the access token with the Identity Service. Renewal of a an access token does not require the user to repeatedly re-specify their login credentials for login.
    • Identity Services can restrict the lifetime of access tokens (time to live) and they can deny limit renewal of access tokens (maximum time to live). If a an access token cannot be renewed then the user session is terminated and the user is required to perform a login.

Image Removed

Vault Identity Service Settings

For use of the HashiCorp® Vault Identity Service

...

Image Removed

Explanation:

  • Vault URL: the base URL for which the Vault REST API is available
  • Vault Keystore Path:  Should the Vault REST API be configured for HTTPS Mutual Authentication then the indicated keystore has to include the private key specified for the extended key usage of Client Authentication
  • Vault Keystore Password: Should the Vault REST API be configured for HTTPS Mutual Authentication and the indicated keystore be protected by a password then the password has to be specified.
  • Vault Key Password: Should the Vault REST API be configured for HTTPS Mutual Authentication and the indicated private key be protected by a password then the password has to be specified.
  • Vault Keystore Type: Should the Vault REST API be configured for HTTPS Mutual Authentication then the type of the indicated keystore has to be specified being either PKCS12 or JKS.
  • Vault Truststore Path:  Should the Vault REST API be configured for HTTPS then the indicated truststore has to include an X.509 certificate specified for the extended key usage of Server Authentication. This can be a self-signed server certificate or a CA-signed certificate (typically the Root CA certificate is used as otherwise the complete certificate chain involved in signing the server certificate has to be available with the truststore).
  • Vault Truststore Password: Should the Vault REST API be configured for HTTPS and the indicated truststore be protected by a password then the password has to be specified.
  • Vault Truststore Type: Should the Vault REST API be configured for HTTPS then the type of the indicated truststore has to be specified being either PKCS12 or JKS.
  • Vault Application Token: The application token has to be created by Vault for JOC Cockpit. It allows to access the Vault REST API and e.g. to renew tokens for user sessions.

JOC Identity Service Settings

The built-in Identity Service does not require any settings.

The built-in Identity Service does not require any settings.

After installing the JOC Cockpit, log in with the default root:root user name and password which comes under the Shiro identity service.

The Manage Accounts section of the JOC Identity is then accessed via the Profile Menu as shown in the screenshot below. Select Identity Management Service.

Image Removed

The Identity Management Service window has the list of the available Identity Services which is previously created or you can also create a new Identity service. Form here you can select the Identity Services to manage the accounts inside it. Select the JOC from the list.

Image Removed

The JOC Identity Service window has the three main section which can managed via the tabs:

Image Removed

  • Accounts: for the configuration of User Accounts. Accounts configured in the Database and access from there only.
  • Manage Roles: for configuring Roles and the Controller that can be accessed by a Role.
    • Permissions: a sub-view for configuring access to Folders and Role Permissions.
  • Profile: from this view user can check the last login detail.

These tabs will be described in the following sections.

The Accounts Tab

The Accounts tab is opened first when a user selects the Identity Service from the Identity Management Service window and lists all the User Accounts that have been configured along with the Roles they have been assigned.

Image Removed

The above screenshot shows the test User Account which is manually created with the role. Currently, JOC Identity Service does not contains any default account and roles inside it. 

  • The Create Account button is used to open a window to add a new User Account with name, password, and Roles.
  • The additional options (ellipsis) symbol allows an Account to be edited (change the Account Name and/or Password, select/deselect Roles) and to be copied or deleted.
  • Clicking on the Account Name brings the user to the Manage Roles tab (described below) where the Controllers and Role(s) allocated for the User Account can be edited.

The Manage Roles Tab

The main purpose of the Manage Roles tab is to allow Controller Roles and any Controller which these Roles will be restricted to be configured. 

When the tab is first opened after installation of the JOC Cockpit it will be blank and no roles are created by default. In the below screenshot you can see test-role created manually.

Image Removed

Roles contain default in the controller which means the role is available for all the Controllers - the default setting.

If the Manage Roles tab is opened by clicking on an Account Name in the Accounts tab (described in the previous section), the Manage Roles Tab will show those Roles that have been assigned to that Account. The Account that is active is shown in the Account button, which can also be used to select and deselect Accounts.

Positioning the mouse over a role name blends in two links as shown in the screenshot above:

  • the pencil link allows the role to be edited and
  • the X link allows the role to be deleted.

A set of Permissions is configured for each role. Each Permissions set can be inspected by clicking on the default from the list of roles, which will open the Permissions tab for the Role. An example Permissions set is described in the next section. A matrix showing the default Roles and their Permissions along with a description of the Permission is provided in the JS7 - Permissions article.

The Permissions Sub-View

The main purpose of the Permissions view is to allow Folders and Permissions to be configured for each Role.

Folder Selection

Folders are added using the Add Folder button shown in the background of the screenshot below, at the top right.

Image Removed

Folders themselves are selected from a simple tree view of the folders. This tree view is opened by clicking on the folder symbol shown in the screenshot.

Permissions Configuration

Two editors are available for the configuration of the Permissions granted for a Role:

...

  • The states saved in the Undo button will be deleted when the Permissions tab is left.

...

  • The state stored in the Reset button will be deleted when the Permissions tab is left.

...

  • Granted Permissions have a blue background and are by default recursive.

...

  • Individual Permissions can be modified and removed from the Role using the pencil and X symbols that are blended in when the user's mouse is moved over a Permission:
  • The Edit function allows the Permission to be made subtractive - i.e. for permission granted at a higher level to be removed.
  • The Folder part of the view is for restricting the Role to accessing particular Folders - and thereby particular workflow.
  • Initial Password (Default: initial)
    • If an administrator adds user accounts with the JOC Cockpit and does not specify a password then the Initial Password will be used. As a general rule the JOC Cockpit does not allow the use of empty passwords but populates them with the Initial Password if a password is not specified by the user adding or modifying the account.
    • In addition, the operation to reset a user account's password is available. This replaces an existing password with the Initial Password.
    • If the Initial Password is assigned, then a flag is set for the user account to indicate that the password has to be changed with the next login. This behavior ensures that users cannot use the Initial Password except for an initial login.
  • Minimum Password Length (Default 0)
    • For any passwords specified - including the Initial Password - a minimum length is indicated.
    • Note that the number of characters and arbitrariness of character selection are key factors for secure passwords. Password complexity requiring e.g. digits and special characters to be used do not substantially add to password security except in case of short passwords.

Settings specific to Individual Identity Services

Settings are explained for each Identity Service individually:

Processing of Identity Services

A number of Identity Services can be processed with the login of a user:

  • Required Identity Services: user login is performed with all required Identity Services.
    • No optional Identity Services are considered.
    • If more than one required Identity Service is configured then a user cannot log in if the login fails with any of the required Identity Services.
    • Permissions are applied from roles assigned by all Identity Services in the sequence of enabled Identity Services which are required to authenticate a user account.
  • Optional Identity Services: with the first successful login to an Identity Service the user is considered to have logged in.
    • No further optional Identity Services are consulted if a user login is successful with one of the optional Identity Services.
    • For example, if two optional Identity Services JOC and LDAP are configured in this sequence then the login to the JOC Identity Service can fail and still the user might successfully login with the LDAP Identity Service.
    • Permissions from the successful login to an optional Identity Service are used.
  • Disabled Identity Services are not considered for user login.

Identity Services are ordered to specify the sequence of preferred use for authentication.

Note that a number of Identity Providers, for example LDAP being used for Active Directory access, might not accept repeatedly failed login attempts and might block the relevant user account.

Multi-factor Authentication

Identity Services can be used with Multi-factor Authentication (MFA). This includes to use two separate factors for authentication that are located in different media:

  • User/password credentials are what a user remembers and manually types in the JOC Cockpit GUI.
  • Certificates are located on the machine from which the user operates the browser to access the JOC Cockpit GUI.
  • FIDO can be used for a variety of authentication methods, including use of roaming authenticators, for example a USB stick, and platform authenticators, for example from the OS or from a smart phone.


Find the following matrix of Identity Services for use as a first factor and a second factor:


First FactorySecond Factor
JOCCERTIFICATEFIDO
CERTIFICATE
FIDO
FIDOCERTIFICATE
LDAPCERTIFICATEFIDO
LDAP-JOCCERTIFICATEFIDO
OIDCCERTIFICATEFIDO
OIDC-JOCCERTIFICATEFIDO
KEYCLOAKCERTIFICATEFIDO
KEYCLOAK-JOCCERTIFICATEFIDO

Single Sign-On

The JS7 - OIDC Identity Service allows single sign-on for the underlying Identity Provider:

  • Users who have been previously authenticated with the same Identity Provider as used by the OIDC Identity Service can access JOC Cockpit from their browser without specifying credentials.
  • Users who initially authenticate with an Identity Provider by use of JOC Cockpit can open additional tabs in their browser without specifying credentials.

Further Resources

Display children header

Display content by label
TypeHow To
Labelsjs7 api identity-service

Shiro Identity Service Settings

The Shiro Identity Service does not require any settings.