Compartir a través de


Identificadores de seguridad

Un identificador de seguridad (SID) es un valor único de longitud variable que se usa para identificar un administrador de . Cada cuenta tiene un SID único emitido por una autoridad, como un controlador de dominio de Windows, y almacenado en una base de datos de seguridad. Cada vez que un usuario inicia sesión, el sistema recupera el SID para ese usuario de la base de datos y lo coloca en el token de acceso para ese usuario. El sistema usa el SID en el token de acceso para identificar al usuario en todas las interacciones posteriores con la seguridad de Windows. Cuando se ha usado un SID como identificador único para un usuario o grupo, nunca se puede usar de nuevo para identificar a otro usuario o grupo.

La seguridad de Windows usa SID en los siguientes elementos de seguridad:

Además de los SID específicos del dominio creados de forma única asignados a usuarios y grupos específicos, hay SID conocidos que identifican grupos genéricos y usuarios genéricos. Por ejemplo, los SID conocidos, Todos y el Mundo, identifican un grupo que incluye a todos los usuarios.

La mayoría de las aplicaciones nunca necesitan trabajar con SID. Dado que los nombres de siD conocidos pueden variar, debe usar las funciones para compilar el SID a partir de constantes predefinidas en lugar de usar el nombre del SID conocido. Por ejemplo, la versión en inglés de Estados Unidos del sistema operativo Windows tiene un SID conocido denominado "BUILTIN\Administrators" que podría tener un nombre diferente en las versiones internacionales del sistema. Para obtener un ejemplo en el que se compila un SID conocido, vea Buscar un SID en un token de acceso en C++.

Si necesita trabajar con SID, no los manipule directamente. En su lugar, use las siguientes funciones.

Función Descripción
AllocateAndInitializeSid Asigna e inicializa un SID con el número especificado de subauthoridades.
ConvertSidToStringSid Convierte un SID en un formato de cadena adecuado para mostrar, almacenar o transportar.
convertStringSidToSid Convierte un SID de formato de cadena en un SID funcional válido.
CopySid Copia un SID de origen en un búfer.
equalPrefixSid Comprueba dos valores de prefijo de SID para obtener igualdad. Un prefijo SID es el SID completo, excepto para el último valor de subautenticación.
EqualSid Comprueba dos SID para obtener igualdad. Deben coincidir exactamente para que se consideren iguales.
FreeSid Libera un SID asignado previamente mediante la función AllocateAndInitializeSid.
GetLengthSid Recupera la longitud de un SID.
GetSidIdentifierAuthority Recupera un puntero a la entidad de identificador de un SID.
GetSidLengthRequired Recupera el tamaño del búfer necesario para almacenar un SID con un número especificado de subauthoridades.
GetSidSubAuthority Recupera un puntero a una subauthoridad especificada en un SID.
GetSidSubAuthorityCount Recupera el número de subauthoridades en un SID.
InicializeSid Inicializa una estructura deSID.
isValidSid Comprueba la validez de un SID comprobando que el número de revisión está dentro de un intervalo conocido y que el número de subauthoridades es menor que el máximo.
lookupAccountName Recupera el SID que corresponde a un nombre de cuenta especificado.
lookupAccountSid Recupera el nombre de cuenta que corresponde a un SID especificado.