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


Устранение ошибки из-за недостаточных прав доступа

Проблема

Предоставление входящих пользователей в Active Directory работает должным образом для большинства пользователей. Но для некоторых пользователей протоколы развертывания отображают следующую ошибку:

ERROR: InsufficientAccessRights-SecErr: The user has insufficient access rights.. Access is denied. \nError Details: Problem 4003 - INSUFF_ACCESS_RIGHTS. 
OR

ERROR: 
"Message":"The user has insufficient access rights.",
"ResponseResultCode":"InsufficientAccessRights",
"ResponseErrorMessage":"00002098: SecErr: DSID-03150F94, problem 4003 (INSUFF_ACCESS_RIGHTS), data 0",
The user has insufficient access rights.

В журналах подготовки отображается код ошибки: HybridSynchronizationActiveDirectoryInsufficientAccessRights

Причина

Учетная запись provAgentgMSA$ GMSA агента подготовки ресурсов по умолчанию имеет права на чтение и запись для всех объектов пользователей в домене. Существует две возможные причины, которые могут привести к ранее указанной ошибке.

  • Причина-1: Объект пользователя является частью организационной единицы, которая не наследует разрешения на уровне домена.
  • Причина-2. Объект пользователя принадлежит защищенной группе Active Directory. При проектировании пользовательские объекты управляются разрешениями, связанными с специальным контейнером AdminSDHolder. Это объясняет, почему provAgentgMSA$ учетная запись не может обновить эти учетные записи, принадлежащие защищенным группам Active Directory. Вы можете попытаться переопределить настройки и явно установить учетной записи provAgentgMSA$ доступ на запись к пользовательским учетным записям, но это всё равно не будет работать. Чтобы защитить привилегированные учетные записи пользователей от неправильного использования делегированных разрешений, существует фоновый процесс с именем SDProp , который выполняется каждые 60 минут и гарантирует, что пользователи, принадлежащие защищенной группе, всегда управляются разрешениями, определенными в контейнере AdminSDHolder . Даже подход добавления учетной записи provAgentgMSA$ в группу администраторов домена не сработает.

Резолюция

Сначала подтвердите, что вызывает проблему. Чтобы проверить, является ли причина-1 источником проблемы:

  1. Откройте консоль управления пользователями и компьютерами Active Directory.
  2. Выберите OU, связанный с пользователем.
  3. Щелкните правой кнопкой мыши и перейдите к свойствам —> безопасность —> Дополнительно. Если отображается кнопка "Включить наследование ", она подтверждает, что причина-1 является источником проблемы.
  4. Выберите "Включить наследование", чтобы разрешения на уровне домена применялись к этому подразделению.

    Замечание

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

Если причина-1 не является источником проблемы, то потенциально причина-2 является источником проблемы. Существует два возможных варианта разрешения.

Вариант 1. Удаление затронутого пользователя из защищенной группы AD Чтобы найти список пользователей, управляемых этим AdminSDHolder разрешением, Cx может вызвать следующую команду:

Get-AdObject -filter {AdminCount -gt 0}

Справочные статьи:

Вариант 1 может не всегда работать

Существует процесс, называемый процессом пропагирования дескриптора безопасности (SDPROP), который выполняется каждый час на контроллере домена, удерживающем роль эмулятора PDC FSMO. Этот процесс устанавливает атрибут AdminCount в 1. Основной функцией SDPROP является защита учетных записей Active Directory с высоким уровнем привилегий. Это гарантирует, что эти учетные записи не могут быть удалены или изменены их права ( случайно или намеренно) пользователями или процессами с меньшими привилегиями. Существует процесс, называемый процессом пропагирования дескриптора безопасности (SDPROP), который выполняется каждый час на контроллере домена, удерживающем роль эмулятора PDC FSMO. Этот процесс устанавливает атрибут AdminCount в 1. Основной функцией SDPROP является защита учетных записей Active Directory с высоким уровнем привилегий. Процесс SDPROP гарантирует, что учетные записи не могут быть удалены или иметь права случайно или намеренно изменены пользователями или процессами с меньшими привилегиями.

Справочные статьи, объясняющие причину подробно:

Вариант 2. Изменение разрешений по умолчанию контейнера AdminSDHolder

Если вариант 1 не подходит и не работает должным образом, попросите Cx проверить с администратором AD и администраторами безопасности, если они могут изменить разрешения AdminSDHolder по умолчанию контейнера. В этой статье объясняется важность AdminSDHolder контейнера. После получения внутреннего утверждения Cx для обновления AdminSDHolder разрешений контейнера существует два способа обновления разрешений.

  • Использование ADSIEdit , как описано в этой статье.
  • Использование DSACLS скрипта командной строки. Ниже приведен пример скрипта, который может использоваться в качестве отправной точки, и Cx может настроить его в соответствии с их требованиями.

$dcFQDN = "<FQDN Of The Nearest RWDC Of Domain>"
$domainDN = "<Domain Distinguished Name>"
$domainNBT = "<Domain NetBIOS Name>"
$dsaclsCMD = "DSACLS '\\$dcFQDN\CN=AdminSDHolder,CN=System,$domainDN' /G '$domainNBT\provAgentgMSA$:RPWP;<Attribute To Write To>'"
Invoke-
Expression $dsaclsCMD | Out-Null

Если Cx нуждается в дополнительной помощи по устранению неполадок с локальными разрешениями AD, обратитесь в службу поддержки Windows Server. В этой статье о проблемах AdminSDHolder с Microsoft Entra Connect содержатся дополнительные примеры использования DSACLS.

Вариант 3: Предоставить полный доступ учетной записи provAgentgMSA

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

В этом сценарии попросите Cx выполнить следующие действия и повторно выполнить операцию перемещения.

  1. Войдите в контроллер домена AD в качестве администратора.
  2. Откройте командную строку PowerShell с run правами администратора.
  3. В командной строке PowerShell выполните следующую команду DSACLS , которая предоставляет универсальный полный доступ к учетной записи агента подготовки GMSA. dsacls "dc=contoso,dc=com" /I:T /G "CN=provAgentgMSA,CN=Managed Service Accounts,DC=contoso,DC=com:GA"

Замените dc=contoso,dc=com вашим корневым узлом или соответствующим контейнером подразделения. Если вы используете пользовательский GMSA, обновите значение DN для provAgentgMSA.

Вариант 4. Пропустить учетную запись GMSA и использовать созданную вручную учетную запись службы Этот параметр следует использовать только в качестве временного обходного решения для разблокировки до тех пор, пока проблема с разрешениями GMSA не будет расследована и устранена. Наша рекомендация — использовать учетную запись GMSA. Вы можете задать параметр реестра, чтобы пропустить конфигурацию GMSA и перенастроить агент подготовки Microsoft Entra Connect, чтобы использовать созданную вручную учетную запись службы с правильными разрешениями.

Дальнейшие шаги