Общие сведения о схеме Microsoft Entra
Объект в идентификаторе Microsoft Entra, как и любой каталог, является программным высокоуровневым конструктором данных, который представляет такие вещи, как пользователи, группы и контакты. При создании нового пользователя или контакта в идентификаторе Microsoft Entra создается новый экземпляр этого объекта. Эти экземпляры можно различать на основе их свойств.
Свойства в идентификаторе Microsoft Entra — это элементы, ответственные за хранение сведений об экземпляре объекта в идентификаторе Microsoft Entra.
Схема Microsoft Entra определяет правила, для которых свойства могут использоваться в записи, типы значений, которые могут иметь эти свойства, и способы взаимодействия пользователей с этими значениями.
Идентификатор Microsoft Entra имеет два типа свойств:
- Встроенные свойства: свойства, предопределенные схемой Microsoft Entra. Эти свойства предоставляют различные варианты использования и могут быть недоступны.
- Расширения каталогов: свойства, предоставляемые таким образом, чтобы можно было настроить идентификатор Microsoft Entra для собственного использования. Например, если вы расширили локальную службу Active Directory с определенным атрибутом и хотите запустить этот атрибут в потоке, можно использовать одно из предоставленных пользовательских свойств.
Каждая конфигурация облачной синхронизации включает схему синхронизации. Эта схема синхронизации определяет, какие объекты будут синхронизированы и как они синхронизируются.
Атрибуты и выражения
Когда объект, например пользователь, подготавливается к идентификатору Microsoft Entra, создается новый экземпляр объекта пользователя. Этот процесс создания включает свойства данного объекта, которые также называются атрибутами. Изначально созданный объект имеет атрибуты, для которых заданы значения, определяемые правилами синхронизации. Эти атрибуты затем сохраняются в актуальном состоянии с помощью агента подготовки облака.
Например, пользователь может работать в отделе маркетинга (Marketing). Изначально атрибут отдела Microsoft Entra создается при подготовке, а значение имеет значение Marketing. Если через шесть месяцев значение будет изменено на Sales (продажи), то для атрибута отдела локальной службы Active Directory будет задано значение Sales. Это изменение синхронизируется с идентификатором Microsoft Entra и отражается в объекте пользователя Microsoft Entra.
Синхронизация атрибутов может быть прямой, где значение в идентификаторе Microsoft Entra id напрямую задано для значения локального атрибута. Для синхронизации также может использоваться программное выражение. Программное выражение требуется в тех случаях, когда для заполнения значения требуется некоторая логика или определение.
Например, если у вас имелся атрибут mail "[email protected]" и нужно было удалить часть "@contoso.com", а также передать только значение "john.smith", следует использовать примерно следующую команду:
Replace([mail], "@contoso.com", , ,"", ,)
Пример ввода и вывода:
- Входные данные (mail): "[email protected]"
- Выходные данные: "john.smith"
Дополнительные сведения о написании пользовательских выражений и синтаксисе см. в разделе "Написание выражений для сопоставлений атрибутов" в идентификаторе Microsoft Entra ID.
В следующей таблице перечислены общие атрибуты и их синхронизация с идентификатором Microsoft Entra.
Локальный каталог Active Directory | Тип сопоставления | Microsoft Entra ID |
---|---|---|
cn | Напрямую | commonName |
countryCode | Напрямую | countryCode |
displayName | Напрямую | displayName |
givenName | Expression | givenName |
objectGUID | Напрямую | sourceAnchorBinary |
userPrincipalName | Напрямую | userPrincipalName |
proxyAddress | Напрямую | ProxyAddress |
Просмотр схемы синхронизации
Предупреждение
Конфигурация облачной синхронизации создает субъект-службу. Субъект-служба отображается в Центре администрирования Microsoft Entra. Сопоставления атрибутов не следует изменять с помощью интерфейса субъекта-службы в Центре администрирования Microsoft Entra. Такой способ связывания не поддерживается.
Чтобы просмотреть схему синхронизации конфигурации облачной синхронизации и проверить ее, выполните следующие действия.
Перейдите к песочнице Graph.
Войдите с помощью учетной записи глобального администратора.
В левой части экрана выберите Изменить разрешения и убедитесь, что для параметра Directory.ReadWrite.All задано значение Consented.
Выполните запрос
https://graph.microsoft.com/beta/serviceprincipals/?$filter=startswith(DisplayName, ‘{sync config name}’)
. Этот запрос возвращает отфильтрованный список субъектов-служб. Это также можно получить с помощью узла регистрации приложений в идентификаторе Microsoft Entra.Найдите
"appDisplayName": "Active Directory to Azure Active Directory Provisioning"
и обратите внимание на значение параметра"id"
."value": [ { "id": "00d41b14-7958-45ad-9d75-d52fa29e02a1", "deletedDateTime": null, "accountEnabled": true, "appDisplayName": "Active Directory to Azure Active Directory Provisioning", "appId": "00001111-aaaa-2222-bbbb-3333cccc4444", "applicationTemplateId": null, "appOwnerOrganizationId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee", "appRoleAssignmentRequired": false, "displayName": "Active Directory to Azure Active Directory Provisioning", "errorUrl": null, "homepage": "https://account.activedirectory.windowsazure.com:444/applications/default.aspx?metadata=AD2AADProvisioning|ISV9.1|primary|z", "loginUrl": null, "logoutUrl": null, "notificationEmailAddresses": [], "preferredSingleSignOnMode": null, "preferredTokenSigningKeyEndDateTime": null, "preferredTokenSigningKeyThumbprint": null, "publisherName": "Active Directory Application Registry", "replyUrls": [], "samlMetadataUrl": null, "samlSingleSignOnSettings": null, "servicePrincipalNames": [ "http://adapplicationregistry.onmicrosoft.com/adprovisioningtoaad/primary", "1a4721b3-e57f-4451-ae87-ef078703ec94" ], "signInAudience": "AzureADMultipleOrgs", "tags": [ "WindowsAzureActiveDirectoryIntegratedApp" ], "addIns": [], "api": { "resourceSpecificApplicationPermissions": [] }, "appRoles": [ { "allowedMemberTypes": [ "User" ], "description": "msiam_access", "displayName": "msiam_access", "id": "a0326856-1f51-4311-8ae7-a034d168eedf", "isEnabled": true, "origin": "Application", "value": null } ], "info": { "termsOfServiceUrl": null, "supportUrl": null, "privacyStatementUrl": null, "marketingUrl": null, "logoUrl": null }, "keyCredentials": [], "publishedPermissionScopes": [ { "adminConsentDescription": "Allow the application to access Active Directory to Azure Active Directory Provisioning on behalf of the signed-in user.", "adminConsentDisplayName": "Access Active Directory to Azure Active Directory Provisioning", "id": "d40ed463-646c-4efe-bb3e-3fa7d0006688", "isEnabled": true, "type": "User", "userConsentDescription": "Allow the application to access Active Directory to Azure Active Directory Provisioning on your behalf.", "userConsentDisplayName": "Access Active Directory to Azure Active Directory Provisioning", "value": "user_impersonation" } ], "passwordCredentials": [] },
Замените
{Service Principal id}
на свое значение и выполните запросhttps://graph.microsoft.com/beta/serviceprincipals/{Service Principal id}/synchronization/jobs/
.Найдите
"id": "AD2AADProvisioning.fd1c9b9e8077402c8bc03a7186c8f976"
и обратите внимание на значение параметра"id"
.{ "id": "AD2AADProvisioning.fd1c9b9e8077402c8bc03a7186c8f976", "templateId": "AD2AADProvisioning", "schedule": { "expiration": null, "interval": "PT2M", "state": "Active" }, "status": { "countSuccessiveCompleteFailures": 0, "escrowsPruned": false, "code": "Active", "lastSuccessfulExecutionWithExports": null, "quarantine": null, "steadyStateFirstAchievedTime": "2019-11-08T15:48:05.7360238Z", "steadyStateLastAchievedTime": "2019-11-20T16:17:24.7957721Z", "troubleshootingUrl": "", "lastExecution": { "activityIdentifier": "2dea06a7-2960-420d-931e-f6c807ebda24", "countEntitled": 0, "countEntitledForProvisioning": 0, "countEscrowed": 15, "countEscrowedRaw": 15, "countExported": 0, "countExports": 0, "countImported": 0, "countImportedDeltas": 0, "countImportedReferenceDeltas": 0, "state": "Succeeded", "error": null, "timeBegan": "2019-11-20T16:15:21.116098Z", "timeEnded": "2019-11-20T16:17:24.7488681Z" }, "lastSuccessfulExecution": { "activityIdentifier": null, "countEntitled": 0, "countEntitledForProvisioning": 0, "countEscrowed": 0, "countEscrowedRaw": 0, "countExported": 5, "countExports": 0, "countImported": 0, "countImportedDeltas": 0, "countImportedReferenceDeltas": 0, "state": "Succeeded", "error": null, "timeBegan": "0001-01-01T00:00:00Z", "timeEnded": "2019-11-20T14:09:46.8855027Z" }, "progress": [], "synchronizedEntryCountByType": [ { "key": "group to Group", "value": 33 }, { "key": "user to User", "value": 3 } ] }, "synchronizationJobSettings": [ { "name": "Domain", "value": "{\"DomainFQDN\":\"contoso.com\",\"DomainNetBios\":\"CONTOSO\",\"ForestFQDN\":\"contoso.com\",\"ForestNetBios\":\"CONTOSO\"}" }, { "name": "DomainFQDN", "value": "contoso.com" }, { "name": "DomainNetBios", "value": "CONTOSO" }, { "name": "ForestFQDN", "value": "contoso.com" }, { "name": "ForestNetBios", "value": "CONTOSO" }, { "name": "QuarantineTooManyDeletesThreshold", "value": "500" } ] }
Теперь выполните запрос
https://graph.microsoft.com/beta/serviceprincipals/{Service Principal Id}/synchronization/jobs/{AD2AAD Provisioning id}/schema
.Замените
{Service Principal Id}
и{AD2ADD Provisioning Id}
собственными значениями.