| Предыдущий | Следующий |
| ERROR_DS_NOT_AN_OBJECT | ERROR_DS_SEC_DESC_INVALID |
ERROR_DS_SEC_DESC_TOO_SHORT
Дескриптор безопасности структурно усечён
Active Directory хранит nTSecurityDescriptor в формате Windows SECURITY_DESCRIPTOR. Для передачи и хранения в каталоге самодостаточный дескриптор содержит заголовок со смещениями к данным владельца, группы, SACL и DACL. Слишком короткий буфер не может содержать обязательную структуру или данные по этим смещениям, поэтому каталог отклоняет его до оценки обычной семантики разрешений.
Проверьте, как клиент получил и сериализовал дескриптор. Не рассматривайте двоичные дескрипторы безопасности как строки с нулевым завершением и не копируйте только фиксированный заголовок. Если библиотека LDAP возвращает строку октетов, сохраните точную длину в байтах. Для построения дескриптора из SDDL используйте API безопасности Windows, формирующие корректное самодостаточное представление.
Что проверить
- Зафиксируйте точную длину в байтах, отправленную для nTSecurityDescriptor.
- Проверьте заголовок SECURITY_DESCRIPTOR и управляющий бит самодостаточности.
- Используйте API безопасности для сериализации вместо ручного построения смещений.
Ссылки
- MS-DTYP: двоичный формат SECURITY_DESCRIPTOR
- MS-ADTS: требования к дескриптору безопасности
- MS-ADTS: ограничения операций Add Active Directory
Нужно найти другой код? Найти другой код состояния или ошибки.