Compartir a través de


Descriptores de seguridad absolutos y Self-Relative

Un descriptor de seguridad puede tener un formato absoluto o relativo . En formato absoluto, un descriptor de seguridad contiene punteros a su información, no a la propia información. En formato auto relativo, un descriptor de seguridad almacena una estructura de SECURITY_DESCRIPTOR y la información de seguridad asociada en un bloque contiguo de memoria. Para determinar si un descriptor de seguridad es auto relativo o absoluto, llame a la función GetSecurityDescriptorControl y compruebe la marca SE_SELF_RELATIVE del parámetro SECURITY_DESCRIPTOR_CONTROL . Puede usar las funciones MakeSelfRelativeSD y MakeAbsoluteSD para convertir entre estos dos formatos.

El formato absoluto es útil cuando se crea un descriptor de seguridad y se tienen punteros a todos los componentes, por ejemplo, cuando la configuración predeterminada para el propietario, el grupo y la ACL discrecional están disponibles. En este caso, puede llamar a la función InitializeSecurityDescriptor para inicializar una estructura de SECURITY_DESCRIPTOR y, a continuación, llamar a funciones como SetSecurityDescriptorDacl para asignar punteros ACL y SID al descriptor de seguridad.

En formato auto relativo, un descriptor de seguridad siempre comienza con una estructura de SECURITY_DESCRIPTOR , pero los demás componentes del descriptor de seguridad pueden seguir la estructura en cualquier orden. En lugar de usar direcciones de memoria, los componentes del descriptor de seguridad se identifican mediante desplazamientos desde el principio del descriptor. Este formato es útil cuando un descriptor de seguridad debe almacenarse en disco, transmitirse mediante un protocolo de comunicaciones o copiarse en la memoria.

A excepción de MakeAbsoluteSD, todas las funciones que devuelven un descriptor de seguridad lo hacen mediante el formato auto relativo. Los descriptores de seguridad pasados como argumentos a una función pueden ser de forma auto relativa o absoluta. Para obtener más información, consulte la documentación de la función .