Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| tutorial:adm:czechidm_installation_finalize [2019/10/31 14:19] – add information about password reset kopro | tutorial:adm:czechidm_installation_finalize [2026/01/07 09:49] (current) – [Schedule the tasks] apeterova | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Installation of CzechIdM - Final steps ====== | + | ====== Installation of CzechIdM - Final steps ====== |
| {{tag> | {{tag> | ||
| - | We presume that CzechIdM is already installed as described in [[tutorial: | + | We presume that CzechIdM is already installed as described in [[.: |
| This tutorial contains some recommended steps to review and finalize the configuration for the production-ready version of CzechIdM. | This tutorial contains some recommended steps to review and finalize the configuration for the production-ready version of CzechIdM. | ||
| Line 9: | Line 9: | ||
| ===== Systems & Virtual systems ===== | ===== Systems & Virtual systems ===== | ||
| - | First of all, activate the module **acc** in **Settings** | + | First of all, activate the module **acc** in **Settings** |
| - | + | ||
| - | If you want to try CzechIdM account management without directly connecting some system, you could start with the [[devel: | + | |
| + | If you want to try CzechIdM account management without directly connecting some system, you could start with the [[: | ||
| ===== Notifications & e-mails ===== | ===== Notifications & e-mails ===== | ||
| - | Sending of e-mails is turned off by default; the e-mails are only logged in the **Notifications** | + | Sending of e-mails is turned off by default; the e-mails are only logged in the **Notifications** |
| - | * Emailer - add the configuration properties for [[devel: | + | |
| - | * Review and adjust the [[tutorial: | + | * Emailer - add the configuration properties for [[:devel: |
| + | * Review and adjust the [[.: | ||
| ===== Password policy ===== | ===== Password policy ===== | ||
| - | Go to Settings | + | Go to Settings |
| - | If you want to use **Maximum password age**, you will probably want to notify users when their passwords are going to expire. To do so, schedule the tasks [[devel: | + | It's recommended |
| + | If you want to use **Maximum password age**, you will probably want to notify users when their passwords are going to expire. To do so, schedule the tasks [[: | ||
| ===== Allow users into CzechIdM ===== | ===== Allow users into CzechIdM ===== | ||
| + | |||
| + | FIXME For 10.5+, userRole is created by default - [[: | ||
| In the fresh installation, | In the fresh installation, | ||
| - | Typically, you want to enable the users to see their profile, request for roles or change their password. This is done by a special role called **userRole**. [[tutorial: | + | Typically, you want to enable the users to see their profile, request for roles or change their password. This is done by a special role called **userRole**. [[.: |
| + | Users may authenticate by their local CzechIdM password, or you may configure authentication against some of the connected systems - typically AD or LDAP ([[: | ||
| ===== Configure the approval process ===== | ===== Configure the approval process ===== | ||
| - | Manual role assignment is always done by [[devel: | + | Manual role assignment is always done by [[:devel: |
| - | + | ||
| - | If you want to enable users to request a role change, you should also set some approval processes for their requests. The configuration options are described [[tutorial: | + | |
| + | If you want to enable users to request a role change, you should also set some approval processes for their requests. The configuration options are described [[.: | ||
| ===== Configure managers ===== | ===== Configure managers ===== | ||
| - | Managers and guarantees of the contracts can be included in the approval process or they could manage their subordinates (if you set it in the [[devel: | + | Managers and guarantees of the contracts can be included in the approval process or they could manage their subordinates (if you set it in the [[:devel: |
| - | The default algorithm evaluates the managers/ | + | The default algorithm evaluates the managers/ |
| - | **Example: | + | **Example: |
| <code properties> | <code properties> | ||
| Line 53: | Line 56: | ||
| idm.sec.core.filter.IdmIdentity.managersFor.impl=defaultManagersFilter | idm.sec.core.filter.IdmIdentity.managersFor.impl=defaultManagersFilter | ||
| idm.sec.core.filter.IdmIdentity.subordinatesFor.impl=defaultSubordinatesFilter | idm.sec.core.filter.IdmIdentity.subordinatesFor.impl=defaultSubordinatesFilter | ||
| + | |||
| </ | </ | ||
| - | If you don't want to use organizational structure for evaluating the managers - typically if it's the structure of departments and the managers and subordinates are at the same level in the structure - use rather [[devel: | + | If you don't want to use organizational structure for evaluating the managers - typically if it's the structure of departments and the managers and subordinates are at the same level in the structure - use rather [[:devel: |
| - | **Example: | + | **Example: |
| <code properties> | <code properties> | ||
| Line 63: | Line 67: | ||
| idm.sec.core.filter.IdmIdentity.managersFor.impl=guaranteeManagersFilter | idm.sec.core.filter.IdmIdentity.managersFor.impl=guaranteeManagersFilter | ||
| idm.sec.core.filter.IdmIdentity.subordinatesFor.impl=guaranteeSubordinatesFilter | idm.sec.core.filter.IdmIdentity.subordinatesFor.impl=guaranteeSubordinatesFilter | ||
| + | |||
| </ | </ | ||
| - | | + | |
| ==== Configure subordinates provisioning ==== | ==== Configure subordinates provisioning ==== | ||
| Line 74: | Line 79: | ||
| idm.sec.acc.processor.identity-contract-provisioning-processor.includeSubordinates=false | idm.sec.acc.processor.identity-contract-provisioning-processor.includeSubordinates=false | ||
| idm.sec.acc.processor.identity-contract-before-save-processor.includeSubordinates=false | idm.sec.acc.processor.identity-contract-before-save-processor.includeSubordinates=false | ||
| + | |||
| </ | </ | ||
| - | + | ||
| ==== Configure password reset for all systems including IdM ==== | ==== Configure password reset for all systems including IdM ==== | ||
| + | |||
| Please try check you project if you want reset password to all connected systems including CzechIdM after user's state will be evaluated from disable state to enabled state. This change is processed by processor **IdentitySetPasswordProcessor (acc-identity-set-password-processor)**. You can disable it by configuration property or GUI agenda of processors (it is equivalent). | Please try check you project if you want reset password to all connected systems including CzechIdM after user's state will be evaluated from disable state to enabled state. This change is processed by processor **IdentitySetPasswordProcessor (acc-identity-set-password-processor)**. You can disable it by configuration property or GUI agenda of processors (it is equivalent). | ||
| ===== Schedule the tasks ===== | ===== Schedule the tasks ===== | ||
| - | Review the [[devel: | + | Review the [[:devel: |
| - | By default, connected | + | There are multiple tasks that are connected to personal processes. Default settings work fine, if there is no regular source (HR) system synchronization. |
| - | If you don't want to automatically delete old records in the provisioning archive, remove scheduled run from the [[devel: | + | * Synchronization of organization structure from HR |
| + | * Add a new scheduled task **Run synchronization ** (SynchronizationSchedulableTaskExecutor), | ||
| + | * Save the event and click **Add** | ||
| + | * Schedule it after midnight, e.g. at 01:00. Also take into account, when the data is populated to the source system. | ||
| + | * Synchronization of identities from HR | ||
| + | * Add a new scheduled task **Run synchronization**, | ||
| + | * Save the event and click **Add** | ||
| + | * Synchronization of contracts from HR | ||
| + | * Add a new scheduled task **Run synchronization**, | ||
| + | * Save the event and click **Add** | ||
| + | * **HR process - enable contract** | ||
| + | * Find the scheduled task with this name. Update its description, | ||
| + | * Remove the default scheduled start (only the scheduled start, don't remove the whole task!). Instead, Add a new Scheduled start of the type Other task, select the previous task for synchronization of HR contracts | ||
| + | * **HR process - end of contract ** (HrEndContractProcess) | ||
| + | * Find the task and update its description, | ||
| + | * Remove the default scheduled start, add a new of the type Other task, select the previous task for HR enable contract. | ||
| + | * **HR process - contract exclusion** | ||
| + | * Find the task and update its description, | ||
| + | * Remove the default scheduled start, add a new of the type Other task, select the previous task for HR end contract | ||
| + | * **Recalculate all automatic roles by attribute** | ||
| + | * Add this as a new scheduled task (be careful when selecting the exact name). Set description, | ||
| + | * Add a new scheduled start of the type Other task, select the previous task for HR contract exclusion | ||
| + | * **Recalculate skipped automatic role by tree structure for contracts and other positions ** (ProcessSkippedAutomaticRoleByTreeForContractTaskExecutor) | ||
| + | * Add this as a new scheduled task (be careful when selecting the exact name). Set description, | ||
| + | * Add a new scheduled start of the type Other task, select the previous task for all automatic roles recalculation | ||
| + | * **Contracts expiration** | ||
| + | * Find the task and update its description, | ||
| + | * Remove the default scheduled start, add a new of the type Other task, select the previous task for recalculation of skipped automatic roles | ||
| + | * **Assigned roles - start of validity** | ||
| + | * Find the task and update its description, | ||
| + | * Remove the default scheduled start, add a new of the type Other task, select the previous task for contracts expiration | ||
| + | * **Assigned roles - expiration** | ||
| + | * Find the task and update its description, | ||
| + | * Remove the default scheduled start, add a new of the type Other task, select the previous task for start of role validity | ||
| + | |||
| + | In this setup, make sure to correctly configure synchronization of identities and contract - the tab **Specific settings**. Uncheck the options "After end, start the HR processes" | ||
| + | |||
| + | **Other: | ||
| + | |||
| + | You can unschedule the task Recalculate currently used contract time slices (SelectCurrentContractSliceTaskExecutor) if you don't use [[: | ||
| + | |||
| + | You can change the scheduled start of the task **Retry provisioning periodically** | ||
| + | |||
| + | If you want to use the [[: | ||
| + | |||
| + | If you want to use **Maximum password age**, schedule the tasks mentioned in [[.: | ||
| + | |||
| + | If you don't want to automatically delete old records in the provisioning archive, remove scheduled run from the [[:devel: | ||
| + | |||
| + | |||
| + | ===== Service Desk Link Configuration ===== | ||
| + | |||
| + | The IdStory product allows you to configure a Service Desk link in the application footer for a specific project. | ||
| + | |||
| + | {{: | ||
| + | |||
| + | The configuration is done using the following configuration option: | ||
| + | <code bash> | ||
| + | idm.pub.app.show.footer.serviceDesk.link= | ||
| + | </ | ||
| - | If you want to use validity | + | Please provide the full URL of your Service Desk in this configuration property, for example: |
| - | * [[tutorial:adm: | + | //https://redmine.bcvsolutions.eu/// |
| - | * Ensure that [[devel: | + | |
| - | <note warning> | + | |
| - | If you want to use the [[devel: | + | Since IdStory versions **14.16.2** and **15.7.1**, |
| - | If you want to use **Maximum password age**, schedule the tasks mentioned in [[...: | ||