Clase CSacl
Esta clase es un contenedor de una estructura SACL (lista de control de acceso del sistema).
Importante
Esta clase y sus miembros no se pueden usar en las aplicaciones que se ejecutan en Windows Runtime.
Sintaxis
class CSacl : public CAcl
Miembros
Constructores públicos
Nombre | Descripción |
---|---|
CSacl::CSacl | Constructor . |
CSacl::~CSacl | El destructor . |
Métodos públicos
Nombre | Descripción |
---|---|
CSacl::AddAuditAce | Agrega una entrada de control de acceso (ACE) de auditoría al objeto CSacl . |
CSacl::GetAceCount | Devuelve el número de entradas de control de acceso (ACE) en el objeto CSacl . |
CSacl::RemoveAce | Quita una ACE específica (entrada de control de acceso) del objeto CSacl . |
CSacl::RemoveAllAces | Quita todas las ACE contenidas en el objeto CSacl . |
Operadores públicos
Nombre | Descripción |
---|---|
CSacl::operator = | Operador de asignación. |
Comentarios
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 todos los controladores de dominio que contengan una réplica del objeto.
Para establecer o recuperar la SACL en el descriptor de seguridad de un objeto, el privilegio SE_SECURITY_NAME debe estar habilitado en el token de acceso del subproceso solicitante. El grupo de administradores tiene este privilegio concedido de forma predeterminada y se puede conceder a otros usuarios o grupos. Tener el privilegio concedido no es lo único necesario: antes de que se pueda realizar la operación definida por el privilegio, el privilegio debe estar habilitado en el token de acceso de seguridad para que surta efecto. El modelo permite habilitar los privilegios solo para operaciones específicas del sistema y, después, se deshabilitan cuando ya no son necesarios. Consulte AtlGetSacl y AtlSetSacl para obtener ejemplos de habilitación de SE_SECURITY_NAME.
Use los métodos de clase proporcionados para agregar, quitar, crear y eliminar ACL del objeto SACL
. Consulte también AtlGetSacl y AtlSetSacl.
Para una introducción al modelo de control de acceso en Windows, consulte Control de acceso en Windows SDK.
Jerarquía de herencia
CSacl
Requisitos
Encabezado: atlsecurity.h
CSacl::AddAuditAce
Agrega una entrada de control de acceso (ACE) de auditoría al objeto CSacl
.
bool AddAuditAce(
const CSid& rSid,
ACCESS_MASK AccessMask,
bool bSuccess,
bool bFailure,
BYTE AceFlags = 0) throw(...);
bool AddAuditAce(
const CSid& rSid,
ACCESS_MASK AccessMask,
bool bSuccess,
bool bFailure,
BYTE AceFlags,
const GUID* pObjectType,
const GUID* pInheritedObjectType) throw(...);
Parámetros
rSid
Objeto CSid.
AccessMask
Especifica la máscara de derechos de acceso que se auditará para el objeto CSid
especificado.
bSuccess
Especifica si se van a auditar los intentos de acceso permitidos. Establezca esta marca en true para habilitar la auditoría; de lo contrario, establézcala en false.
bFailure
Especifica si se van a auditar los intentos de acceso denegado. Establezca esta marca en true para habilitar la auditoría; de lo contrario, establézcala en false.
AceFlags
Un conjunto de marcas de bits que controlan la herencia ACE.
pObjectType
El tipo de objeto.
pInheritedObjectType
Tipo de objeto heredado.
Valor devuelto
Devuelve TRUE si la ACE se agrega al objeto CSacl
y FALSE en caso de error.
Comentarios
Un objeto CSacl
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. Este método agrega este tipo de ACE al objeto CSacl
.
Consulte ACE_HEADER para obtener una descripción de las distintas marcas que se pueden establecer en el parámetro AceFlags.
CSacl::CSacl
Constructor .
CSacl() throw();
CSacl(const ACL& rhs) throw(...);
Parámetros
rhs
Estructura existente ACL
(lista de control de acceso).
Comentarios
El objeto CSacl
se puede crear opcionalmente mediante una estructura ACL
existente. Asegúrese de que este parámetro es una lista de control de acceso del sistema (SACL) y no una lista de control de acceso discrecional (DACL). En las compilaciones de depuración, si se proporciona una DACL, se producirá una aserción. En la versión de compilación, se omiten todas las entradas de una DACL.
CSacl::~CSacl
El destructor .
~CSacl() throw();
Comentarios
El destructor libera todos los recursos adquiridos por el objeto, incluidas todas las entradas de control de acceso (ACE).
CSacl::GetAceCount
Devuelve el número de entradas de control de acceso (ACE) en el objeto CSacl
.
UINT GetAceCount() const throw();
Valor devuelto
Devuelve el número de AE contenidos en el objeto CSacl
.
CSacl::operator =
Operador de asignación.
CSacl& operator=(const ACL& rhs) throw(...);
Parámetros
rhs
ACL
(lista de control de acceso) que se va a asignar al objeto existente.
Valor devuelto
Devuelve una referencia al objeto actualizado CSacl
. Asegúrese de que el parámetro ACL
es una lista de control de acceso del sistema (SACL) y no una lista de control de acceso discrecional (DACL). En las compilaciones de depuración se producirá una aserción y, en las compilaciones de versión, se omitirá el parámetro ACL
.
CSacl::RemoveAce
Quita una ACE específica (entrada de control de acceso) del objeto CSacl
.
void RemoveAce(UINT nIndex) throw();
Parámetros
nIndex
Índice a la entrada ACE que se va a quitar.
Comentarios
Este método deriva de CAtlArray::RemoveAt.
CSacl::RemoveAllAces
Quita todas las entradas de control de acceso (ACE) contenidas en el objeto CSacl
.
void RemoveAllAces() throw();
Comentarios
Quita todas las estructuras ACE
(si las hay) del objeto CSacl
.
Consulte también
CAcl (clase)
ACLs
ACE
Información general sobre la clase
Funciones globales de seguridad