Поделиться через


Обновление synchronizationSchema

Пространство имен: microsoft.graph

Обновите схему синхронизации для заданного задания или шаблона. Этот метод полностью заменяет текущую схему той, что указана в запросе. Чтобы обновить схему шаблона, выполните вызов объекта приложения. Вы должны быть владельцем приложения.

Разрешения

Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.

Тип разрешения Разрешения с наименьшими привилегиями Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись) Synchronization.ReadWrite.All CustomSecAttributeProvisioning.ReadWrite.All
Делегированные (личная учетная запись Майкрософт) Не поддерживается. Не поддерживается.
Приложение Application.ReadWrite.OwnedBy CustomSecAttributeProvisioning.ReadWrite.All, Synchronization.ReadWrite.All

В делегированных сценариях с рабочими или учебными учетными записями вошедшего пользователя должен быть владельцем или членом группы либо ему должна быть назначена поддерживаемая роль Microsoft Entra или пользовательская роль с разрешением поддерживаемой роли. Для этой операции поддерживаются следующие роли с наименьшими привилегиями.

  • Администратор приложения
  • Администратор облачного приложения
  • Администратор гибридных удостоверений— настройка Microsoft Entra облачной синхронизации

HTTP-запрос

PUT /servicePrincipals/{id}/synchronization/jobs/{jobId}/schema
PUT /applications/{id}/synchronization/templates/{templateId}/schema

Заголовки запроса

Имя Тип Описание
Authorization string Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации.

Текст запроса

В тексте запроса укажите объект synchronizationSchema для замены существующей схемы на .

Отклик

В случае успешного 204 No Content выполнения возвращает код ответа. Он не возвращает ничего в теле ответа.

Примеры

Пример 1. Обновление схемы

Запрос

Ниже показан пример запроса.

Заметка: Объект запроса, показанный здесь, сокращается для удобства чтения. Укажите все свойства в фактическом вызове.

PUT https://graph.microsoft.com/v1.0/servicePrincipals/{id}/synchronization/jobs/{jobId}/schema
Content-type: application/json

{
    "directories": [
        {
            "name": "Azure Active Directory",
            "objects": [
                {
                    "name": "User",
                    "attributes": [
                        {
                            "name": "userPrincipalName",
                            "type": "string"
                        }
                    ]
                },
            ]
        },
        {
            "name": "Salesforce",
        }
    ],
    "synchronizationRules":[
        {
            "name": "USER_TO_USER",
            "sourceDirectoryName": "Azure Active Directory",
            "targetDirectoryName": "Salesforce",
            "objectMappings": [
                {
                    "sourceObjectName": "User",
                    "targetObjectName": "User",
                    "attributeMappings": [
                        {
                            "source": {},
                            "targetAttributeName": "userName"
                        },
                    ]
                },
            ]
        },
    ]
}

Отклик

Ниже показан пример отклика.

HTTP/1.1 204 No Content

Пример 2. Добавление атрибута CustomAttribute в схему целевой системы

Запрос

Ниже показан пример запроса. Предполагается, что атрибут CustomAttribute не существует в схеме целевого каталога. Если он существует, атрибут обновляется.

Заметка: Объект запроса, показанный здесь, сокращается для удобства чтения. Укажите все свойства в фактическом вызове.

PUT https://graph.microsoft.com/v1.0/servicePrincipals/{id}/synchronization/jobs/{jobId}/schema
Content-type: application/json

{
   "directories":[
      {
         "id":"09760868-cafb-47ac-9031-0a3262300427",
         "name":"customappsso",
         "objects":[
            {
               "name":"User",
               "attributes":[
                  {
                     "anchor":false,
                     "caseExact":false,
                     "defaultValue":null,
                     "flowNullValues":false,
                     "multivalued":false,
                     "mutability":"ReadWrite",
                     "name":"urn:ietf:params:scim:schemas:extension:CustomExtensionName:2.0:User:CustomAttribute",
                     "required":false,
                     "type":"String",
                     "apiExpressions":[],
                     "metadata":[],
                     "referencedObjects":[]
                  }
               ]
            }
         ]
      }
   ]
}

Отклик

Ниже показан пример отклика.

HTTP/1.1 204 No Content

Пример 3. Добавление нового сопоставления атрибутов в правила синхронизации

Запрос

Ниже показан пример запроса. SyncSchema имеет связь "один ко многим" между targetAttributeName и атрибутами источника . Если в схеме нет часового пояса в качестве целевого атрибута, служба добавляет новое сопоставление для extensionAttribute11 —> часового пояса. Если приложение имеет часовой пояс в качестве целевого атрибута в схеме, служба выдает ошибку, так как атрибут может быть сопоставлен как целевой только один раз. Кроме того, атрибут должен существовать в схеме, прежде чем его можно будет добавить в сопоставления.

Заметка: Объект запроса, показанный здесь, сокращается для удобства чтения. Укажите все свойства в фактическом вызове.

PUT https://graph.microsoft.com/v1.0/servicePrincipals/{id}/synchronization/jobs/{jobId}/schema
Content-type: application/json

{
   "@odata.type":"#microsoft.graph.synchronizationSchema",
   "synchronizationRules":[
      {
         "defaultValue":"",
         "exportMissingReferences":false,
         "flowBehavior":"FlowWhenChanged",
         "flowType":"Always",
         "matchingPriority":0,
         "source":{
            "expression":"[extensionAttribute11]",
            "name":"extensionAttribute11",
            "parameters":[],
            "type":"Attribute"
         },
         "targetAttributeName":"timezone"
      }
   ]
}

Отклик

Ниже приводится пример отклика.

HTTP/1.1 204 No Content