Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| tutorial:adm:systems [2019/05/16 11:09] – tomiskar | tutorial:adm:systems [2026/02/17 13:30] (current) – [Attributes Scheme] kopro | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| System connection configuration is initiated in the menu tab **Systems**. Above the list of current systems there is a button **Add**. | System connection configuration is initiated in the menu tab **Systems**. Above the list of current systems there is a button **Add**. | ||
| - | {{ :devel:adm:system_list.png?600 | System list}} | + | |
| + | {{ :tutorial:adm:system_table.png?700 | System list}} | ||
| ===== Basic information ===== | ===== Basic information ===== | ||
| - | Click on it to connect new system. On the new system page one must provide some basic information: | + | Click on it to connect new system. On the new system page one must provide some basic information: |
| + | |||
| + | * **System name** | ||
| + | * **Use remote connector server** | ||
| + | * **Password policy** | ||
| + | * **Lower criticality of password policy for validation by role** | ||
| + | * **Lower criticality of password policy for generating by role** | ||
| + | * **Description** | ||
| + | * **State** | ||
| + | * **Readonly** | ||
| + | * **Readonly** | ||
| + | * **Inactive** | ||
| + | * **Inactive** | ||
| + | * **Asynchronous provisioning** | ||
| + | * **Block operations** | ||
| + | <note important> | ||
| + | |||
| + | <note important> | ||
| - | {{ : | ||
| - | * **System name** - naming of your choice | ||
| - | * **Use remote connector server** - Connectors are means of interface between CzechIdM and other systems. Connectors run in a connector server. A local server provided by CzechIdM directly is usually used. So this checkbox will be usually unticked. There are some exceptions for specific connectors that must run remotely. For example connectors which call commands locally on the connected system server and therefore must be placed there. Exchange connector, for instance, uses calling of PowerShell commands directly on a domain controller server in an AD domain. | ||
| - | * **Password policy** for validation and generation - [[.: | ||
| - | * **Description** – an optional description of the system. It is customary to describe the purpose of the connected system, for example: “HR system – loading of job positions and departments”. | ||
| - | * **Virtual** - some systems can be managed via user tasks instead of direct communication. See the chapter about [[.: | ||
| - | * **Asynchronous provisioning** - if the provisioning is asynchronous for the system, all the data is stored in the queue and managed by appropriate scheduled task. [[devel: | ||
| - | * **State** – system states other than active: | ||
| - | * **Readonly** - **with** provisioning queue – Systems marked in this way allow data reading only and are either source systems in CzechIdM or systems which are controlled but provisioning of data to them is intentionally prohibited for some time. In the latter case, all provisioned data is sent to the provisioning queue. The provisioning queue and history is displayed by: Systems -> system detail (magnifying glass) -> Provisioning. See the chapter [[.: | ||
| - | * **Readonly** - **without** provisioning queue – Systems marked in this way allow data reading only. Provisioning operations are not saved into queue, cannot be executed again. IdM account is created only (uid attribute only). | ||
| - | * **Inactive** - **with** provisioning queue - Inactive systems do not allow even reading operations. If provisioning to such a system is to take place, then the operations end up in a queue as in the case of Readonly systems. | ||
| - | * **Inactive** - **without** provisioning queue - Inactive systems do not allow even reading operations. Provisioning operations are not saved into queue, cannot be executed again. IdM account is created only (uid attribute only). | ||
| - | <note important> | ||
| ===== Configuration ===== | ===== Configuration ===== | ||
| Line 45: | Line 51: | ||
| ===== Attributes Scheme ===== | ===== Attributes Scheme ===== | ||
| - | A scheme represents a list of attributes of some object (e.g. Account) in the connected system. By defining a scheme, CzechIdM is enabled to control management of object' | + | A scheme represents a list of attributes of some object (e.g. Account) in the connected system. By defining a scheme, CzechIdM is enabled to control management of object' |
| - | The easiest and preferred way of how to create attributes scheme is to click the **Generate scheme**. Thus the attribute scheme is generated by the system' | + | The easiest and preferred way of how to create attributes scheme is to click the **Generate scheme**. Thus the attribute scheme is generated by the system' |
| - | {{ : | + | {{ : |
| <note important> | <note important> | ||
| - | The other option of defining scheme is clicking on the green **Add button**, define the object e.g. %%__%%ACCOUNT%%__%% and then add attributes into the scheme manually one by one. | + | The other option of defining scheme is clicking on the green **Add button**, define the object e.g. < |
| - | {{ : | + | {{ : |
| - | If editing (magnifying glass by the attribute name), or creating (green Add button) attributes in scheme, their names on the system and their data types need to be filled in. | + | If editing (magnifying glass by the attribute name), or creating (green Add button) attributes in scheme, their names on the system and their data types need to be filled in. |
| - | {{ : | + | {{ : |
| Usual data types are | Usual data types are | ||
| + | |||
| * java.lang.String | * java.lang.String | ||
| * java.lang.Integer | * java.lang.Integer | ||
| - | {{ : | + | All allowed types based on connid FrameworkUtil |
| - | <note tip> | + | * String.class |
| + | * Long.class | ||
| + | * Character.class | ||
| + | * Double.class | ||
| + | * Float.class | ||
| + | * Integer.class | ||
| + | * Boolean.class | ||
| + | * Byte.class | ||
| + | * byte[].class | ||
| + | * BigDecimal.class | ||
| + | * BigInteger.class | ||
| + | * Map.class | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | <note tip> | ||
| Then, some of the following settings can be enabled for each attribute: | Then, some of the following settings can be enabled for each attribute: | ||
| - | * **Required** - attributes marked in this way are always sent to the end system | + | * **Required** |
| - | * **able to read** - It is recommended to leave this option allowed. Uncheck this option to ensure compatibility with connectors which do not allow reading some attributes. | + | <note tip> |
| - | * **multivalued** - CzechIdM allows loading and provisioning of attributes containing more values at the same time. For example, the attribute | + | * **multivalued** |
| - | * **able to create** - this option | + | * **able |
| - | * **able to edit** - dtto | + | * **able to create** - Indicates whether the attribute can be set during account creation. If //true//, the value can be provided when creating the account. If //false//, the value is either generated by the target system or cannot be set during creation. **Typical examples:** ID generated by the target system, system-managed |
| - | * **returned by default** - TODO Vítek | + | * **able to edit** - Indicates whether |
| + | * **returned by default** - The attribute | ||
| + | <note important> | ||
| + | </ | ||
| + | |||
| + | <note tip> | ||
| + | // | ||
| + | |||
| + | Example | ||
| + | * isReadable = true | ||
| + | * isReturnedByDefault = false | ||
| + | The photo can be read from the target system, but it is not included in a standard user read. | ||
| + | It must be explicitly requested. </ | ||
| ===== Attributes mapping ===== | ===== Attributes mapping ===== | ||
| Line 99: | Line 133: | ||
| Click on the Add button to create a new attribute in current mapping. | Click on the Add button to create a new attribute in current mapping. | ||
| - | {{ :devel:adm:attribute_mapping_detail_part2.png?600 | Detail of attribute in the attributes mapping }} | + | {{ :tutorial:adm:screenshot_2024-08-12_at_11.33.23.png?900 | Detail of attribute in the attributes mapping }} |
| These options can be filled: | These options can be filled: | ||
| * **Disabled** - If the attribute is disabled in mapping, it is not provisioned or synchronized. | * **Disabled** - If the attribute is disabled in mapping, it is not provisioned or synchronized. | ||
| - | * **Attribute in scheme** - attributes from the connected system available in the current scheme. | + | * **Attribute in schema** - attributes from the connected system available in the current scheme. |
| + | * **Identifier** - Attribute is unique identifier of this object. | ||
| + | * **Entity attribute** - Attribute is part of entity. | ||
| + | * **Extended attribute** - Attribute isn't part of entity and his value and name is stored in EAV attributes. | ||
| * **Name** - Unique system identifier, this value is used in select boxes and in entities info | * **Name** - Unique system identifier, this value is used in select boxes and in entities info | ||
| * **Strategy** - defines the strategy for the provisioning or synchronization. Available values: | * **Strategy** - defines the strategy for the provisioning or synchronization. Available values: | ||
| Line 117: | Line 154: | ||
| Other options of the mapped attribute are: | Other options of the mapped attribute are: | ||
| - | * **Always sent** - Send this attribute to system always even if value isn't change (transformation rules is applied). | + | * **Send always** - Send this attribute to system always even if value isn't change (transformation rules is applied). |
| * **Send IdM value only if its not null** - Send this attribute only if value after transformation will not be null. | * **Send IdM value only if its not null** - Send this attribute only if value after transformation will not be null. | ||
| - | * **Identifier** - Attribute is unique identifier of this object. | ||
| - | * **Entity attribute** - Attribute is part of entity. | ||
| - | * **Extended attribute** - Attribute isn't part of entity and his value and name is stored in EAV attributes. | ||
| * **Confidential attribute** - Attribute value will be stored in confidential storage. | * **Confidential attribute** - Attribute value will be stored in confidential storage. | ||
| * **Authentication attribute** - With this attribute will be do authentication to end system (for example: username) | * **Authentication attribute** - With this attribute will be do authentication to end system (for example: username) | ||
| * **Include on password change** - Include this attribute when is provisioning password (reset, cahnge, create new) | * **Include on password change** - Include this attribute when is provisioning password (reset, cahnge, create new) | ||
| + | * **Include only when criticality is changed to stronger** - The value of the attribute will only be sent to the target system when the aggregated password policy criticality is changed to stronger one. It will not be used in standard provisioning. | ||
| + | * **Include only when criticality is changed to weaker** - The value of the attribute will only be sent to the target system when the aggregated password policy criticality is changed to weaker one. It will not be used in standard provisioning. | ||
| + | * **Attribute with password** - Attribute will contain value of password. The attribute can't be override by role mapping. Into transformation will be add password in object GuardedString. Script must return null, or GuardedString. | ||
| {{ : | {{ : | ||