Compartir a través de


Recuperar sacl de un objeto

El descriptor de seguridad de un objeto en Servicios de dominio de Active Directory puede contener una lista de control de acceso (SACL) del sistema. Una SACL contiene entradas de control de acceso (ACE) que especifican los tipos de intentos de acceso que generan registros de auditoría en el registro de eventos de seguridad de un controlador de dominio. Tenga en cuenta que una SACL genera entradas de registro solo en el controlador de dominio donde se produjo el intento de acceso, no en cada controlador de dominio que contenga una réplica del objeto.

Para establecer u obtener el SACL desde un descriptor de seguridad de objetos, el privilegio SE_SECURITY_NAME debe estar habilitado en el token de acceso del subproceso solicitante. El grupo de administradores tiene este privilegio de forma predeterminada y se puede asignar a otros usuarios o grupos. Para obtener más información, consulte Derecho de acceso SACL.

Para obtener y establecer la SACL de un objeto de directorio, use la interfaz IADsSecurityDescriptor . Con C++, el método IADsSecurityDescriptor::get_SystemAcl devuelve un puntero IDispatch . Llame a QueryInterface en ese puntero IDispatch para obtener una interfaz IADsAccessControlList y use los métodos de esa interfaz para tener acceso a los ACE individuales en la SACL. Para obtener más información sobre el procedimiento para modificar una SACL, que es similar a la de modificar una DACL, vea Establecer derechos de acceso en un objeto.

Para enumerar los AAC en una SACL, use el método IADsAccessControlList::get__NewEnum , que devuelve un puntero IUnknown . Llame a QueryInterface en ese puntero IUnknown para obtener una interfaz IEnumVARIANT . Use el método IEnumVARIANT::Next para enumerar los ACL en la ACL. Cada ACE se devuelve como variant que contiene un puntero IDispatch ; Tenga en cuenta que el miembro vt está VT_DISPATCH. Llame a QueryInterface en ese puntero IDispatch para obtener una interfaz IADsAccessControlEntry para la ACE. Use los métodos de interfaz IADsAccessControlEntry para establecer o obtener los componentes de una ACE.

Para obtener más información sobre las SACL, consulte: