Skip to content

Schema Reference

This section describes the different schema attributes. The Microsoft Entra ID connector currently supports the following types of objects:

  • Account: Account objects are used when building identities Link objects.
  • Group: The group schema is used when building Account-Group objects that are used to hold entitlements shared across identities.
  • Service Principal: The Service Principal schema is used to represent Azure Service Principal which are identities created for use with applications, hosted services, and automated tools to access Azure resources.
  • Service Plan: The Service Plan schema is used to represent Azure Service Plan (License Plans).
  • Management Group: The Management group schema is used to represent Azure Management Groups which are created to allow Azure customers to organize their subscriptions and apply governance controls such as Role Based Access Control and Policies.
  • Subscription: The Subscription schema is used to represent Azure Subscription objects which represent a signed agreement between a supplier and customer that the customer would receive and provide payment for regular products or services.
  • Resource Group: The Resource group schema is used to represent Azure Resource Groups which are container objects that hold related resources for an Azure solution.
  • Azure Role Assignment: The Azure Role Assignment schema is used to represent custom group objects that consist of the following elements:
    • Security Principal (user, groups, service principal, managed identity)
    • Role Definition
    • Access Scope

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 Microsoft Entra ID connector uses the following default correlation and object configurations.

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 ID

SailPoint requires that certain attributes remain in your configuration. These attributes are referred to as account IDs.

Caution

Changing the attribute marked as the account ID after aggregating accounts can result in duplicate accounts being created. To avoid this, either reset the accounts on this source before editing the account ID attribute or edit the account ID attribute before aggregating accounts.

To resolve issues caused by changing account IDs, reconfigure them to their default values.

The following table lists the default account IDs for this connector:

Account ID Schema Object Type
objectId Account
objectId Group
objectId Service Principle
objectId Service Plan
id Channel
id Azure Eligible Role
id Azure Active Role
id Microsoft Entra ID Active Role
id Microsoft Entra ID Eligible Role
id applicationRole

Default Account Attributes

The Microsoft Entra ID 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
accountEnabled True if the user is enabled; otherwise, false.
assignedLicenses List of the licenses that are assigned to the user.
assignedPlans Plans that are assigned to the user (Entitlement).
city City in which the user is located.
country Country/region in which the user is located.
creationType Indicates whether the user account is a local account for an Azure Active Directory B2C tenant.
department Name for the department the user belongs to.
onPremisesSyncEnabled Indicates whether a Microsoft Entra ID user is synchronized from an on-premises directory.
disabledPlans Plans that are not assigned to the user.
displayName Name displayed in the address book for the user.
employeeId Numerically identifies an employee within an organization.
facsimileTelephoneNumber Telephone number of the user's business fax machine.
givenName First name of an user.
groups Groups assigned to an user (Entitlement).
servicePrincipals Enterprise Applications assigned to a user.
Note
The existing servicePrincipals attribute has been renamed to a new entitlement attribute named appRoleAssignments (along with an associated new entitlement schema. For more information, refer to appRoleAssignments. To continue to manage Service Principals as a group object, the schema from Service Principal and the respective account attribute needs to be present in your configuration.
immutableId Property used to associate an on-premises Active Directory user account to their Microsoft Entra ID user account.
jobTitle User’s job title.
lastDirSyncTime Indicates the last time at which the user was synchronized with the on-premises directory.
signInActivity.lastNonInteractiveSignInDateTime Indicates the last time a user signed in to the directory with an non-interactive authentication method.
The timestamp represents date and time information always in UTC. For example, midnight UTC on Jan 1, 2022 is 2022-01-01T00:00:00Z.
Note
This attribute is not present by default and must be added explicitly to the account schema if required.
signInActivity.lastNonInteractiveSignInRequestId Indicates the request identifier of the last non-interactive sign-in performed by this user.
Note
This attribute is not present by default and must be added explicitly to the account schema if required.
signInActivity.lastSignInDateTime Indicates the last time a user signed in to the directory with an interactive authentication method.
The timestamp represents date and time information always in UTC. For example, midnight UTC on Jan 1, 2022 is 2022-01-01T00:00:00Z.
Note
This attribute is not present by default and must be added explicitly to the account schema if required.
signInActivity.lastSignInRequestId Indicates the request identifier of the last interactive sign-in performed by this user.
Note
This attribute is not present by default and must be added explicitly to the account schema if required.
signInActivity.lastSuccessfulSignInDateTime Indicates the date and time of the user's most recent successful sign-in activity.
The timestamp type represents date and time information always in UTC. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
Note
This attribute is not present by default and must be added explicitly to the account schema if required.
signInActivity.lastSuccessfulSignInRequestId Indicates the request identifier of the last successful sign-in activity.
Note
This attribute is not present by default and must be added explicitly to the account schema if required.
mail The SMTP address for the user. For example, john@contoso.onmicrosoft.com
mailNickname Mail alias for the user.
signInNames Specifies the collection of sign-in names for a local account in an Azure Active Directory B2C tenant.
manager Manager of the user. (Type: String).
The Microsoft Entra ID connector provides support for provisioning the manager attribute. For more information, refer to Support for Provisioning Operations of 'manager' Attribute.
mobile Primary cellular telephone number for the user.
objectId Unique identifier for the user.
onPremisesSecurityIdentifier Contains the on-premises security identifier (SID) for the user that was synchronized from on-premises to the cloud.
otherMails A list of additional email addresses for the user.
passwordPolicies Specifies password policies for the user.
physicalDeliveryOfficeName Office location in the user's place of business.
postalCode ZIP OR postal code for the user's postal address.
preferredLanguage Preferred written or spoken language for a person.
proxyAddresses Proxy addresses.
For example, ["SMTP: bob@contoso.com", "smtp: bob@sales.contoso.com"]
roles Administrator Role assigned to user (Entitlement).
sipProxyAddress Specifies the voice over IP (VOIP) session initiation protocol (SIP) address for the user.
state State or province in the user's address.
sponsors Sponsors of the user. The Microsoft Entra ID connector provides support aggregation and provisioning of sponsors attribute. For more information, refer to Configuring Sponsors for Guest User ( B2B) and External Member (B2B).
userIdentities Specifies the collection of userIdentities for a social user account in an Azure Active Directory B2C tenant.
streetAddress Street address of the user's place of business.
surname Last name of the user.
telephoneNumber Primary telephone number of the user's place of business.
usageLocation A two letter country code indicating usage location.
userPrincipalName User principal name (UPN) of the user.
userType Type of the user.
channels List of channel membership of a user.
Type: Entitlement, Multi-Valued
azureRoleAssignments* Azure Role Assignments assigned to user (Only applicable for SailPoint CIEM).
appRoleAssignments Lists the associated application roles for the Account. This is a multi-valued, entitlement, and managed attribute.
Type: applicationRole, Multi-Valued

Risky User Alert Supported Attributes

Attribute Name Description
riskLevel Level of the detected risky user.
riskState State of the user's risk.
riskDetail Details of the detected risk.
riskLastUpdatedDateTime The date and time that the risky user was last updated.

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 Microsoft Entra ID connector also supports groups. The following attributes must be configured on the managed system and in the SailPoint source schema to manage groups.

Attribute Name Description
description Description for the group.
dirSyncEnabled Indicates whether this group was synced from the on-premises directory.
displayName Display name for the group.
lastDirSyncTime Indicates the last time at which the group was synced with the on-premises directory.
mail SMTP address for the group.
mailEnabled Specifies whether the group is mail-enabled
mailNickname Mail alias for the group.
objectId Group ID.
onPremisesSecurityIdentifier Contains the on-premises security identifier (SID) for the group that was synchronized from on-premises to the cloud.
owners Owner of the group.
proxyAddresses Proxy addresses of the group.
securityEnabled Specifies whether the group is a security group.
teamsEnabled Specifies whether teams has been enabled for the group.
groupTypes Type of the group. Blank for Security and /or Unified for Office 365 type of groups.
For example, Unified for Office 365 group.

Access Package Attributes

To manage access packages, ensure that the following attribute is present in the account schema:

Attribute Name Description
accessPackages List of access packages assigned to the user.
Type: Entitlement, Multi-Valued

To manage the Microsoft Entra access package objects, ensure that the following attributes are present in the group schema:

Attribute Name Description
id Unique identifier of the Access Package.
displayName Display name made by combining the Access Package name and Policy name.
description Description of the Access Package.
policyDescription Description of the Access Package's policy.
expiration Expiration time for the Access Package's policy.
isHidden Indicates whether the Access Package is hidden from end users on My Access portal.
catalog Container where the Access Package resides.

Identity Profile Mapping

The Microsoft Entra ID connector supports the following attributes in Identity Profile Mapping by default:

Identity Attribute Schema Attribute
displayName displayName
email userPrincipalName
firstname givenName
lastname surname
phone mobile
uid userPrincipalName
workPhone telephoneNumber

Multi-Factor Authentication (MFA) Attributes

To manage multi-factor authentication user information, ensure that the following attributes are present in the account schema:

Note

When using the phone authentication method, the values for the following attributes are expected to be provided with the country code as a prefix: mfa_phoneNumber_mobile, mfa_phoneNumber_alternateMobile, and mfa_phoneNumber_office. If the country code is not provided provisioning operations will result in failure. The value for these attributes should follow this format (there must be a space between the country code and the phone number):<country code> <phone number>

Examples:

  • <AttributeRequest name="mfa_phoneNumber_mobile" op="Add" value="+1 2065555555"/>
  • <AttributeRequest name="mfa_phoneNumber_alternateMobile" op="Add" value="+1 2065555556"/>
  • <AttributeRequest name="mfa_phoneNumber_office" op="Add" value="+1 2065555557"/>

Note

Once you enable MFA for any user there will be one default authentication method set. This is usually the first method configured, but you can modify it later from the Azure portal. If you are trying to remove values for an attribute that belongs to the default authentication method, the Azure APIs will throw an error as the APIs do not expect to remove values for attributes that belong to the default authentication method. For example, if email is the default authentication method configured for an Azure user, the connector will not be able to remove the value for the mfa_emailAddress attribute.

Authentication Method Attribute Name Type Description
Phone mfa_phoneNumber_mobile String Mobile phone number assigned to the user.
Phone mfa_phoneNumber_alternateMobile String Alternate mobile phone number assigned to the user.
Phone mfa_phoneNumber_office String Office phone number assigned to the user.
Email mfa_emailAddress String Email address assigned to the user.
Microsoft Authentication mfa_microsoftAuthenticatorAuthenticationMethod String: Multivalued Microsoft Authentication method assigned to the user.
Other mfa_methodName
Where methodName is the authentication method name.
For example:
  • mfa_fido2AuthenticationMethod
  • mfa_temporaryAccessPassAuthenticationMethod
  • mfa_softwareOathAuthenticationMethod
  • mfa_windowsHelloForBusinessAuthenticationMethod
String: Multivalued Other authentication method assigned to the user.

Service Plan

{
  "name": "servicePlan",
  "nativeObjectType": "servicePlan",
  "identityAttribute": "objectId",
  "displayAttribute": "displayName",
  "includePermissions": false,
  "features": [
    "PROVISIONING"
  ],
  "attributes": [
    {
      "name": "objectId",
      "type": "string",
      "isMultiValued": false,
      "description": "Unique identifier for the service plan which is a combination of skuId and servicePlanId separated by colon (:).",
      "isEntitlement": false,
      "isGroup": false
    },
    {
      "name": "skuId",
      "type": "string",
      "description": "Unique identifier (GUID) for the License Pack",
      "isMultiValued": false,
      "isEntitlement": false,
      "isGroup": false
    },
    {
      "name": "skuPartNumber",
      "type": "string",
      "description": "The SKU part number of the License Pack. For example, AAD_PREMIUM",
      "isMultiValued": false,
      "isEntitlement": false,
      "isGroup": false
    },
    {
      "name": "appliesTo",
      "type": "string",
      "description": "Object types to which the license pack can be assigned. For example: User, Company",
      "isMultiValued": false,
      "isEntitlement": false,
      "isGroup": false
    },
    {
      "name": "displayName",
      "type": "string",
      "description": "Display name of service plan which is a combination of skuPartNumber and servicePlanName separated by colon (:).",
      "isMultiValued": false,
      "isEntitlement": false,
      "isGroup": false
    },
    {
      "name": "servicePlanId",
      "type": "string",
      "description": "Unique identifier of the service plan",
      "isMultiValued": false,
      "isEntitlement": false,
      "isGroup": false
    },
    {
      "name": "servicePlanName",
      "type": "string",
      "description": "The name of the service plan",
      "isMultiValued": false,
      "isEntitlement": false,
      "isGroup": false
    },
    {
      "name": "provisioningStatus",
      "type": "string",
      "description": "The provisioning status of the service plan",
      "isMultiValued": false,
      "isEntitlement": false,
      "isGroup": false
    }
  ],
  "created": "2019-12-24T22:32:58.104Z",
  "modified": "2019-12-31T20:22:28.104Z"
}​

Using Multiple Group Entitlements With Pre-Existing Connectors

For the pre-existing Microsoft Entra ID connectors, perform the following steps to start using Multiple Group Entitlements with your current connector.

  1. Use the createSchema API to create new group schema for your connector. Refer to the following respective sections for examples of API body content for adding to existing connector:

  2. Update Account Schema with the following steps:

    1. Get account schema using the getSchema API.
    2. Copy the schema to a file and search for attribute corresponding to the group schema that is added in the previous step.
    3. Add or update the following two properties for the attribute found in the previous step:

      "isGroup": true,
      "schema": {"type": "CONNECTOR_SCHEMA","id": "<Schema_ID_From_Step1>","name": "<Name_Of_Schema_Created_In_Step1>"}
      
    4. Add the schema modified in the previous step to the payload to update account schema in the connector using the replaceSchema API.

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.