Schema Reference
The application schema is used to configure the objects returned from a connector.
Note
-
The Account Schema tab is used to define the attributes for each object type in the application being configured. The schema attributes can be defined as Entitlement or Multi-Valued. Refer to Managing Source Account Schemas for more information.
-
The schema attributes that are not present by default must be defined as strings if not specified.
The LDAP connector uses the following default correlation and object configurations.
This connector supports two types of objects: account and group. The default schema is provided for both accounts and groups, and can be modified per the connection requirements of your LDAP server. The application only supports a single group object. The schema for a group object can be modified to support other native group types such as posixgroup and nisNetgroup, depending on your LDAP server.
Note
The name of the objectType must be the same as the name of the objectType of the respective group schema for which the scope is defined.
Default Account Schema
Each source supports a variety of details, or attributes, about each user who has an account, such as their name, email address, manager name, and location.
The set of account attributes each source stores and how they're organized is known as the account's schema. To best represent your data, you can configure sources to use an account schema matching the one you use in the external connector. Refer to Managing Source Account Schemas for more information.
Default Account Attributes
The LDAP connector supports the following default account schema attributes and customer configurable attributes. The attributes must be defined as strings if not specified.
| Attribute Name | Description | Type |
|---|---|---|
| businessCategory | The business category. | |
| carLicense | The vehicle license or registration plate. | |
| cn | The common name(s) for which the entity is known by. | |
| dn | The distinguished name for which the entity is known by. | |
| departmentNumber | The identifies a department within an organization. | |
| description | The descriptive information. | |
| destinationIndicator | The destination indicator. | |
| displayName | The preferred name to be used when displaying entries. | |
| employeeNumber | The numerically identifies an employee within an organization. | |
| employeeType | The type of employment for a person. | |
| facsimileTelephoneNumber | The Facsimile (Fax) Telephone Number. | Multi-Valued |
| givenName | The first name(s) for which the entity is known by. | |
| groups | List of groups a user is a member. Schema Object Type: group | Entitlement, Multi-Valued |
| homePhone | The home telephone number. | |
| homePostalAddress | The home postal address. | |
| initials | The initials of some or all of names, but not the surname(s). | |
| internationaliSDNNumber | The international ISDN number. | |
| l | The city. | |
| The RFC822 Mailbox. | ||
| manager | The DN of manager. | |
| mobile | The mobile telephone number. | |
| o | The organization this object belongs to. | |
| ou | The organizational unit this object belongs to. | |
| pager | The pager telephone number. | |
| physicalDeliveryOfficeName | The name of physical delivery office. | |
| postOfficeBox | The post office box. | |
| postalAddress | The postal address. | |
| postalCode | The postal code. | |
| preferredDeliveryMethod | The preferred delivery method. | |
| preferredLanguage | The preferred written or spoken language for a person. | |
| pwdReset | The specifies whether the password has been reset by admin. | |
| registeredAddress | The registered postal address. | |
| roomNumber | The room number. | |
| secretary | The DN of secretary. | |
| seeAlso | The DN of related object. | |
| sn | The last (family) name(s) for which the entity is known by. | |
| st | The state or province which this object resides in. | |
| street | The street address of this object. | |
| telephoneNumber | The telephone number. | |
| teletexTerminalIdentifier | The teletex terminal identifier. | |
| telexNumber | The telex number. | |
| title | The title associated with the entity. | |
| uid | The user identifier. | |
| objectClass | The object classes of the entity. | Multi-Valued |
| posixgroups | List of posix groups a user is a member. Schema Object Type: posixgroup | Entitlement, Multi-Valued |
| nisNetgroups | List of nisnet groups a user is a member. Schema Object Type: nisNetgroup | Entitlement, Multi-Valued |
Important
Group membership filters are not applied if the LDAP source schema entitlement attribute name is identical to the attribute name on the target system. To ensure filtering works correctly, use a unique attribute name in the schema. For example, if the target system uses sudoRoleMemberOf, define the schema attribute as sudoRoleMemberOfGroup to ensure filtering works correctly during account aggregation.
Adding Schema to the Source
Note
If you want to add sudoRoles and groupOfNames schema to the source, you need to add the respective account attributes in the Account Schema.
The following example shows how to add the sudoRoles and groupOfNames schema to the source XML:
{
"AttributeDefinition": [
{
"entitlement": "true",
"managed": "true",
"multi": "true",
"name": "sudoRoles",
"schemaObjectType": "sudoRole",
"type": "string",
"Description": "List of sudo roles a user is a member"
},
{
"entitlement": "true",
"managed": "true",
"multi": "true",
"name": "groupOfNames",
"schemaObjectType": "groupOfNames",
"type": "string",
"Description": "List of groupOfNames a user is a member"
}
]
}
For more information on the attribute lists of sudoRole and groupOfNames, refer to Sudo Role Attributes and groupOfNames Attributes.
Default Entitlement Attributes
Entitlement attributes define the entitlements, such as groups or roles, that can be assigned to the managed system's user accounts. Refer to Managing Entitlements for more information.
Caution
Changing the attribute marked as the Entitlement ID after aggregating accounts or entitlements can result in duplicate entitlements being created, or access profiles and roles breaking. To avoid this, edit the entitlement schema before performing any aggregations.
Default Group Attributes
The following lists the group of unique names attributes:
| Attribute Name | Description |
|---|---|
| cn | The common name(s) for which the entity is known by. |
| dn | The directory path. |
| description | The descriptive information. |
| o | The organization this object belongs to. |
| ou | The organizational unit this object belongs to. |
| owner | The owner (of the object). |
The LDAP connector also supports groups. The following attributes must be configured on the managed system and in the SailPoint source schema to manage groups.
Schema Example
The following example shows how to add the group schema to the source XML:
{
"Schema": {
"displayAttribute": "cn",
"featuresString": "PROVISIONING",
"identityAttribute": "dn",
"nativeObjectType": "groupOfUniqueNames",
"objectType": "group",
"AttributeDefinition": [
{
"name": "cn",
"type": "string",
"Description": "common name(s) for which the entity is known by"
},
{
"name": "dn",
"type": "string",
"Description": "Directory Path"
},
{
"name": "o",
"type": "string",
"Description": "organization this object belongs to"
},
{
"name": "ou",
"type": "string",
"Description": "organizational unit this object belongs to"
},
{
"name": "owner",
"type": "string",
"Description": "owner (of the object)"
},
{
"name": "description",
"type": "string",
"Description": "descriptive information"
}
],
"Attributes": {
"Map": {
"entry": [
{
"key": "groupMemberAttribute",
"value": "uniqueMember"
},
{
"key": "memberAttribute",
"value": "dn"
}
]
}
}
}
}
NisNet Group Attributes
The following lists the nisNetgroup attributes:
| Attribute Name | Description |
|---|---|
| cn | The common name(s) for which the entity is known by. |
| dn | The directory path. |
| description | The descriptive information. |
| nisNetgroupTriple | The unique member of a nisNetgroup. |
Schema Example
The following example shows how to add the nisNetgroup schema to the source XML:
{
"nativeObjectType": "nisNetgroup",
"identityAttribute": "dn",
"displayAttribute": "cn",
"hierarchyAttribute": null,
"includePermissions": false,
"features": [
"PROVISIONING"
],
"configuration": {
"memberPrefix": "{,",
"memberAttribute": [
"cn",
"uid"
],
"memberSuffix": ",}",
"groupMemberAttribute": "nisNetgroupTriple"
},
"attributes": [
{
"name": "cn",
"type": "STRING",
"schema": null,
"description": "common name(s) for which the entity is known by",
"isMulti": false,
"isEntitlement": false,
"isGroup": false
},
{
"name": "nisNetgroupTriple",
"type": "STRING",
"schema": null,
"description": "unique member of a nisNetgroup",
"isMulti": true,
"isEntitlement": false,
"isGroup": false
},
{
"name": "dn",
"type": "STRING",
"schema": null,
"description": "Directory Path",
"isMulti": false,
"isEntitlement": false,
"isGroup": false
},
{
"name": "description",
"type": "STRING",
"schema": null,
"description": "descriptive information",
"isMulti": false,
"isEntitlement": false,
"isGroup": false
}
],
"id": "ada0ca21da9d450aa80addd68bd2102d",
"name": "nisNetgroup",
"created": "2024-10-08T12:05:50.004Z",
"modified": "2024-10-08T12:05:50.004Z"
},
Posix Group Attributes
The following lists the posixgroup attributes:
| Attribute Name | Description | Type |
|---|---|---|
| cn | The common name(s) for which the entity is known by. | |
| dn | The directory path. | |
| description | The descriptive information. | |
| gidNumber | The group ID. | |
| memberUid | The unique member of a posixGroup. | Multi-Valued |
Schema Example
The following example shows how to add the posixgroup schema to the source XML:
{
"nativeObjectType": "posixgroup",
"identityAttribute": "dn",
"displayAttribute": "cn",
"hierarchyAttribute": null,
"includePermissions": false,
"features": [
"PROVISIONING"
],
"configuration": {
"memberAttribute": [
"cn",
"uid"
],
"groupMemberAttribute": "memberUid"
},
"attributes": [
{
"name": "cn",
"type": "STRING",
"description": "common name(s) for which the entity is known by",
"isMulti": false,
"isEntitlement": false,
"isGroup": false
},
{
"name": "memberUid",
"type": "STRING",
"description": "unique member of a posixGroup",
"isMulti": true,
"isEntitlement": false,
"isGroup": false
},
{
"name": "dn",
"type": "STRING",
"description": "Directory Path",
"isMulti": false,
"isEntitlement": false,
"isGroup": false
},
{
"name": "gidNumber",
"type": "STRING",
"description": "Group ID",
"isMulti": false,
"isEntitlement": false,
"isGroup": false
},
{
"name": "description",
"type": "STRING",
"description": "descriptive information",
"isMulti": false,
"isEntitlement": false,
"isGroup": false
}
]
}
Sudo Role Attributes
The following lists the sudoRole attributes:
| Attribute Name | Description | Type |
|---|---|---|
| cn | The common name(s) for which the entity is known by. | |
| dn | The directory name. | |
| description | The descriptive information. | |
| sudoUser | The unique member of a sudoRole. | Multi-Valued |
Schema Example
The following example shows how to add the sudoRole schema to the source XML:
{
"nativeObjectType": "sudoRole",
"identityAttribute": "dn",
"displayAttribute": "cn",
"hierarchyAttribute": null,
"includePermissions": false,
"features": [
"PROVISIONING"
],
"configuration": {
"memberAttribute": [
"cn"
],
"groupMemberAttribute": "sudoUser"
},
"attributes": [
{
"name": "dn",
"type": "STRING",
"description": "Directory Path",
"isMulti": false,
"isEntitlement": false,
"isGroup": false
},
{
"name": "cn",
"type": "STRING",
"description": "common name(s) for which the entity is known by",
"isMulti": false,
"isEntitlement": false,
"isGroup": false
},
{
"name": "sudoUser",
"type": "STRING",
"description": "unique member of a posixGroup",
"isMulti": true,
"isEntitlement": false,
"isGroup": false
},
{
"name": "description",
"type": "STRING",
"description": "descriptive information",
"isMulti": false,
"isEntitlement": false,
"isGroup": false
}
]
}
groupOfNames Attributes
The following lists the groupOfNames attributes:
| Attribute Name | Description |
|---|---|
| cn | The common name(s) for which the entity is known by. |
| dn | The directory path. |
| description | The descriptive information. |
| o | The organization this object belongs to. |
| ou | The organizational unit this object belongs to. |
| owner | The owner (of the object). |
Schema Example
The following example shows how to add the groupOfNames schema to the source XML:
{
"nativeObjectType": "groupOfNames",
"identityAttribute": "dn",
"displayAttribute": "cn",
"hierarchyAttribute": null,
"includePermissions": false,
"features": [
"PROVISIONING",
"GROUPS_HAVE_MEMBERS"
],
"configuration": {
"memberAttribute": [
"dn"
],
"groupMemberAttribute": "member"
},
"attributes": [
{
"name": "cn",
"type": "STRING",
"description": "common name(s) for which the entity is known by",
"isMulti": false,
"isEntitlement": false,
"isGroup": false
},
{
"name": "dn",
"type": "STRING",
"description": "Directory Path",
"isMulti": false,
"isEntitlement": false,
"isGroup": false
},
{
"name": "o",
"type": "STRING",
"description": "organization this object belongs to",
"isMulti": false,
"isEntitlement": false,
"isGroup": false
},
{
"name": "ou",
"type": "STRING",
"description": "organizational unit this object belongs to",
"isMulti": false,
"isEntitlement": false,
"isGroup": false
},
{
"name": "owner",
"type": "STRING",
"description": "owner (of the object)",
"isMulti": false,
"isEntitlement": false,
"isGroup": false
},
{
"name": "description",
"type": "STRING",
"description": "descriptive information",
"isMulti": false,
"isEntitlement": false,
"isGroup": false
}
]
}
Documentation Feedback
Feedback is provided as an informational resource only and does not form part of SailPoint’s official product documentation. SailPoint does not warrant or make any guarantees about the feedback (including without limitation as to its accuracy, relevance, or reliability). All feedback is subject to the terms set forth at https://developer.sailpoint.com/discuss/tos.