Cambio de la seguridad de acceso en objetos protegibles
Las impresoras, los servicios, las claves del Registro, las aplicaciones DCOM y los espacios de nombres de WMI son objetos protegibles. El acceso a objetos protegibles está protegido por descriptores de seguridad, que especifican los usuarios que tienen acceso. A partir de Windows Vista, muchos objetos protegibles tienen métodos para obtener o establecer el descriptor de seguridad. Con los permisos adecuados, puede leer o cambiar los descriptores de seguridad en los objetos protegibles. Estos métodos permiten controlar qué cuentas de usuario o grupos tienen acceso a una impresora, servicio, espacio de nombres de WMI u otro objeto. Para más información sobre los descriptores de seguridad y su uso en WMI, consulte Acceso a objetos protegibles de WMI.
En este tema se describen las secciones siguientes:
- Objetos y métodos del descriptor de seguridad
- Conversión entre formatos del descriptor de seguridad
- Problemas de seguridad
- Temas relacionados
Objetos y métodos del descriptor de seguridad
La lista siguiente contiene los métodos que tienen los objetos protegibles para permitirle leer o cambiar el descriptor de seguridad:
Espacios de nombres de WMI
Un proveedor puede establecer una seguridad que solo permite que determinados grupos tengan acceso a los datos de un espacio de nombres de WMI. La seguridad del espacio de nombres se controla mediante métodos de la clase __SystemSecurity. A partir de Windows Vista, los métodos GetSecurityDescriptor y SetSecurityDescriptor devuelven y escriben objetos __SecurityDescriptor. Para más información, consulte Establecimiento de descriptores de seguridad del espacio de nombres.
Claves del Registro
A partir de Windows Vista, puede proteger las claves del Registro para que los usuarios no autorizados no puedan cambiarlas. La clase StdRegProv tiene los métodos GetSecurityDescriptor y SetSecurityDescriptor. Estos métodos devuelven y escriben objetos Win32_SecurityDescriptor.
Impresoras
A partir de Windows Vista, se puede proteger el acceso a instancias de la clase Win32_Printer mediante los métodos GetSecurityDescriptor y SetSecurityDescriptor. Estos métodos devuelven y escriben objetos Win32_SecurityDescriptor.
Servicios
A partir de Windows Vista, se puede proteger el acceso a instancias de la clase Win32_Service mediante los métodos GetSecurityDescriptor y SetSecurityDescriptor. Estos métodos devuelven y escriben objetos Win32_SecurityDescriptor.
Aplicaciones DCOM
Las instancias de aplicaciones DCOM tienen varios descriptores de seguridad. A partir de Windows Vista, use métodos de la clase Win32_DCOMApplicationSetting para obtener o cambiar los diversos descriptores de seguridad. Los descriptores de seguridad se devuelven como instancias de la clase Win32_SecurityDescriptor.
Para obtener o cambiar los permisos de configuración, llame a los métodos GetConfigurationSecurityDescriptor o SetConfigurationSecurityDescriptor.
Para obtener o cambiar los permisos de acceso, llame a los métodos GetAccessSecurityDescriptor o SetAccessSecurityDescriptor.
Para obtener o cambiar los permisos de inicio o activación, llame a los métodos GetLaunchSecurityDescriptor o SetLaunchSecurityDescriptor.
Archivos
Los métodos GetSecurityDescriptor y SetSecurityDescriptor se encuentran en la clase Win32_LogicalFileSecuritySetting, en lugar de en la clase CIM_DataFile.
Recursos compartidos
Los métodos GetSecurityDescriptor y SetSecurityDescriptor se encuentran en la clase Win32_LogicalShareSecuritySetting, en lugar de en la clase Win32_Share.
Nota
Cuando no se especifica una nueva lista de control de acceso de seguridad (SACL) en una llamada a un método SetSecurityDescriptor, el descriptor de seguridad SACL del objeto protegible de destino se establece en NULL, con el fin de que la configuración de SACL anterior no persista.
Conversión entre formatos de descriptores de seguridad
Los descriptores de seguridad son matrices de bytes binarias complejas que normalmente se deben crear y cambiar en C++. Después de haber usado uno de los métodos Get para obtener el descriptor de seguridad, la clase Win32_SecurityDescriptorHelper proporciona métodos que convierten descriptores de seguridad en el lenguaje de definición de descriptores de seguridad (SDDL) o en instancias de Win32_SecurityDescriptor.
Las listas de control de acceso (ACL) se pueden manipular con mayor facilidad en instancias de Win32_SecurityDescriptor o en SDDL. Para más información sobre la estructura y el uso de descriptores de seguridad en WMI, consulte Objetos de descriptor de seguridad de WMI.
En C++ o C#, use las funciones de conversión para convertir descriptores de seguridad binarios al lenguaje de definición de descriptores de seguridad (SDDL). Para modificar los valores de descriptor de seguridad en aplicaciones de C++, use ConvertSecurityDescriptorToStringSecurityDescriptor y ConvertStringSecurityDescriptorToSecurityDescriptor.
Problemas de seguridad
Se recomienda que los cambios en los descriptores de seguridad se realicen con mucha precaución para que la seguridad del objeto no se vea comprometida. Tenga en cuenta que en una lista de control de acceso discrecional (DACL) el orden de las entradas de control de acceso (ACE) puede afectar a la seguridad del acceso. Para más información, consulte Orden de las entradas de control de acceso en una lista de control de acceso discrecional.
Temas relacionados