Расширение подготовки на основе API для синхронизации пользовательских атрибутов
По умолчанию приложения подготовки на основе API поддерживают атрибуты обработки, которые являются частью стандартной схемы scIM Core User и Enterprise User. В системе записи могут быть пользовательские атрибуты, которые могут быть включены в состав подготовки на основе API. В этом расширенном руководстве описывается расширение приложения подготовки на основе API для обработки дополнительных пользовательских атрибутов.
Примечание.
Прежде чем попробовать этот расширенный сценарий, рекомендуется убедиться, что конфигурация приложения подготовки вне коробки работает должным образом с помощью одного из следующих клиентов API Graph Explorer, cURL.
Пример сценария
Вы настроили приложение подготовки на основе API. Приложение подготовки успешно использует атрибуты, которые являются частью стандартной схемы пользователя SCIM Core и корпоративного пользователя и подготовки пользователей в идентификаторе Microsoft Entra. Теперь вы хотите отправить два настраиваемых атрибута HireDate
и JobCode
из системы управления персоналом в конечную точку API подготовки для входящего трафика. Вы хотите сопоставить эти два настраиваемых атрибута с атрибутами employeeHireDate
Microsoft Entra и jobTitle
.
Шаг 1. Расширение схемы приложения подготовки
На этом шаге мы добавим два атрибута "HireDate" и "JobCode", которые не являются частью стандартной схемы SCIM в приложение подготовки и используйте их в потоке данных подготовки.
- Войдите в Центр администрирования Microsoft Entra как минимум администратор приложений.
- Перейдите к приложениям Identity>Applications>Enterprise.
- Откройте приложение подготовки на основе API.
- Откройте колонку подготовки .
- Нажмите кнопку "Изменить подготовку ".
- Разверните раздел "Сопоставления" и щелкните ссылку сопоставления атрибутов.
- Прокрутите страницу сопоставления атрибутов вниз. Выберите "Показать дополнительные параметры " и щелкните список атрибутов "Изменить" для ссылки API .
- Прокрутите вниз до конца страницы "Изменить список атрибутов".
- Добавьте в список следующие два атрибута в виде расширений схемы SCIM. Вы можете использовать собственное пространство имен схемы SCIM.
urn:ietf:params:scim:schemas:extension:contoso:1.0:User:HireDate
urn:ietf:params:scim:schemas:extension:contoso:1.0:User:JobCode
- Сохранение изменений
Примечание.
Если вы хотите добавить в приложение подготовки только несколько дополнительных атрибутов, используйте Центр администрирования Microsoft Entra для расширения схемы. Если вы хотите добавить дополнительные настраиваемые атрибуты (предположим, 20+ атрибуты), рекомендуется использовать UpdateSchema
режим скрипта PowerShell CSV2SCIM, который автоматизирует приведенный выше процесс вручную.
Шаг 2. Сопоставление настраиваемых атрибутов
Теперь добавим эти расширения в сопоставление атрибутов приложения подготовки.
Щелкните ссылку "Добавить новое сопоставление" на странице сопоставления атрибутов.
Сопоставление атрибута
urn:ietf:params:scim:schemas:extension:contoso:1.0:User:HireDate
сemployeeHireDate
. Щелкните OK.
Затем выберите существующее сопоставление
title
и щелкните его, чтобы изменить сопоставление.Измените сопоставление атрибутов с выражением, которое будет включать
urn:ietf:params:scim:schemas:extension:contoso:1.0:User:JobCode
в себяjobTitle
атрибут Microsoft Entra.Join("", [title], "(", [urn:ietf:params:scim:schemas:extension:contoso:1.0:User:JobCode], ")")
В этом сопоставлении выражений, если
title
задано значение "Tour Lead" иJobCode
имеет значение TL-1001, атрибутjobTitle
Microsoft Entra будет иметь значение "Tour Lead (TL-1001)".Сохраните сопоставления атрибутов.
Шаг 3. Отправка массового запроса с пользовательскими атрибутами
- Откройте клиент API (Graph Explorer или cURL).
- Скопируйте массовый запрос с пользовательскими атрибутами.
- Отправьте массовый запрос в URL-адрес конечной точки API подготовки.
- Через некоторое время можно проверить журналы подготовки, чтобы проверить изменение атрибута.
- Вы также можете проверить изменение профиля пользователя Microsoft Entra. Значение для
Employee hire date
отражения часового пояса клиента.
Приложение
Массовый запрос с пользовательскими атрибутами
Массовый запрос включает настраиваемые атрибуты, настроенные на описанных выше шагах.
Текст запроса
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:BulkRequest"],
"Operations": [
{
"method": "POST",
"bulkId": "701984",
"path": "/Users",
"data": {
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User",
"urn:ietf:params:scim:schemas:extension:contoso:1.0:User"],
"externalId": "701984",
"userName": "bjensen@example.com",
"name": {
"formatted": "Ms. Barbara J Jensen, III",
"familyName": "Jensen",
"givenName": "Barbara",
"middleName": "Jane",
"honorificPrefix": "Ms.",
"honorificSuffix": "III"
},
"displayName": "Babs Jensen",
"nickName": "Babs",
"emails": [
{
"value": "bjensen@example.com",
"type": "work",
"primary": true
}
],
"addresses": [
{
"type": "work",
"streetAddress": "234300 Universal City Plaza",
"locality": "Hollywood",
"region": "CA",
"postalCode": "91608",
"country": "USA",
"formatted": "100 Universal City Plaza\nHollywood, CA 91608 USA",
"primary": true
}
],
"phoneNumbers": [
{
"value": "555-555-5555",
"type": "work"
}
],
"userType": "Employee",
"title": "Tour Guide",
"preferredLanguage": "en-US",
"locale": "en-US",
"timezone": "America/Los_Angeles",
"active":true,
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
"employeeNumber": "701984",
"costCenter": "4130",
"organization": "Universal Studios",
"division": "Theme Park",
"department": "Tour Operations",
"manager": {
"value": "89607",
"displayName": "John Smith"
}
},
"urn:ietf:params:scim:schemas:extension:contoso:1.0:User": {
"HireDate": "2021-05-01T00:00:00-05:00",
"JobCode": "TG-1001"
}
}
},
{
"method": "POST",
"bulkId": "701985",
"path": "/Users",
"data": {
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User",
"urn:ietf:params:scim:schemas:extension:contoso:1.0:User"],
"externalId": "701985",
"userName": "Kjensen@example.com",
"name": {
"formatted": "Ms. Kathy J Jensen, III",
"familyName": "Jensen",
"givenName": "Kathy",
"middleName": "Jane",
"honorificPrefix": "Ms.",
"honorificSuffix": "III"
},
"displayName": "Kathy Jensen",
"nickName": "Kathy",
"emails": [
{
"value": "kjensen@example.com",
"type": "work",
"primary": true
}
],
"addresses": [
{
"type": "work",
"streetAddress": "100 Oracle City Plaza",
"locality": "Hollywood",
"region": "CA",
"postalCode": "91618",
"country": "USA",
"formatted": "100 Oracle City Plaza\nHollywood, CA 91618 USA",
"primary": true
}
],
"phoneNumbers": [
{
"value": "555-555-5545",
"type": "work"
}
],
"userType": "Employee",
"title": "Tour Lead",
"preferredLanguage": "en-US",
"locale": "en-US",
"timezone": "America/Los_Angeles",
"active":true,
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
"employeeNumber": "701984",
"costCenter": "4130",
"organization": "Universal Studios",
"division": "Theme Park",
"department": "Tour Operations",
"manager": {
"value": "701984",
"displayName": "Barbara Jensen"
}
},
"urn:ietf:params:scim:schemas:extension:contoso:1.0:User": {
"HireDate": "2022-07-15T00:00:00-05:00",
"JobCode": "TL-1003"
}
}
}
],
"failOnErrors": null
}