<attribute>
<ref>icfs:uid</ref>
<displayName>Internal account identifier</displayName>
<limitations>
<access>
<add>false</add>
<read>true</read>
<modify>false</modify>
</access>
</limitations>
</attribute>
Attribute Definitions
Attribute definitions are part of the object type definition and - partially - of object class adaptation. They provide more details about handling of attributes that form a particular object type or object class.
Basic Information
Item name | Description | Further information |
---|---|---|
|
Name of the attribute that is to be defined. The attribute must exist in the object class (structural or auxiliary). |
See also the note on ConnId attribute names. |
|
This is a human readable name used in GUI and similar tools. |
|
|
Free-form textual description of the attribute. |
|
|
Technical documentation of the attribute. |
|
|
Lifecycle state of the attribute definition: whether it is only a draft, or proposed, active, deprecated, archived, and so on. |
|
|
An order in which this attribute should be displayed relative to other attributes within the same context. |
Generic Behavior Configuration
This section is applicable to both object types and object classes. |
These settings tell midPoint how to access the attribute. They do not define any transformations to/from midPoint.
Item name | Description | Further information |
---|---|---|
|
Limits the access to the attribute (reading, creating, modifying). E.g. administrator can make the attribute read-only even if the connector can both read and write the attribute value. Can also modify the cardinality (multiplicity) of the attribute. |
|
|
Specification of a matching rule for an attribute, if the rule provided by the connector is not suitable. Matching rules are used to compare values of the attribute. |
|
|
Indicated if the attribute should or should not be considered as secondary identifier. Secondary identifiers are always cached in the repository and are ensured to be always present and unique. |
|
|
Influences when and how midPoint will fetch this attribute. |
|
|
Overrides the caching status (cached or not cached) for this attribute. |
Special Considerations when Updating the Attribute
This section is applicable to both object types and object classes. |
Not all resources are simple data stores. Many of them carry out hidden processing of the data that are stored to them. The following items help midPoint to deal with such resources.
Item name | Description | Further information |
---|---|---|
|
Describes the behavior of this attribute that differs from the "pure data store" expectations. In particular, it specifies the operations during which this attribute can unexpectedly change, or operations during which the change of this attribute can have an effect on other attributes. |
|
|
If enabled, modifications to this attribute are executed in REPLACE form only. I.e. if ADD or DELETE VALUE is requested, midPoint will fetch the object state, compute the expected result and write it to the resource object via REPLACE VALUE operation. This works around some weird connector behavior. |
|
|
Allows modifying the resource object in sequence of "waves", according to priorities specified for individual attributes.
Can be used, e.g., if one needs to switch the object |
Data Flow from MidPoint to Resource
This section is relevant only to attribute definition for object types, not for object classes. |
This configuration specifies how to transform the attribute value from midPoint on the fly before it is sent to resource attribute.
The modification value can use other attribute values, constants or anything that can be achieved by an expression.
For example, you may wish to set the resource’s fullname
attribute to the uppercase value of midPoint’s fullName
attribute.
The outbound is what you use for provisioning.
Item name | Description | Further information |
---|---|---|
|
The mapping that defines how the attribute value is created when the account is created or updated. |
|
|
Specifies whether the attribute tolerates values that are set outside midPoint. (And which ones.) |
|
|
||
|
||
|
Drives the behavior of mappings when both strong and normal ones are present. |
Data Flow from Resource to MidPoint
This section is relevant only to attribute definition for object types, not for object classes. |
This configuration specifies where (to which midPoint attribute) to store the resource attribute value and optionally, how to transform it.
For example, you may wish to store the resource’s full_name_attr
attribute value to midPoint’s fullName
attribute without modification.
The inbound is what you use for synchronization.
Please note that there are multiple Synchronization Flavors and this configuration applies to all of them.
Item name | Description | Further information |
---|---|---|
|
Mappings that define how the attribute value is used, e.g., when a change of the account is detected on the resource. |
|
|
Marks the attribute as a single-item correlator. |
A note about inbound mappings' strength There is an optional
Currently, the use of the default value ( See also Mapping strength. |
ConnId Special Attribute Names
For some resource, there are two special attributes: icfs:name
mapped to ConnId __NAME__ attribute and icfs:uid
mapped to ConnId __UID__ attribute.
Please do not confuse them with ri:name
and/or ri:uid
attributes.
MidPoint tries to avoid using these generic attribute names.
Hence, if the connector supports it, midPoint uses the real attribute names.
(Like Nevertheless, there are connectors that still use these generic ConnId attributes. |
Attribute Name | ConnId Attribute Name | Description |
---|---|---|
icfs:name |
__NAME__ |
Unique, mutable account identifier, e.g. Distinguished Name in hierarchical systems like LDAP or a login name in flat resources |
icfs:uid |
__UID__ |
Unique, immutable account identifier, e.g. Entry UUID in LDAP (not created by you, but generated by LDAP server) |
For some resources (connectors) the __NAME__ and __UID__ attributes are equivalent.
As a rule of thumb, you can configure an outbound expression for icfs:name
to define an account identifier (e.g. LDAP’s DN attribute).
After the account is created, icfs:uid
attribute may be used internally for unique resource account identification, but this attribute will be read-only.
There is no need for outbound/inbound expressions for icfs:uid
attribute.
Change in the icfs:name
attribute will cause the renaming of the account.
The following is an example of icfs:uid
attribute configuration:
-
the attribute is read-only
-
there are no outbound/inbound expressions