Расширение подготовки на основе 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 в приложение подготовки и используйте их в потоке данных подготовки.

  1. Войдите в Центр администрирования Microsoft Entra как минимум администратор приложений.
  2. Перейдите к приложениям Identity>Applications>Enterprise.
  3. Откройте приложение подготовки на основе API.
  4. Откройте колонку подготовки .
  5. Нажмите кнопку "Изменить подготовку ".
  6. Разверните раздел "Сопоставления" и щелкните ссылку сопоставления атрибутов.
    Снимок экрана: сопоставление атрибутов редактирования.
  7. Прокрутите страницу сопоставления атрибутов вниз. Выберите "Показать дополнительные параметры " и щелкните список атрибутов "Изменить" для ссылки API . Снимок экрана: изменение списка атрибутов API.
  8. Прокрутите вниз до конца страницы "Изменить список атрибутов".
  9. Добавьте в список следующие два атрибута в виде расширений схемы SCIM. Вы можете использовать собственное пространство имен схемы SCIM.
    urn:ietf:params:scim:schemas:extension:contoso:1.0:User:HireDate
    urn:ietf:params:scim:schemas:extension:contoso:1.0:User:JobCode
    Снимок экрана: добавление настраиваемых атрибутов.
  10. Сохранение изменений

Ескерім

Если вы хотите добавить в приложение подготовки только несколько дополнительных атрибутов, используйте Центр администрирования Microsoft Entra для расширения схемы. Если вы хотите добавить дополнительные настраиваемые атрибуты (предположим, 20+ атрибуты), рекомендуется использовать UpdateSchema режим скрипта PowerShell CSV2SCIM, который автоматизирует приведенный выше процесс вручную.

Шаг 2. Сопоставление настраиваемых атрибутов

Теперь добавим эти расширения в сопоставление атрибутов приложения подготовки.

  1. Щелкните ссылку "Добавить новое сопоставление" на странице сопоставления атрибутов. Снимок экрана: добавление нового сопоставления.

  2. Сопоставление атрибута urn:ietf:params:scim:schemas:extension:contoso:1.0:User:HireDate с employeeHireDate. Щелкните OK.
    Снимок экрана: сопоставление дат найма.

  3. Затем выберите существующее сопоставление title и щелкните его, чтобы изменить сопоставление.

  4. Измените сопоставление атрибутов с выражением, которое будет включать 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)".

  5. Сохраните сопоставления атрибутов.

Шаг 3. Отправка массового запроса с пользовательскими атрибутами

  1. Откройте клиент API (Graph Explorer или cURL).
  2. Скопируйте массовый запрос с пользовательскими атрибутами.
  3. Отправьте массовый запрос в URL-адрес конечной точки API подготовки.
    Снимок экрана: массовый запрос на отправку.
  4. Через некоторое время можно проверить журналы подготовки, чтобы проверить изменение атрибута.
    Снимок экрана: журналы подготовки.
  5. Вы также можете проверить изменение профиля пользователя 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
}

Следующие шаги