The following are the LDAP operations that can be performed using the projected user profiles.
Bind
An LDAP client can bind (authenticate) to the LDAP server using a projected user profile. This is accomplished by specifying the projected user profile distinguished name (DN) for the bind DN and the correct user profile password for authentication. An example of a DN used in a bind request would be os400-profile=jsmith,cn=accounts,os400-sys=systemA.acme.com.
A client must bind as a projected user to access information in the system projected backend.
Two additional mechanisms are available to authenticate to the directory server as a projected user:
The server performs all of the operations using the authority of that user profile. The projected user profile DN can also be used in LDAP ACLs like other LDAP entry DNs. The simple bind method is the only bind method that is allowed when a projected user profile is specified on a bind request.
Search
The system projected backend supports some basic search filters. You can specify the objectclass, os400-profile, and os400-gid attributes in search filters. The os400-profile attribute supports wildcards. The os400-gid attribute is limited to specifying (os400-gid=0), which is an individual user profile, or !(os400-gid=0), which is a group profile. You can retrieve all attributes of a user profile except the password and similar attributes.
For certain filters, only the DN objectclass and os400-profile values are returned. However, subsequent searches can be conducted to return more detailed information.
The following table describes the behavior of the system projected backend for search operations.
Search requested | Search base | Search scope | Search filter | Comments |
---|---|---|---|---|
Return information for os400-sys=SystemA, (optionally) for the containers under it, and (optionally) for the objects in those containers. | os400-sys=SystemA.acme.com | base, sub, or one | objectclass=*
objectclass=os400-root objectclass=container objectclass=os400-usrprf |
Return the appropriate attributes and their values based on the scope and filter specified. Hardcoded attributes and their values are returned for the system objects' suffix and the container under it. |
Return all user profiles. | cn=accounts, os400-sys=SystemA.acme.com | one or sub | os400-gid=0 | Only the distinguished name (DN), objectclass, and os400-profile
values are returned for projected user profiles. If any other filter is specified,
LDAP_UNWILLING_
TO_PERFORM is returned. |
Return all group profiles. | cn=accounts, os400-sys=SystemA.acme.com | one or sub | (!(os400-gid=0)) | Only the distinguished name (DN), objectclass, and os400-profile
values are returned for projected user profiles. If any other filter is specified,
LDAP_UNWILLING_
TO_PERFORM is returned. |
Return all user and group profiles. | cn=accounts, os400-sys=SystemA.acme.com | one or sub | os400-profile=* | Only the distinguished name (DN), objectclass, and os400-profile
values are returned for projected user profiles. If any other filter is specified,
LDAP_UNWILLING_
TO_PERFORM is returned. |
Return information for a specific user or group profile such as the user profile JSMITH. | cn=accounts, os400-sys=SystemA.acme.com | one or sub | os400-profile=JSMITH | Other attributes to be returned can be specified. |
Return information for a specific user or group profile such as the user profile JSMITH. | os400-profile=JSMITH, cn=accounts, os400-sys=SystemA.acme.com | bas, sub, or one | objectclass=os400-usrprf
objectclass=* os400-profile=JSMITH |
Other attributes to be returned can be specified. Even though a scope of one level can be specified, the search results would return no values because there is nothing below the user profile JSMITH in the DIT. |
Return all user and group profiles starting with A. | cn=accounts, os400-sys=SystemA.acme.com | one or sub | os400-profile=A* | Only the distinguished name (DN), objectclass, and os400-profile
values are returned for projected user profiles. If any other filter is specified,
LDAP_UNWILLING_
TO_PERFORM is returned. |
Return all group profiles starting with G. | cn=accounts, os400-sys=SystemA.acme.com | one or sub | (&(!(os400-gid=0)) (os400-profile=G*)) | Only the distinguished name (DN), objectclass, and os400-profile
values are returned for projected user profiles. If any other filter is specified,
LDAP_UNWILLING_
TO_PERFORM is returned. |
Return all user profiles starting with A. | cn=accounts, os400-sys=SystemA.acme.com | one or sub | (&(os400-gid=0) (os400-profile=A*)) | Only the distinguished name (DN), objectclass, and os400-profile
values are returned for projected user profiles. If any other filter is specified,
LDAP_UNWILLING_
TO_PERFORM is returned. |
Compare
The LDAP compare operation can be used to compare an attribute value of a projected user profile. The os400-aut and os400-docpwd attributes cannot be compared.
Add and modify
You can create user profiles using the LDAP add operation and you can also change user profiles using the LDAP modify operation.
Delete
User profiles can be deleted using the LDAP delete operation. To specify the behavior of the DLTUSRPRF OWNOBJOPT and PGPOPT parameters, two LDAP server controls are now provided. These controls can be specified on the LDAP delete operation. Refer to the Delete User Profile (DLTUSRPRF) command for more information about the behavior of these parameters.
The following are the controls and their object identifiers (OIDs) that can be specified on the LDAP delete client operation.
The newOwner value specifies the profile to which ownership is transferred. This value is required when ownObjOpt is set to *CHGOWN.
Examples of the control value are the following:
The control value is defined as a string of the following form:
The pgpOpt value specifies the action to be taken if the profile being deleted is the primary group for any objects. If *CHGPGP is specified, newPgp must also be specified. The newPgp value specifies the primary group profile name or *NONE. If a new primary group profile is specified, the newPgpAut value can also be specified. The newPgpAut value specifies the authority to the objects that the new primary group is given.
ModRDN
You cannot rename projected user profiles because this is not supported by the operating system.
Import and Export APIs
The QgldImportLdif and QgldExportLdif APIs do not support importing or exporting data within the system projected backend.