1.4 Processing Description

This section discusses the processing of commands and events by the driver and the preconfigured starter set of policies and filters. For information about customizing this processing, see Section 3.0, Customizing the Driver. Topics include

1.4.1 Subscriber and Publisher Channel Processing

The Subscriber channel processes XDS commands for users and groups subject to the limitations of RACF. The Subscriber channel constructs RACF commands using the values of z/OS RACF schema attributes in the XDS documents that it receives. Some values or combinations of values are invalid, not meaningful, or subject to other RACF restrictions.

The Publisher channel generates XDS event documents based on values specified on RACF commands. Certain RACF command parameters and values, or combinations of parameters and values can cause side effects that are not reflected in the events that are generated. Other RACF processing, such as a user being revoked because of an excessive number of invalid password attempts, does not cause an event. Changes made directly to the RACF database, such as those made using ICHEINTY, do not generate events.

For more details about driver processing for z/OS RACF schema attributes, see Section A.2, RACF Command Parameter Mapping. For details about the handling of certain special cases, see Section A.3, Driver Processing of Attributes and Commands.

1.4.2 Policy Summary

The following tables summarize the preconfigured sample policies and filter.

Schema Mapping Policy

Class User in eDirectory corresponds to class User in z/OS RACF.

Table 1-1 Preconfigured Mapping Policy - Class User

eDirectory

z/OS RACF

CN

DirXML-RACF-userid

Group Membership

DirXML-RACF-groups

Login Disabled

DirXML-RACF-revoked

Login Expiration Time

DirXML-RACF-revokedate

Password Expiration Interval

DirXML-RACF-password-interval

Class Group in eDirectory corresponds to class Group in z/OS RACF.

Table 1-2 Preconfigured Mapping Policy - Class Group

eDirectory

z/OS RACF

CN

DirXML-RACF-group

Filter

Classes and their attributes can be synchronized or ignored by each channel. The flow of data is specified during installation, and can be changed later using iManager. The preconfigured filter contains the attributes shown in the following list.

  • Class User

    • CN

    • Group Membership

    • Login Disabled

    • Login Expiration Time

    • Password Expiration Interval

    • nspmDistributionPassword

    • DirXML-SPEntitlements

  • Class Group

    • CN

Subscriber Channel

Table 1-3 Preconfigured Sample Policies - Subscriber Channel

Policy

Processing

Event

Changes delete commands for a User object to set Login Disabled to true.

Vetoes delete commands for a Group object.

Vetoes rename and move commands.

Matching

If configured to do so, vetoes all operations for objects with no association.

If entitlements are not configured, vetoes events for User objects not in the specified subtree.

Vetoes events for Group objects not in the specified subtree.

Matches User and Group objects by CN.

If entitlements are configured, vetoes commands for users that do not have the racfAccount entitlement.

Create

Requires the CN attribute for User and Group objects.

If entitlements are configured, vetoes commands for users that do not have the racfAccount entitlement.

Placement

Not used.

Command

If configured to do so, blocks subscribing to password information.

Converts add commands with nspmDistributionPassword to use the password element.

Converts modify-attr for nspmDistributionPassword to modify-password.

If configured to do so, blocks modifies for failed password publish operations.

If entitlements are configured, processes addition and removal of racfAccount entitlement according to choices made during installation.

Adds password payload to operation data for use in e-mail notification of failures.

Output

Converts DirXML-RACF-revokedate from eDirectory format to mm/dd/yy.

Converts DirXML-RACF-password-interval from seconds to days.

Adds RACF command parameters to RACF-groups.

Provides default attribute values for new users.

If configured to do so, notifies users by e-mail of failed password publications.

Publisher Channel

Table 1-4 Preconfigured Sample Policies - Publisher Channel

Policy

Processing

Input

Converts DirXML-RACF-revokedate from mm/dd/yy to eDirectory Time format.

Converts DirXML-RACF-password-interval from days to seconds.

Removes RACF command parameters from RACF-groups.

Removes old-password from modify-password events.

Converts password values (add User and modify-password) to lowercase.

Converts user ID and group names to lowercase.

If configured to do so, notifies users by e-mail of failed password subscriptions.

Event

Not used.

Matching

If configured to do so, vetoes all operations for objects without an association.

Matches User and Group objects by CN to eDirectory objects in the specified container.

Create

Generates Surname from CN for User objects.

Requires CN and Surname for User objects. Requires CN for Group objects.

Placement

Places User and Group objects in the specified container.

Command

If configured to do so, blocks publishing passwords.

If configured to do so, publishes passwords to nspmDistributionPassword.

If configured to do so, blocks publishing passwords to NDSĀ® password.

Adds password payload to operation data for use in e-mail notification of failures.

1.4.3 Add and Modify Commands and Events

This section describes how certain attributes of User and Group objects are processed by the preconfigured sample policies for add and modify commands and events. All other schema attributes are passed unchanged if allowed by the filters.

CN - DirXML-RACF-userid and DirXML-RACF-group

The CN attribute of an eDirectory User object is mapped by the Schema Mapping policy with the DirXML-RACF-userid attribute of a RACF User object.

The CN attribute of an eDirectory Group object is mapped by the Schema Mapping policy with the DirXML-RACF-group attribute of a RACF Group object.

Publisher Channel

The CN attribute value for an add event is converted to lowercase by the sample Input policy.

Surname

Surname is a mandatory attribute for an eDirectory User object.

Subscriber Channel

The Subscriber channel does not use the Surname attribute.

Publisher Channel

The sample Publisher Create policy inserts the Surname attribute for an add event, using the value of the CN attribute.

Login Disabled - DirXML-RACF-revoked

Logon Disabled and DirXML-RACF-revoked, if set to true, prevent the user from accessing the system.

The Login Disabled attribute of an eDirectory User object is mapped by the Schema Mapping policy with the DirXML-RACF-revoked attribute of a RACF User object.

For details about the interaction of RACF REVOKE and RESUME dates for a user, see your RACF documentation.

Login Expiration Time - DirXML-RACF-revokedate

Login Expiration Time specifies a date and time after which an eDirectory user cannot log in.

DirXML-RACF-revokedate specifies a starting date for when a RACF user cannot enter the system. For details about the interaction of RACF REVOKE and RESUME dates for a user, see your RACF documentation.

The Login Expiration Time attribute of an eDirectory User object is mapped by the Schema Mapping policy with the DirXML-RACF-revokedate attribute of a RACF User object.

Subscriber Channel

If a value for the Login Expiration Time attribute is present in an add or modify command for a User object, the sample Output policy converts the value from eDirectory Time format to the mm/dd/yy format used by RACF.

Publisher Channel

If a value for the RACF-revokedate attribute is present in an add or modify event for a User object, the sample Input policy converts the value from the mm/dd/yy format used by RACF to eDirectory Time format.

Password Expiration Interval - DirXML-RACF-password-interval

Password Expiration Interval and DirXML-RACF-password-interval specify how long a password remains valid.

The Password Expiration Interval attribute of an eDirectory User object is mapped by the Schema Mapping policy with the DirXML-RACF-password-interval attribute of a RACF User object.

The eDirectory Password Expiration Interval value is in seconds. The DirXML-RACF-password-interval value is in days, and must be between 1 and 254 inclusive.

Subscriber Channel

If a value for the DirXML-RACF-password-interval attribute is present in an add or modify command for a User object, the sample Output policy converts the value from number of seconds to number of days. If the number of days is less than 1, the value is set to 1. If the number of days is greater than 254, the value is set to 254.

Note that the value actually used by RACF is affected by the value, if any, specified using the INTERVAL operand of the SETROPTS command.

Publisher Channel

If a value for the DirXML-RACF-password-interval attribute is present in an add or modify event for a User object, the sample Input policy converts the value from number of days to number of seconds.

Group Membership - DirXML-RACF-groups

The Group Membership attribute of an eDirectory User object lists the groups the user belongs to.

The DirXML-RACF-groups attribute of a RACF User object lists the groups the user belongs to, together with related CONNECT or REMOVE command parameters.

The Group Membership attribute of an eDirectory User object is mapped by the Schema Mapping policy with the DirXML-RACF-groups attribute of a RACF User object.

An add-value to a User object's group membership is processed as a RACF CONNECT command by the Subscriber channel. A remove-value is processed as a RACF REMOVE command. The sample Output policy appends a default set of parameters for these commands to the value element. You can modify these parameters according to your own business requirements. For details, see Section 3.0, Customizing the Driver.

The value element for an add-value to a user's Group Membership constructed by the Publisher channel contains the group name followed by the parameters from the RACF CONNECT command. Similarly, the value element for a remove-value includes parameters from the RACF REMOVE command.

Subscriber Channel

If a DirXML-RACF-groups attribute is present in an add or modify command for a User object, the sample Output policy adds RACF information as follows:

  • For an add-attr, remove-value, or add-value element, if there is no association-ref, the value is discarded.

  • A default set of parameters for the CONNECT (for an add-attr or add-value element) command is appended to each value element. No parameters are added for the REMOVE (for a remove-value element) command by the sample policy, but an example is provided in the comments to guide you if you choose to add your own.

Publisher Channel

If a DirXML-RACF-groups attribute is present in an add or modify event, the sample Input policy operates as follows:

  • The CONNECT or REMOVE command parameters are removed from the group name values.

  • The group name values are converted to lowercase.

1.4.4 Delete Commands and Events

The RACF DELUSER command does not perform access list or resource ownership cleanup when deleting a user. This could result in security exposures if a new user is created with the same name as a deleted user with residual references.

The RACF DELGROUP command does not clean up references to a group from such places as resource access lists, and cannot be used to delete a universal group.

IBM* recommends that you use the RACF Remove ID utility (IRRRID00) when deleting users and groups. For more information, see your Security Server RACF Security Administrators Guide.

Subscriber Channel

The preconfigured sample Subscriber Event policy converts a delete command for a user into a modify command for the user, setting the Login Disabled attribute to true.

The preconfigured sample Subscriber Event policy vetoes delete commands for Group objects.

1.4.5 Rename and Move Commands and Events

RACF does not provide a rename function.

The RACF database is not hierarchical. There is no move function.

Subscriber Channel

The preconfigured sample Subscriber Event policy vetoes rename and move commands. If you change the policies so that rename or move commands reach the Subscriber channel, the Subscriber channel rejects them with an error status.

Publisher Channel

The Publisher channel does not produce rename or move events.

1.4.6 Password Synchronization

Identity Manager uses the nspmDistributionPassword attribute to provide passwords from eDirectory.

The Publisher channel of the driver uses password elements for add events to provide password information. The Publisher channel uses modify-password events for password changes.

You can specify configuration options to control the processing of passwords by the preconfigured sample policies.

For more about Identity Manager password synchronization, see the Identity Manager 3.6.1 Administration Guide at the Identity Manager 3.6.1 Documentation Web site.

Subscriber Channel

Based on configuration options that you specify, the Subscriber Command policy controls the processing of passwords in the Subscriber channel.

  • You can block the subscription of passwords.

For details about configuring password processing options, see Setting Global Configuration Values.

When the password is changed in eDirectory, Identity Manager sends a modify XDS command to the Subscriber channel.

<modify class-name="User" src-dn="\DAL\users\eleu">
  <association>USER\ELEU</association>
  <modify-attr attr-name="nspmDistributionPassword">
    <remove-all-values/>
    <add-value>
      <value>secret</value>
    </add-value>
  </modify-attr>
</modify>

The Subscriber Command policy changes this to a modify-password event.

<modify-password class-name="User" src-dn="\DAL\users\eleu">
    <association>USER\ELEU</association>
    <password>secret</password>
</modify-password>

The Subscriber channel converts this to an ALTUSER TSO command and issues the command through the Telnet interface.

ALTUSER ELEU NOEXPIRED PASSWORD(SECRET)

z/OS requires that passwords be one to eight alphanumeric characters. An installation can define additional password syntax rules. The ALTUSER command rejects invalid or nonconforming passwords.

Publisher Channel

When a RACF user password is changed, either during logon, by the use of the PASSWORD command, or by the ALTUSER command, the RACF Event Subsystem adds a corresponding event to the Change Log data set. The Publisher channel obtains the event and encodes it as an XDS event.

<modify-password class-name="user" src-dn="\ELEU">
    <association>USER\ELEU</association>
    <old-password>GUESS<old-password>
    <password>SECRET<password>
</modify-password>

Based on configuration options that you specify, the Publisher Command policy controls the processing of passwords in the Publisher channel.

  • You can block the publication of passwords.

  • You can specify that passwords be published to nspmDistributionPassword.

  • You can specify that passwords be published to the NDS password.

For details about configuring password processing options, see Setting Global Configuration Values.

For changes to the NDS password in eDirectory, if the old-password element is present, Identity Manager uses the modifyPassword API to modify the password. If the old-password element is not present, Identity Manager uses the GenerateKeyPair API. Note that using GenerateKeyPair can invalidate authentication credentials for any existing session authenticated as the target object.

The preconfigured sample Input policy removes the old-password element from the event.

<xsl:template match="old-password"/>

You can comment this out if you prefer that the modifyPassword API be used. If the ALTUSER command is used to change the password, the old password is not available.

z/OS passwords are case-insensitive. The preconfigured sample Input policy converts passwords to lowercase. If you are using Universal Password, which is case-sensitive, you should consider the handling of passwords by z/OS in your deployment planning.

The modify-password Event After the Input Policy
<modify-password class-name="user" src-dn="\ELEU">
    <association>USER\ELEU</association>
    <password>secret<password>
</modify-password>