Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
devel:documentation:adm:uniform_password [2021/03/23 14:19]
svandav [Future improvements]
devel:documentation:adm:uniform_password [2021/09/09 07:20] (current)
svandav
Line 1: Line 1:
 ====== Uniform password for new accounts ====== ====== Uniform password for new accounts ======
 {{tag>uniform password common account create}} {{tag>uniform password common account create}}
 +(since IdM version **11.0.0**)
 +
 The main goal of a uniform password for new accounts is to ensure that new identities will have the same password in newly created accounts. The main goal of a uniform password for new accounts is to ensure that new identities will have the same password in newly created accounts.
  
 **This feature solves this scenario:** **This feature solves this scenario:**
- 
    - Let's have the **synchronization of new identities**. This synchronization will create new **identity I**.    - Let's have the **synchronization of new identities**. This synchronization will create new **identity I**.
    - This synchronization is followed by the **synchronization of contracts**, which creates 2 **new contracts C1, C2** for identity **I**.    - This synchronization is followed by the **synchronization of contracts**, which creates 2 **new contracts C1, C2** for identity **I**.
Line 15: Line 16:
  
 ===== How can be this feature enabled? ===== ===== How can be this feature enabled? =====
-This feature is enabled by default (since IdM version **11.0.0**).+**To ensure the same password** for all new identity accounts created during synchronization, the systems on which we want to have the same password **must be defined in the uniform password agenda**. 
 + 
 +<note tip>**That means:** In the example above, we must ensure that systems **S1** and **S2** will be in the same active group of the uniform password.</note>
  
 This feature is active only during contract sync and for contracts where a identity state is changed: This feature is active only during contract sync and for contracts where a identity state is changed:
Line 22: Line 25:
  
   * **to** state: **Valid** or **Future contract**.   * **to** state: **Valid** or **Future contract**.
 +
 +{{ :devel:documentation:adm:uniformpwd01.png?800 |}}
 +
 +{{ :devel:documentation:adm:uniformpwd02.png?800 |}}
  
 <note tip>**This feature can be disabled** by **disabling** the **IdentityInitUniformPasswordProcessor** initialization processor. This processor creates states of uniform password entities. Therefore, if you deactivate this processor, the entire uniform password feature will also be **deactivated**.</note> <note tip>**This feature can be disabled** by **disabling** the **IdentityInitUniformPasswordProcessor** initialization processor. This processor creates states of uniform password entities. Therefore, if you deactivate this processor, the entire uniform password feature will also be **deactivated**.</note>
 +
 +===== How to change password also in IdM? =====
 +
 +For use same uniform password on systems and **in the IdM**, you have to enable this feature by the checkbox **"Change password through IdM"** on the **uniform password detail**.
 +
 +{{ :devel:documentation:adm:uniformpwd03.png?800 |}}
  
 ===== How this feature works? ===== ===== How this feature works? =====
Line 29: Line 42:
 There is life cycle of this feature: There is life cycle of this feature:
  
- - **Contract synchronization is started** with a new transaction ID. +   - **Contract synchronization is started** with a new transaction ID. 
- - After the synchronization of contracts, the recalculation of **HR processes is started**. +   - After the synchronization of contracts, the recalculation of **HR processes is started**. 
- - Newly created contracts will cause a change of identity status (for example from **Created** to **Future contract**). This change will be caught in the **IdentityInitUniformPasswordProcessor** processor, which will create a new entity state with the code `IDENTITY_UNIFORM_PASSWORD` (**uniformPasswordManager.createEntityState(identity)**). This status will be followed by the generated uniform password, which will be stored in confidential storage. +   - Newly created contracts will cause a change of identity status (for example from **Created** to **Future contract**). This change will be caught in the **IdentityInitUniformPasswordProcessor** processor, which will create a new entity state with the code `IDENTITY_UNIFORM_PASSWORD` (**uniformPasswordManager.createEntityState(identity)**). This status will be followed by the generated uniform password, which will be stored in confidential storage. 
- - After the recalculation of HR processes is completed, the recalculation of automatic roles will start. Automatic roles will be assigned to contracts and account management will begin, starting the account creation process. +   - After the recalculation of HR processes is completed, the recalculation of automatic roles will start. Automatic roles will be assigned to contracts and account management will begin, starting the account creation process. 
- - As part of the account creation, it will be detected that there is an **entity state** for the given identity with the code `IDENTITY_UNIFORM_PASSWORD`. In this case, the account will **not generate a new password, but will use the password from the given entity state**. +   - As part of the account creation, it will be detected that there is an **entity state** for the given identity with the code `IDENTITY_UNIFORM_PASSWORD`. In this case, the account will **not generate a new password, but will use the password from the given entity state**. 
- - Once the account is created, the `ProvisioningUniformPasswordNotificationProcessor` will ensure that the **system name** is added to the entity state. This system name will then be used in the final **notification**. +   - Once the account is created, the `ProvisioningUniformPasswordNotificationProcessor` will ensure that the **system name** is added to the entity state. This system name will then be used in the final **notification**. 
- - **After the end of the whole transaction** (the end of all connected events), the LRT will be notified, ensuring the synchronization of the end. The LRT begins the **uniform password end process** (**uniformPasswordManager.endUniformPasswordProcess(transactionId)**). Ie. that it sends a **notification** (to the topic `TOPIC_UNIFORM_PASSWORD_SET`) to all identities for which an entity state has been created within the given transaction, about the generation of new accounts on the given systems and a uniform password. +   - **After the end of the whole transaction** (the end of all connected events), the LRT will be notified, ensuring the synchronization of the end. The LRT begins the **uniform password end process** (**uniformPasswordManager.endUniformPasswordProcess(transactionId)**). Ie. that it sends a **notification** (to the topic `TOPIC_UNIFORM_PASSWORD_SET`) to all identities for which an entity state has been created within the given transaction, about the generation of new accounts on the given systems and a uniform password. 
- - After all notification is sent will be **all entity states** with code `IDENTITY_UNIFORM_PASSWORD` and created in given transaction **deleted**.+   - After all notification is sent will be **all entity states** with code `IDENTITY_UNIFORM_PASSWORD` and created in given transaction **deleted**.
  
 ===== Future improvements ===== ===== Future improvements =====
  • by svandav