Изменение безопасности доступа к защищаемым объектам

Принтеры, службы, разделы реестра, приложения DCOM и пространства имен WMI являются защищаемыми объектами. Доступ к защищаемым объектам защищен дескрипторами безопасности, которые указывают пользователей, имеющих доступ. Начиная с Windows Vista, многие защищаемые объекты имеют методы для получения или настройки дескриптора безопасности. С соответствующими разрешениями можно считывать или изменять дескрипторы безопасности для защищаемых объектов. С помощью этих методов можно управлять тем, какие учетные записи пользователей или группы имеют доступ к принтеру, службе, пространству имен WMI или другому объекту. Дополнительные сведения об дескрипторов безопасности и их использовании в WMI см. в разделе Доступ к защищаемым объектам WMI.

В этой статье рассматриваются следующие разделы:

Объекты и методы дескриптора безопасности

В следующем списке содержатся методы, которые должны быть доступны защищаемым объектам для чтения или изменения дескриптора безопасности.

Примечание

Если новый список контроль доступа безопасности (SACL) не указан в вызове метода SetSecurityDescriptor, то для дескриптора безопасности для целевого защищаемого объекта устанавливается значение NULL, чтобы предыдущий параметр SACL не сохранялось.

 

Преобразование между форматами дескрипторов безопасности

Дескрипторы безопасности — это сложные двоичные массивы байтов, которые обычно необходимо создавать и изменять в C++. После использования одного из методов Get для получения дескриптора безопасности класс Win32_SecurityDescriptorHelper предоставляет методы, которые преобразуют дескрипторы безопасности в язык определения дескрипторов безопасности (SDDL) или в Win32_SecurityDescriptor экземпляры.

Вы можете легко управлять списками контроль доступа (ACL) в Win32_SecurityDescriptor экземплярах или в SDDL. Дополнительные сведения о структуре и использовании дескрипторов безопасности в WMI см. в разделе Объекты дескриптора безопасности WMI.

В C++ или C# используйте функции преобразования для преобразования двоичных дескрипторов безопасности в язык определения дескрипторов безопасности (SDDL). Чтобы изменить значения дескриптора безопасности в приложениях C++, используйте ConvertSecurityDescriptorToStringSecurityDescriptor и ConvertStringSecurityDescriptorToSecurityDescriptor.

Проблемы с безопасностью

Рекомендуется вносить изменения в дескрипторы безопасности с большой осторожностью, чтобы безопасность объекта не была скомпрометирована. Имейте в виду, что порядок записей управления доступом (ACE) в списке управления доступом на уровне пользователей (DACL) может повлиять на безопасность доступа. Дополнительные сведения см. в разделе Порядок ACE в DACL.

Объекты дескриптора безопасности WMI

Вспомогательный класс дескриптора безопасности

Рекомендации по обеспечению безопасности

Обеспечение безопасности WMI

Управление доступом

Доступ к пространствам имен WMI