Функция DsInheritSecurityIdentityA (ntdsapi.h)
Функция DsInheritSecurityIdentity добавляет атрибуты objectSid и sidHistorySrcPrincipal в sidHistoryDstPrincipal , а затем удаляет SrcPrincipal в одной транзакции. Чтобы обеспечить атомарную операцию, SrcPrincipal и DstPrincipal должны находиться в одном домене, а hDS должны быть привязаны к контроллеру домена с правильными разрешениями в этом домене.
Синтаксис
NTDSAPI DWORD DsInheritSecurityIdentityA(
[in] HANDLE hDS,
[in] DWORD Flags,
[in] LPCSTR SrcPrincipal,
[in] LPCSTR DstPrincipal
);
Параметры
[in] hDS
Содержит дескриптор службы каталогов, полученный от функции DSBind или DSBindWithCred .
[in] Flags
Зарезервировано для последующего использования. Должен равняться нулю.
[in] SrcPrincipal
Указатель на строку, завершающуюся null, которая указывает имя субъекта безопасности (пользователя или группы) в исходном домене. Это имя является доменным именем SAM.
[in] DstPrincipal
Указатель на строку, завершающуюся значением NULL, которая указывает имя субъекта безопасности (пользователя или группы) в целевом домене. Это доменное имя SAM идентифицирует участника, атрибут sidHistory которого будет обновлен идентификатором безопасности SrcPrincipal.
Возвращаемое значение
Возвращает системный код ошибки или RPC, включая указанные ниже.
Комментарии
При обновлении операционной системы доменные приложения, охватывающие как обновленные, так и не обновленные домены, могут одновременно иметь субъекты безопасности внутри и за пределами леса для одной логической сущности.
Когда все обновленные домены присоединены к одному лесу, DsInheritSecurityIdentity устраняет повторяющиеся объекты, гарантируя, что оставшиеся объекты имеют все права безопасности и привилегии, принадлежащие их соответствующему удаленному объекту.
Реализация DsInheritSecurityIdentity :
- Проверяет, находятся ли SrcPrincipal и DstPrincipal в одном домене.
- Проверяет, доступен ли домен для записи в привязке к серверу.
- Проверяет, включен ли аудит для домена.
- Проверяет, является ли вызывающий объект членом администраторов домена для домена.
- Проверяет, находится ли домен в собственном режиме.
- Проверяет, существует ли SrcPrincipal , является ли он субъектом безопасности и считал его свойства objectSid и sidHistory .
- Проверяет, существует ли DstPrincipal , является ли он субъектом безопасности и имеет ли он чтение определенных свойств, необходимых для аудита и проверки.
- Удаляет SrcPrincipal в базе данных, только если вся операция зафиксирована по завершении. Эта операция завершается сбоем, если вызывающий объект не имеет прав на удаление или если у SrcPrincipal есть дочерние элементы.
- Сбой операции, если objectSidSrcPrincipal или DstPrincipal является хорошо известным идентификатором безопасности.
- Добавляет objectSid и sidHistory (если они присутствуют) SrcPrincipal в sidHistoryDstPrincipal.
- Принудительное выполнение события аудита и сбой операции в случае сбоя аудита.
- Вводит события в журнал службы каталогов. Не путайте это с журналом аудита безопасности.
Примечание
Заголовок ntdsapi.h определяет DsInheritSecurityIdentity в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista |
Минимальная версия сервера | Windows Server 2008 |
Целевая платформа | Windows |
Header | ntdsapi.h |
Библиотека | Ntdsapi.lib |
DLL | Ntdsapi.dll |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по