Microsoft Entra Connect использует учетную запись Коннектора Microsoft Entra для проверки подлинности и синхронизации удостоверений из Active Directory в Microsoft Entra Connect. Эта учетная запись использует имя пользователя и пароль для проверки подлинности запросов.
Чтобы повысить безопасность службы, мы развертываем удостоверение приложения, использующее поток клиентских учетных данных Oauth 2.0 с подтверждением сертификата. В этом новом методе Microsoft Entra или администратор создает отдельное приложение, отличное от Майкрософт, в идентификаторе Microsoft Entra и использует один из следующих параметров управления сертификатами для учетных данных.
Microsoft Entra Connect предоставляет три варианта управления приложениями и сертификатами:
Замечание
Роль администратора приложений предоставляет возможность предоставить согласие на разрешения приложения, за исключением разрешений приложений для Azure AD Graph и Microsoft Graph. Это означает, что администратор приложения по-прежнему может дать согласие на разрешения для других приложений, в частности, внутренних приложений AWS и SSPR.
Эта роль также предоставляет возможность управления учетными данными приложения. Пользователь, назначенный этой роли, может добавлять учетные данные в приложение (в частности, синхронизация подключения) и использовать эти учетные данные для олицетворения удостоверения приложения. Это может быть повышение привилегий над тем, что пользователь может сделать с помощью назначений ролей.
Управление Microsoft Entra Connect (по умолчанию)
Microsoft Entra Connect управляет приложением и сертификатом, включая создание, смену и удаление сертификата. Сертификат хранится в CURRENT_USER хранилище. Для оптимальной защиты закрытого ключа сертификата рекомендуется использовать решение доверенного платформенного модуля (TPM) для установления аппаратной границы безопасности.
Когда TPM доступен, операции ключевой службы выполняются в выделенной аппаратной среде. В отличие от этого, если невозможно использовать TPM, Microsoft Entra Connect по умолчанию сохраняет сертификат в поставщике программного хранилища ключей Майкрософт и помечает личный ключ как неэкспортируемый для дополнительной защиты. Без аппаратной изоляции, предоставляемой TPM, только программное обеспечение защищает закрытый ключ, который не достигает того же уровня защиты.
Дополнительные сведения о технологии доверенного платформенного модуля см. в обзоре технологии доверенного платформенного модуля.
Мы рекомендуем параметр управления сертификатами Microsoft Entra Connect (по умолчанию), так как мы управляем ключами и автоматически поворачиваем сертификат по истечении срока действия. По умолчанию Microsoft Entra Connect создает сертификаты с 90-дневным временем существования.
Служба синхронизации Microsoft Entra Connect использует планировщик для проверки того, должен ли сертификат выполнять смену, а затем автоматически поворачивать сертификат. Если планировщик приостановлен, автоматическая смена сертификатов не может произойти, даже если Microsoft Entra Connect Sync управляет сертификатом.
Создание собственного сертификата
В настройке использования собственного сертификата (BYOC) администратор управляет сертификатными учетными данными, которые использует приложение. Администратор отвечает за создание сертификата, смены и удаления неиспользуемых или просроченных сертификатов. Сертификат должен храниться в LOCAL_MACHINE хранилище.
Администратор отвечает за защиту закрытого ключа сертификата и обеспечение доступа только к закрытому ключу синхронизации Microsoft Entra Connect для подписывания.
Мы рекомендуем использовать TPM или аппаратный модуль безопасности (HSM) для предоставления аппаратной границы безопасности, а не по умолчанию. Чтобы проверить состояние доверенного платформенного модуля, используйте командлет Get-TPM PowerShell.
При использовании Hyper-V виртуальных машин можно включить TPM, выбрав Безопасность>Включить доверенный платформенный модуль. Этот шаг можно выполнить только на виртуальных машинах поколения 2. Виртуальные машины поколения 1 нельзя преобразовать в виртуальные машины поколения 2. Дополнительные сведения см. в разделе "Параметры безопасности виртуальной машины поколения 2" для Hyper-V и включение доверенного запуска на существующих виртуальных машинах Azure 2-го поколения.
Создание собственного приложения
В настройке создания собственного приложения (BYOA) администратор управляет приложением, которое microsoft Entra Connect Sync использует для проверки подлинности в идентификаторе Microsoft Entra ID, разрешениях приложения и учетных данных сертификата, которые использует приложение.
Администратор регистрирует приложение Microsoft Entra и создает учетную запись службы. Приложению требуются необходимые разрешения для настройки команд Microsoft Graph PowerShell.
Замечание
Microsoft Entra Connect Sync версии 2.5.76.0 или более поздней версии требуется, чтобы выполнить следующие шаги для аутентификации в Microsoft Entra ID с помощью идентификации приложения.
Замечание
Для использования BYOA требуется собственный сертификат.
Предпосылки
Для реализации проверки подлинности с помощью удостоверения приложения необходимы следующие предварительные требования.
Для параметра управления сертификатами BYOA и BYOC требуются следующие дополнительные требования:
- Сертификат создается в HSM или TPM с помощью поставщика API криптографии нового поколения. Закрытый ключ помечается как не экспортируемый. Предупреждение 1014 выдается, если TPM не используется. Поддерживаются следующие конфигурации сертификатов:
-
KeyUsage: DigitalSignature
-
KeyLength: 2048
-
KeyAlgorithm:RSA
-
KeyHashAlgorithm: SHA256
- Созданный сертификат хранится в
LOCAL_MACHINE хранилище.
- Предоставьте учетной записи синхронизации Microsoft Entra Connect разрешение на подписывание с помощью закрытого ключа.
Для параметра управления приложениями BYOA требуются следующие дополнительные требования:
- Клиент создает сертификат, как описано в предыдущих предварительных требованиях BYOC.
- Клиент регистрирует приложение в Microsoft Entra ID и создает учетную запись службы. Необходимые разрешения предоставляются приложению.
- Клиент регистрирует сертификат в приложении.
Просмотр текущей конфигурации проверки подлинности
Чтобы просмотреть текущую конфигурацию проверки подлинности, запустите мастер и перейдите к задачам, а затем выберите "Просмотреть" или экспортировать текущую конфигурацию.
Если сервер настроен для использования проверки подлинности на основе приложений, вы сможете просмотреть идентификатор приложения (клиента), как показано на следующем снимке экрана.
Прокрутите вниз до сведений о сертификате. В следующей таблице приведены сведения о сертификате.
| Недвижимость |
Описание |
|
Сертификат управляется |
Управляет ли microsoft Entra Connect Sync или BYOC сертификатом |
|
Включено автоматическое вращение |
Включена ли автоматическая смена или поворот вручную |
|
Отпечаток сертификата |
Уникальный идентификатор сертификата |
|
Хэш сертификата SHA256 |
Отпечаток для сертификата, созданного с помощью алгоритма хэширования SHA-256 |
|
Имя субъекта |
Определяет сущность, связанную с сертификатом |
|
Выдано |
Кто является издателем сертификата |
|
Серийный номер |
Уникально идентифицирует сертификат среди сертификатов одним издателем. |
|
Недействительно до |
Первая дата, когда сертификат действителен |
|
Недействительно после |
Последняя дата, которую сертификат является допустимым |
Если сервер использует имя пользователя и пароль, вы сможете просмотреть имя учетной записи, как показано на следующем снимке экрана.
Установка и обновление (под управлением Microsoft Entra Connect)
Управляемое приложение синхронизации Microsoft Entra Connect и учетные данные автоматически настраиваются во время первоначальной установки или интерактивных обновлений вручную. Чтобы убедиться, что Microsoft Entra Connect использует удостоверение приложения, можно просмотреть текущую конфигурацию проверки подлинности.
Подключение к проверке подлинности на основе приложений
Автоматически
Начиная с версии 2.5.76.0 или более поздней, служба автоматически настраивает проверку подлинности приложения в течение шести часов, если служба использует имя пользователя и пароль для проверки подлинности в идентификаторе Microsoft Entra.
Руководство
Если проверка подлинности приложения не была настроена автоматически, можно перейти на проверку подлинности на основе приложений вручную.
Если вы хотите настроить проверку подлинности на основе приложений с помощью параметра по умолчанию (управляемое Microsoft Entra Connect), можно использовать мастер. Однако если вы хотите настроить проверку подлинности на основе приложений с помощью BYOC или BYOA, необходимо использовать PowerShell.
Запуск мастера Microsoft Entra Connect
Перейдите к дополнительным задачам>, чтобы настроить проверку подлинности на основе приложений на идентификатор Microsoft Entra ID , а затем следуйте инструкциям.
Замечание
Убедитесь, что вы находитесь на сервере Microsoft Entra Connect и что установлен модуль Microsoft Entra Connect Sync (ADSync) PowerShell.
Используйте текущее представление мастера настройки проверки подлинности , чтобы убедиться, что Microsoft Entra Connect использует удостоверение приложения или используйте команду PowerShell для проверки текущего метода проверки подлинности.
Get-ADSyncEntraConnectorCredential
Эта команда возвращает используемое ConnectorIdentityType значение. Значение может быть ServiceAccount или Application. Если проверка подлинности выполняется с использованием ServiceAccount, то выполните следующие действия, чтобы переключиться с ServiceAccount на Application. Если используется проверка подлинности с Application, тогда перейдите к шагам Изменения сертификата приложения на ваш собственный сертификат.
Переход с ServiceAccount на приложение
Запустите мастер Microsoft Entra Connect.
Перейдите к дополнительным задачам>, чтобы настроить проверку подлинности на основе приложений на идентификатор Microsoft Entra ID , а затем следуйте инструкциям.
Изменение сертификата приложения на собственный сертификат
Экспортируйте файл сертификата (.cer), чтобы отправить его в регистрацию приложения Microsoft Entra, используя один из следующих параметров:
Вариант 1. Использование консоли mmc для экспорта сертификата из хранилищ сертификатов Windows:
Откройте консоль управления сертификатами для локального компьютера, выполнив следующую команду. Некоторые методы выполнения этой команды находятся в меню "Пуск", командной строке Windows Run, PowerShell или командной строке.
certlm.msc
В дереве консоли перейдите к сертификату, который требуется экспортировать.
Щелкните правой кнопкой мыши сертификат, выберите "Все задачи" и выберите "Экспорт".
На экране выберите "Добро пожаловать в мастер экспорта сертификатов" и нажмите кнопку "Далее".
Если появится запрос на экспорт закрытого ключа, нажмите кнопку "Нет", не экспортируйте закрытый ключ, а затем нажмите кнопку "Далее".
В формате файла выберите двоичный файл X.509 в кодировке DER (.CER), а затем выберите Далее.
Введите или перейдите к пути к файлу, а затем нажмите кнопку "Далее".
Просмотрите сводку, а затем нажмите кнопку "Готово".
Вариант 2. Экспорт сертификата с помощью PowerShell:
$cerFile = "C:\Temp\MyBYOC.cer"
$cert = Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Subject -eq 'CN=YOUR_CERTIFICATE_SUBJECT'}
Export-Certificate -Cert $cert -FilePath $cerFile
В Центре администрирования Microsoft Entra перейдите к Entra IDрегистрации приложений и выберите приложение, созданное во время установки, настройки или обновления Connect Sync. Чтобы подтвердить, какое приложение используется службой Connect Sync, можно выполнить команду Get-ADSyncEntraConnectorCredential, чтобы получить идентификатор клиента приложения. Формат имени пользователя — {AppID}@tenantName.onmicrosoft.com. В разделе "Сертификаты и секреты" выберите "Отправить сертификат " и отправьте экспортируемый файл .cer и нажмите кнопку "Добавить".
Получение хэша сертификата с помощью следующих команд PowerShell
$cert = Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Subject -eq 'CN=YOUR_CERTIFICATE_SUBJECT'}
# Get raw data from X509Certificate cert
$certRawDataString = $cert.GetRawCertData()
# Compute SHA256Hash of certificate
$sha256 = [System.Security.Cryptography.SHA256]::Create()
$hashBytes = $sha256.ComputeHash($certRawDataString)
Если вы используете PowerShell версии 7, используйте следующую команду:
$certHash = [System.Convert]::ToHexString($hashBytes)
Если вы используете более старые версии PowerShell или isE PowerShell, используйте следующую команду:
$certHash = ($hashBytes|ForEach-Object ToString X2) -join ''
Предоставьте разрешения учетной записи службы синхронизации Connect (ADSync), чтобы получить закрытый ключ сертификата:
$rsaCert = [System.Security.Cryptography.X509Certificates.RSACertificateExtensions]::GetRSAPrivateKey($cert)
Если сертификат был выдан центром сертификации (ЦС), используйте следующую $path переменную:
$path = "$env:ALLUSERSPROFILE\Microsoft\Crypto\RSA\MachineKeys\$($rsaCert.key.UniqueName)"
Если вы используете самозаверяющий сертификат, используйте следующую $path переменную:
$path = "$env:ALLUSERSPROFILE\Microsoft\Crypto\Keys\$($rsaCert.key.UniqueName)"
Выполните следующие команды, чтобы предоставить разрешение:
$permissions = Get-Acl -Path $path
$serviceAccount = (Get-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\ADSync -Name ObjectName).ObjectName
$rule = New-Object Security.Accesscontrol.FileSystemAccessRule "$serviceAccount", "read", allow
$permissions.AddAccessRule($rule)
Set-Acl -Path $path -AclObject $permissions
# Verify permissions
$permissions = Get-Acl -Path $path
$permissions.Access
Отключение планировщика синхронизации
Set-ADSyncScheduler -SyncCycleEnabled $false
Импорт модуля ADSync
Если вы используете PowerShell версии 7, используйте следующую команду для импорта модуля ADSync:
Import-Module -Name "C:\Program Files\Microsoft Azure AD Sync\Bin\ADSync" -UseWindowsPowerShell
Если вы используете более старые версии PowerShell или isE PowerShell, используйте следующую команду для импорта модуля ADSync:
Import-Module -Name "C:\Program Files\Microsoft Azure AD Sync\Bin\ADSync"
Обновление сертификата приложения с помощью команды смены сертификатов
Invoke-ADSyncApplicationCredentialRotation -CertificateSHA256Hash $certHash
Используйте текущее представление мастера настройки проверки подлинности , чтобы убедиться, что Microsoft Entra Connect использует новый сертификат.
Включение планировщика синхронизации
Set-ADSyncScheduler -SyncCycleEnabled $true
Удалите учетную запись синхронизации каталогов (DSA) из идентификатора Microsoft Entra (рекомендуется).
Создание приложения с помощью PowerShell
Подключение к клиенту
Connect-MgGraph -scopes "Application.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"
Создание и инициализация приложения BYOA
$BYOApp = New-MgApplication -DisplayName "My BYOA For Connect Sync serverName"
Создание и инициализация имени представителя службы BYOA
$BYOA_ServicePrincipal = New-MgServicePrincipal -AppId $BYOApp.AppId
Инициализируйте переменные ConnectSyncAppId и ConnectSyncSPId
$ConnectSyncAppId = $BYOApp.AppId
$ConnectSyncSPId = $BYOA_ServicePrincipal.Id
Инициализировать SynchronizationServiceAppId переменную, представляющую идентификатор приложения (клиента) для службы синхронизации Microsoft Entra AD. Значение равно 6bf85cfa-ac8a-4be5-b5de-425a0d0dc016 для всех облаков:
$SynchronizationServiceAppId = "6bf85cfa-ac8a-4be5-b5de-425a0d0dc016"
Инициализация SynchronizationServiceSPId переменной:
$SynchronizationServiceSPId = (Get-MgServicePrincipal -Filter "appId eq '$SynchronizationServiceAppId'").Id
Инициализация SynchronizationServiceAppRoleId переменной:
$SynchronizationServiceAppRoleId = (Get-MgServicePrincipal -Filter "appId eq '$SynchronizationServiceAppId'").AppRoles | Where-Object {$_.Value -eq "ADSynchronization.ReadWrite.All"} | Select-Object -ExpandProperty Id
Замечание
Если вы используете функцию обратной записи паролей , выполните следующие действия, в противном случае можно перейти к шагу 11.
Инициализация PasswordResetServiceAppId переменной:
Для всех облаков , кроме Arlington, используйте:
$PasswordResetServiceAppId = "93625bc8-bfe2-437a-97e0-3d0060024faa"
Для использования облака Arlington :
$PasswordResetServiceAppId = "2e5ecfc8-ea79-48bd-8140-c19324acb278"
Инициализация PasswordResetServiceSPId переменной:
$PasswordResetServiceSPId = (Get-MgServicePrincipal -Filter "appId eq '$PasswordResetServiceAppId'").Id
Инициализировать переменные AppRoles для сброса пароля:
$PasswordResetServiceServiceOffboardClientAppRoleId = (Get-MgServicePrincipal -Filter "appId eq '$PasswordResetServiceAppId'").AppRoles | Where-Object {$_.Value -eq "PasswordWriteback.OffboardClient.All"} | Select-Object -ExpandProperty Id
$PasswordResetServiceServiceRegisterClientAppRoleId = (Get-MgServicePrincipal -Filter "appId eq '$PasswordResetServiceAppId'").AppRoles | Where-Object {$_.Value -eq "PasswordWriteback.RegisterClientVersion.All"} | Select-Object -ExpandProperty Id
$PasswordResetServiceServiceRefreshClientAppRoleId = (Get-MgServicePrincipal -Filter "appId eq '$PasswordResetServiceAppId'").AppRoles | Where-Object {$_.Value -eq "PasswordWriteback.RefreshClient.All"} | Select-Object -ExpandProperty Id
Инициализировать RequiredResourceAccess переменную, чтобы настроить необходимые разрешения для службы синхронизации Microsoft Entra AD и службы сброса паролей Майкрософт:
Если вы не используете обратную запись паролей, используйте:
$RequiredResourceAccess = @(
@{
ResourceAppId = $SynchronizationServiceAppId
ResourceAccess = @(
@{
Id = $SynchronizationServiceAppRoleId
Type = "Role"
}
)
}
)
Если вы используете обратную запись паролей, используйте:
$RequiredResourceAccess = @(
@{
ResourceAppId = $SynchronizationServiceAppId
ResourceAccess = @(
@{
Id = $SynchronizationServiceAppRoleId
Type = "Role"
}
)
},
@{
ResourceAppId = $PasswordResetServiceAppId
ResourceAccess = @(
@{
Id = $PasswordResetServiceServiceOffboardClientAppRoleId
Type = "Role"
},
@{
Id = $PasswordResetServiceServiceRegisterClientAppRoleId
Type = "Role"
},
@{
Id = $PasswordResetServiceServiceRefreshClientAppRoleId
Type = "Role"
}
)
}
)
Обновите приложение с необходимыми разрешениями:
Update-MgApplication -ApplicationId $BYOApp.Id -RequiredResourceAccess $RequiredResourceAccess
Создайте назначение роли приложения для службы синхронизации:
$SyncAppRoleAssignment = New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $BYOA_ServicePrincipal.Id -PrincipalId $BYOA_ServicePrincipal.Id -ResourceId $SynchronizationServiceSPId -AppRoleId $SynchronizationServiceAppRoleId
Замечание
Если вы используете функцию обратной записи паролей , выполните следующие действия, в противном случае можно перейти к шагу 15.
Создайте назначение роли приложения для функции обратной записи паролей:
$OffboardAppRoleAssignment = New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $BYOA_ServicePrincipal.Id -PrincipalId $BYOA_ServicePrincipal.Id -ResourceId $PasswordResetServiceSPId -AppRoleId $PasswordResetServiceServiceOffboardClientAppRoleId
$RegisterAppRoleAssignment = New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $BYOA_ServicePrincipal.Id -PrincipalId $BYOA_ServicePrincipal.Id -ResourceId $PasswordResetServiceSPId -AppRoleId $PasswordResetServiceServiceRegisterClientAppRoleId
$RefreshAppRoleAssignment = New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $BYOA_ServicePrincipal.Id -PrincipalId $BYOA_ServicePrincipal.Id -ResourceId $PasswordResetServiceSPId -AppRoleId $PasswordResetServiceServiceRefreshClientAppRoleId
Экспортируйте файл сертификата (.cer), чтобы отправить его в регистрацию приложения Microsoft Entra, используя один из следующих параметров:
Вариант 1. Использование консоли mmc для экспорта сертификата из хранилищ сертификатов Windows:
Откройте консоль управления сертификатами для локального компьютера, выполнив следующую команду. Некоторые методы выполнения этой команды находятся в меню "Пуск", командной строке Windows Run, PowerShell или командной строке.
certlm.msc
В дереве консоли перейдите к сертификату, который требуется экспортировать.
Щелкните правой кнопкой мыши сертификат, выберите "Все задачи" и выберите "Экспорт".
На экране "Добро пожаловать в мастер экспорта сертификатов " нажмите кнопку "Далее".
Если появится запрос на экспорт закрытого ключа, нажмите кнопку "Нет", не экспортируйте закрытый ключ, а затем нажмите кнопку "Далее".
В формате файла выберите двоичный файл X.509 в кодировке DER (.CER), а затем выберите Далее.
Введите или перейдите к пути к файлу, а затем нажмите кнопку "Далее".
Просмотрите сводку, а затем нажмите кнопку "Готово".
Вариант 2. Экспорт сертификата с помощью PowerShell:
$cerFile = "C:\Temp\MyBYOC.cer"
$cert = Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Subject -eq 'CN=YOUR_CERTIFICATE_SUBJECT'}
Export-Certificate -Cert $cert -FilePath $cerFile
В Центре администрирования Microsoft Entra перейдите в Entra ID>Регистрация приложений и выберите приложение, созданное на шаге 2. В разделе "Сертификаты и секреты" выберите " Отправить сертификат " и отправьте экспортируемый файл .cer и нажмите кнопку "Добавить".
Получите хэш сертификата с помощью следующих команд PowerShell:
$cert = Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Subject -eq 'CN=YOUR_CERTIFICATE_SUBJECT'}
# Get raw data from X509Certificate cert
$certRawDataString = $cert.GetRawCertData()
# Compute SHA256Hash of certificate
$sha256 = [System.Security.Cryptography.SHA256]::Create()
$hashBytes = $sha256.ComputeHash($certRawDataString)
Если вы используете PowerShell версии 7, используйте следующую команду:
$certHash = [System.Convert]::ToHexString($hashBytes)
Если вы используете более старые версии PowerShell или isE PowerShell, используйте следующую команду:
$certHash = ($hashBytes|ForEach-Object ToString X2) -join ''
Предоставьте разрешения учетной записи службы синхронизации Connect (ADSync), чтобы получить закрытый ключ сертификата:
$rsaCert = [System.Security.Cryptography.X509Certificates.RSACertificateExtensions]::GetRSAPrivateKey($cert)
Если сертификат был выдан центром сертификации (ЦС), используйте следующую $path переменную:
$path = "$env:ALLUSERSPROFILE\Microsoft\Crypto\RSA\MachineKeys\$($rsaCert.key.UniqueName)"
Если вы используете самозаверяющий сертификат, используйте следующую $path переменную:
$path = "$env:ALLUSERSPROFILE\Microsoft\Crypto\Keys\$($rsaCert.key.UniqueName)"
Выполните следующие команды, чтобы предоставить разрешение:
$permissions = Get-Acl -Path $path
$serviceAccount = (Get-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\ADSync -Name ObjectName).ObjectName
$rule = New-Object Security.Accesscontrol.FileSystemAccessRule "$serviceAccount", "read", allow
$permissions.AddAccessRule($rule)
Set-Acl -Path $path -AclObject $permissions
# Verify permissions
$permissions = Get-Acl -Path $path
$permissions.Access
Отключение планировщика синхронизации
Set-ADSyncScheduler -SyncCycleEnabled $false
Импорт модуля ADSync:
Если вы используете PowerShell версии 7, используйте следующую команду для импорта модуля ADSync:
Import-Module -Name "C:\Program Files\Microsoft Azure AD Sync\Bin\ADSync" -UseWindowsPowerShell
Переключитесь на использование нового приложения для проверки подлинности
Add-ADSyncApplicationRegistration -CertificateSHA256Hash $certHash –ApplicationAppId $ConnectSyncAppId
Используйте текущее представление мастера настройки проверки подлинности , чтобы убедиться, что Microsoft Entra Connect использует удостоверение приложения или используйте команду PowerShell для проверки текущего метода проверки подлинности.
Get-ADSyncEntraConnectorCredential
Включение планировщика синхронизации
Set-ADSyncScheduler -SyncCycleEnabled $true
Удалите учетную запись синхронизации каталогов (DSA) из идентификатора Microsoft Entra (рекомендуется).
Удаление устаревшей учетной записи службы
После перехода на проверку подлинности на основе приложений и синхронизация Microsoft Entra Connect работает должным образом, настоятельно рекомендуется удалить устаревшую учетную запись имени пользователя и службы паролей DSA с помощью PowerShell. Если вы используете пользовательскую учетную запись, которую нельзя удалить, лишите её привилегий и удалите роль DSA из неё.
Выполните следующие действия, чтобы удалить устаревшую учетную запись службы.
Добавьте имя пользователя и пароль учетной записи службы.
$HACredential = Get-Credential
Вам будет предложено ввести значение администратора UserPrincipalName Microsoft Entra и пароль. Введите имя пользователя и пароль.
Затем удалите учетную запись службы.
Remove-ADSyncAADServiceAccount -AADCredential $HACredential -Name <$serviceAccountName>
Значение ServiceAccountName является первой частью UserPrincipalName значения учетной записи службы, используемой в Microsoft Entra ID. Этот пользователь можно найти в списке пользователей в Центре администрирования Microsoft Entra. Если UPN Sync_Server_id@tenant.onmicrosoft.com, используйте Sync_Server_id в качестве значения ServiceAccountName.
Откат к устаревшей учетной записи службы с помощью PowerShell
Если вы хотите вернуться к устаревшей учетной записи службы, можно использовать PowerShell, чтобы вернуться к использованию учетной записи службы, чтобы быстро устранить проблему. Вернитесь к учетной записи службы, следуя этим шагам.
В рамках отката изменений мы восстанавливаем учетную запись DSA. Возможно, активация этой новой учетной записи потребует до 15 минут, поэтому, при повторном включении цикла синхронизации, может появиться ошибка "Отказано в доступе".
Отключите планировщик, чтобы убедиться, что циклы синхронизации не выполняются до завершения этого изменения.
Set-ADSyncScheduler -SyncCycleEnabled $false
Добавьте учетную запись службы. Вам будет предложено ввести значение администратора UserPrincipalName Microsoft Entra и пароль. Введите учетные данные.
Add-ADSyncAADServiceAccount
Получите текущий механизм проверки подлинности и подтвердите, что значение ConnectorIdentityType вернулось к ServiceAccount.
Get-ADSyncEntraConnectorCredential
Повторно запустите планировщик, чтобы начать службу синхронизации.
Set-ADSyncScheduler -SyncCycleEnabled $true
Ротация сертификатов
Microsoft Entra Connect предупреждает, если сертификат использовал 70% или более от своего возможного срока действия. Для 90-дневного сертификата это означает, что предупреждения начинаются примерно с 63 дня. Он выдает ошибку, если сертификат уже истек. Эти предупреждения (идентификатор события 1011) и ошибки (идентификатор события 1012) можно найти в журнале событий приложения.
Это сообщение создается на частоте планировщика, если планировщик не приостановлен. Запустите Get-ADSyncScheduler , чтобы узнать, приостановлен ли планировщик.
Автоматически
Если Microsoft Entra Connect управляет сертификатом, от вас не требуется никаких действий , если планировщик не приостановлен, Microsoft Entra Connect Sync добавляет новые учетные данные сертификата в приложение и пытается удалить старые учетные данные сертификата.
Если не удается удалить старые учетные данные сертификата, событие ошибки отображается в журналах приложения в средстве просмотра событий.
Если вы видите эту ошибку, выполните следующий командлет в PowerShell, чтобы очистить старые учетные данные сертификата с идентификатора Microsoft Entra. Командлет принимает CertificateId значение сертификата, которое необходимо удалить. Это значение можно получить из журнала или Центра администрирования Microsoft Entra.
Remove-EntraApplicationKey -CertificateId <certificateId>
Руководство
Если ваша конфигурация не имеет права на автоматическую смену сертификатов, вы можете повернуть сертификат в любой момент времени, даже если текущий сертификат по-прежнему не должен быть связан с поворотом или истек срок действия текущего сертификата.
- Запуск мастера Microsoft Entra Connect
- Перейдите к дополнительным задачам>Смена сертификата приложения , а затем следуйте инструкциям.
При получении предупреждения из Службы синхронизации Microsoft Entra Connect настоятельно рекомендуется создать новый ключ и сертификат и сменить сертификат , который использует служба синхронизации Microsoft Entra Connect.
Экспортируйте файл сертификата (.cer), чтобы отправить его в регистрацию приложения Microsoft Entra, используя один из следующих параметров:
Вариант 1. Использование консоли mmc для экспорта сертификата из хранилищ сертификатов Windows:
Откройте консоль управления сертификатами для локального компьютера, выполнив следующую команду. Некоторые методы выполнения этой команды находятся в меню "Пуск", командной строке Windows Run, PowerShell или командной строке.
certlm.msc
В дереве консоли перейдите к сертификату, который требуется экспортировать.
Щелкните правой кнопкой мыши сертификат, выберите "Все задачи" и выберите "Экспорт".
На экране "Добро пожаловать в мастер экспорта сертификатов" нажмите кнопку "Далее".
Если появится запрос на экспорт закрытого ключа, нажмите кнопку "Нет", не экспортируйте закрытый ключ, а затем нажмите кнопку "Далее".
В формате файла выберите двоичный файл X.509 в кодировке DER (.CER), а затем выберите Далее.
Введите или перейдите к пути к файлу, а затем нажмите кнопку "Далее".
Просмотрите сводку, а затем нажмите кнопку "Готово".
Вариант 2. Экспорт сертификата с помощью PowerShell:
$cerFile = "C:\Temp\MyBYOC.cer"
$cert = Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Subject -eq 'CN=YOUR_CERTIFICATE_SUBJECT'}
Export-Certificate -Cert $cert -FilePath $cerFile
В Центре администрирования Microsoft Entra перейдите к регистрации приложений и выберите приложение, созданное во время установки, настройки или обновления синхронизации подключения. Чтобы подтвердить, какое приложение используется службой Connect Sync, можно выполнить Get-ADSyncEntraConnectorCredential команду, чтобы получить идентификатор приложения (клиента). Формат имени пользователя — {AppID}@tenantName.onmicrosoft.com. В разделе "Сертификаты и секреты" выберите " Отправить сертификат " и отправьте экспортируемый файл .cer и нажмите кнопку "Добавить".
Получение хэша сертификата с помощью следующих команд PowerShell
$cert = Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Subject -eq 'CN=YOUR_CERTIFICATE_SUBJECT'}
# Get raw data from X509Certificate cert
$certRawDataString = $cert.GetRawCertData()
# Compute SHA256Hash of certificate
$sha256 = [System.Security.Cryptography.SHA256]::Create()
$hashBytes = $sha256.ComputeHash($certRawDataString)
Если вы используете PowerShell версии 7, используйте следующую команду:
$certHash = [System.Convert]::ToHexString($hashBytes)
Если вы используете более старые версии PowerShell или isE PowerShell, используйте следующую команду:
$certHash = ($hashBytes|ForEach-Object ToString X2) -join ''
Предоставьте разрешения учетной записи службы синхронизации Connect (ADSync), чтобы получить закрытый ключ сертификата:
$rsaCert = [System.Security.Cryptography.X509Certificates.RSACertificateExtensions]::GetRSAPrivateKey($cert)
Если сертификат был выдан центром сертификации (ЦС), используйте следующую $path переменную:
$path = "$env:ALLUSERSPROFILE\Microsoft\Crypto\RSA\MachineKeys\$($rsaCert.key.UniqueName)"
Если вы используете самозаверяющий сертификат, используйте следующую $path переменную:
$path = "$env:ALLUSERSPROFILE\Microsoft\Crypto\Keys\$($rsaCert.key.UniqueName)"
Выполните следующие команды, чтобы предоставить разрешение:
$permissions = Get-Acl -Path $path
$serviceAccount = (Get-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\ADSync -Name ObjectName).ObjectName
$rule = New-Object Security.Accesscontrol.FileSystemAccessRule "$serviceAccount", "read", allow
$permissions.AddAccessRule($rule)
Set-Acl -Path $path -AclObject $permissions
# Verify permissions
$permissions = Get-Acl -Path $path
$permissions.Access
Отключение планировщика синхронизации
Set-ADSyncScheduler -SyncCycleEnabled $false
Импорт модуля ADSync:
Если вы используете PowerShell версии 7, используйте следующую команду для импорта модуля ADSync:
Import-Module -Name "C:\Program Files\Microsoft Azure AD Sync\Bin\ADSync" -UseWindowsPowerShell
Если вы используете более старые версии PowerShell или isE PowerShell, используйте следующую команду для импорта модуля ADSync:
Import-Module -Name "C:\Program Files\Microsoft Azure AD Sync\Bin\ADSync"
Обновление сертификата приложения с помощью команды смены сертификатов
Invoke-ADSyncApplicationCredentialRotation -CertificateSHA256Hash $certHash
Используйте текущее представление мастера настройки проверки подлинности , чтобы убедиться, что Microsoft Entra Connect использует новый сертификат.
Включение планировщика синхронизации
Set-ADSyncScheduler -SyncCycleEnabled $true
Удалите старый сертификат из хранилища LOCAL_MACHINE.
При получении предупреждения из Службы синхронизации Microsoft Entra Connect настоятельно рекомендуется создать новый ключ и сертификат и сменить сертификат , который использует служба синхронизации Microsoft Entra Connect.
Экспортируйте файл сертификата (.cer), чтобы отправить его в регистрацию приложения Microsoft Entra, используя один из следующих вариантов:
Вариант 1. Использование консоли mmc для экспорта сертификата из хранилищ сертификатов Windows:
Откройте консоль управления сертификатами для локального компьютера, выполнив следующую команду. Некоторые методы выполнения этой команды находятся в меню "Пуск", командной строке Windows Run, PowerShell или командной строке.
certlm.msc
В дереве консоли перейдите к сертификату, который требуется экспортировать.
Щелкните правой кнопкой мыши сертификат, выберите "Все задачи" и выберите "Экспорт".
На экране "Добро пожаловать в мастер экспорта сертификатов" нажмите кнопку "Далее".
Если появится запрос на экспорт закрытого ключа, нажмите кнопку "Нет", не экспортируйте закрытый ключ, а затем нажмите кнопку "Далее".
В формате файла выберите двоичный файл X.509 в кодировке DER (.CER), а затем выберите Далее.
Введите или перейдите к пути к файлу, а затем нажмите кнопку "Далее".
Просмотрите сводку, а затем нажмите кнопку "Готово".
Вариант 2. Экспорт сертификата с помощью PowerShell:
$cerFile = "C:\Temp\MyBYOC.cer"
$cert = Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Subject -eq 'CN=YOUR_CERTIFICATE_SUBJECT'}
Export-Certificate -Cert $cert -FilePath $cerFile
В Центре администрирования Microsoft Entra перейдите к регистрации приложений и выберите приложение, созданное во время установки, настройки или обновления Connect Sync. Чтобы подтвердить, какое приложение используется службой Connect Sync, можно выполнить команду Get-ADSyncEntraConnectorCredential чтобы получить идентификатор приложения (клиента). Формат имени пользователя — {AppID}@tenantName.onmicrosoft.com. В разделе "Сертификаты и секреты" выберите " Отправить сертификат " и отправьте экспортируемый файл .cer и нажмите кнопку "Добавить".
Получение хэша сертификата с помощью следующих команд PowerShell
$cert = Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Subject -eq 'CN=YOUR_CERTIFICATE_SUBJECT'}
# Get raw data from X509Certificate cert
$certRawDataString = $cert.GetRawCertData()
# Compute SHA256Hash of certificate
$sha256 = [System.Security.Cryptography.SHA256]::Create()
$hashBytes = $sha256.ComputeHash($certRawDataString)
Если вы используете PowerShell версии 7, используйте следующую команду:
$certHash = [System.Convert]::ToHexString($hashBytes)
Если вы используете более старые версии PowerShell или isE PowerShell, используйте следующую команду:
$certHash = ($hashBytes|ForEach-Object ToString X2) -join ''
Предоставьте разрешения учетной записи службы синхронизации Connect (ADSync), чтобы получить закрытый ключ сертификата:
$rsaCert = [System.Security.Cryptography.X509Certificates.RSACertificateExtensions]::GetRSAPrivateKey($cert)
Если сертификат был выдан центром сертификации (ЦС), используйте следующую $path переменную:
$path = "$env:ALLUSERSPROFILE\Microsoft\Crypto\RSA\MachineKeys\$($rsaCert.key.UniqueName)"
Если вы используете самозаверяющий сертификат, используйте следующую $path переменную:
$path = "$env:ALLUSERSPROFILE\Microsoft\Crypto\Keys\$($rsaCert.key.UniqueName)"
Выполните следующие команды, чтобы предоставить разрешение:
$permissions = Get-Acl -Path $path
$serviceAccount = (Get-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\ADSync -Name ObjectName).ObjectName
$rule = New-Object Security.Accesscontrol.FileSystemAccessRule "$serviceAccount", "read", allow
$permissions.AddAccessRule($rule)
Set-Acl -Path $path -AclObject $permissions
# Verify permissions
$permissions = Get-Acl -Path $path
$permissions.Access
Отключение планировщика синхронизации
Set-ADSyncScheduler -SyncCycleEnabled $false
Импорт модуля ADSync:
Если вы используете PowerShell версии 7, используйте следующую команду для импорта модуля ADSync:
Import-Module -Name "C:\Program Files\Microsoft Azure AD Sync\Bin\ADSync" -UseWindowsPowerShell
Если вы используете более старые версии PowerShell или isE PowerShell, используйте следующую команду для импорта модуля ADSync:
Import-Module -Name "C:\Program Files\Microsoft Azure AD Sync\Bin\ADSync"
Обновление сертификата приложения с помощью команды смены сертификатов
Invoke-ADSyncApplicationCredentialRotation -CertificateSHA256Hash $certHash
Используйте текущее представление мастера настройки проверки подлинности , чтобы убедиться, что Microsoft Entra Connect использует новый сертификат.
Включение планировщика синхронизации
Set-ADSyncScheduler -SyncCycleEnabled $true
Удалите старый сертификат из хранилища LOCAL_MACHINE.
Процесс отзыва сертификатов
Для самоподписанных сертификатов Microsoft Entra Managed или BYOC администратор должен вручную выполнить отзыв, удалив значение keyCredential из Microsoft Entra ID. Сертификат можно обновить по запросу.
Для сертификатов BYOC, выданных центром сертификации, зарегистрированным в идентификаторе Microsoft Entra, администратор может следовать процессу отзыва сертификата.
Связанный контент