Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le format de chaîne du descripteur de sécurité est un format de texte permettant de stocker ou de transporter des informations dans un descripteur de sécurité. Les fonctions ConvertSecurityDescriptorToStringSecurityDescriptor et ConvertStringSecurityDescriptorToSecurityDescriptor utilisent ce format.
Le format est une chaîne terminée par null avec des jetons pour indiquer chacun des quatre composants principaux d’un descripteur de sécurité : propriétaire (O :), groupe principal (G :), DACL (D :) et SACL (S :).
Remarque
Les entrées de contrôle d’accès et les ACL conditionnelles ont des formats différents. Pour les ACL, consultez chaînes ACE. Pour connaître les AE conditionnelles, consultez langage de définition du descripteur de sécurité pour les AE conditionnelles.
Composants de format de chaîne de descripteur de sécurité
O:owner_sid
G:group_sid
D:dacl_flags(string_ace1)(string_ace2)... (string_acen)
S:sacl_flags(string_ace1)(string_ace2)... (string_acen)
-
owner_sid
-
Chaîne SID qui identifie le propriétaire de l’objet.
-
group_sid
-
Chaîne SID qui identifie le groupe principal de l’objet.
-
dacl_flags
-
Indicateurs de contrôle du descripteur de sécurité qui s’appliquent à la liste de contrôle d'accès discrétionnaire (DACL). Pour obtenir une description de ces indicateurs de contrôle, consultez la fonction SetSecurityDescriptorControl . La chaîne dacl_flags peut être une concaténation de zéro ou plusieurs des chaînes suivantes.
Contrôle Constante dans Sddl.h Sens « P » SDDL_PROTECTED L’indicateur SE_DACL_PROTECTED est défini. « AR » SDDL_AUTO_INHERIT_REQ L’indicateur SE_DACL_AUTO_INHERIT_REQ est défini. « IA » SDDL_AUTO_INHERITED L’indicateur SE_DACL_AUTO_INHERITED est défini. « PAS_DE_CONTRÔLE_D'ACCÈS » SDDL_NULL_ACL La liste de contrôle d’accès est nulle. Windows Server 2008, Windows Vista et Windows Server 2003 : Non disponible. -
sacl_flags
-
Indicateurs de contrôle de descripteur de sécurité qui s’appliquent à la liste de contrôle d’accès partagé. La chaîne sacl_flags utilise les mêmes chaînes de bits de contrôle que la chaîne dacl_flags.
-
string_ace
-
Chaîne qui décrit un ACE dans le DACL ou SACL du descripteur de sécurité. Pour obtenir une description du format de chaîne ACE, consultez les chaînes ACE. Chaque chaîne ACE est placée entre parenthèses (()).
Les composants inutiles peuvent être omis à partir de la chaîne de descripteur de sécurité. Par exemple, si l’indicateur SE_DACL_PRESENT n’est pas défini dans le descripteur de sécurité d’entrée, ConvertSecurityDescriptorToStringSecurityDescriptor n’inclut pas de composant D : dans la chaîne de sortie. Vous pouvez également utiliser les indicateurs de bits SECURITY_INFORMATION pour indiquer les composants à inclure dans une chaîne de descripteur de sécurité.
Le format de chaîne de descripteur de sécurité ne prend pas en charge les ACL NULL .
Pour indiquer une liste de contrôle d’accès vide, le descripteur de sécurité inclut le jeton D : ou S : sans informations supplémentaires.
La chaîne de descripteur de sécurité stocke les bits SECURITY DESCRIPTOR CONTROL de différentes façons. Les bits SE_DACL_PRESENT ou SE_SACL_PRESENT sont indiqués par la présence du jeton D : ou S : dans la chaîne. Les autres bits qui s’appliquent à la liste DACL ou à la liste SACL sont stockés dans dacl_flags et sacl_flags. Les bits SE_OWNER_DEFAULTED, SE_GROUP_DEFAULTED, SE_DACL_DEFAULTED et SE_SACL_DEFAULTED ne sont pas stockés dans une chaîne de descripteur de sécurité. Le bit SE_SELF_RELATIVE n’est pas stocké dans la chaîne, mais ConvertStringSecurityDescriptorToSecurityDescriptor définit toujours ce bit dans le descripteur de sécurité de sortie.
Exemples de chaînes de descripteur de sécurité
Les exemples suivants montrent les chaînes de descripteur de sécurité et les informations dans les descripteurs de sécurité associés.
Chaîne 1 :
"O:AOG:DAD:(A;;RPWPCCDCLCSWRCWDWOGA;;;S-1-0-0)"
Descripteur de sécurité 1 :
Revision: 0x00000001
Control: 0x0004
SE_DACL_PRESENT
Owner: (S-1-5-32-548)
PrimaryGroup: (S-1-5-21-397955417-626881126-188441444-512)
DACL
Revision: 0x02
Size: 0x001c
AceCount: 0x0001
Ace[00]
AceType: 0x00 (ACCESS_ALLOWED_ACE_TYPE)
AceSize: 0x0014
InheritFlags: 0x00
Access Mask: 0x100e003f
READ_CONTROL
WRITE_DAC
WRITE_OWNER
GENERIC_ALL
Others(0x0000003f)
Ace Sid : (S-1-0-0)
SACL
Not present
Chaîne 2 :
"O:DAG:DAD:(A;;RPWPCCDCLCRCWOWDSDSW;;;SY)
(A;;RPWPCCDCLCRCWOWDSDSW;;;DA)
(OA;;CCDC;aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb;;AO)
(OA;;CCDC;bbbbbbbb-1111-2222-3333-cccccccccccc;;AO)
(OA;;CCDC;cccccccc-2222-3333-4444-dddddddddddd;;AO)
(OA;;CCDC;dddddddd-3333-4444-5555-eeeeeeeeeeee;;PO)
(A;;RPLCRC;;;AU)S:(AU;SAFA;WDWOSDWPCCDCSW;;;WD)"
Descripteur de sécurité 2 :
Revision: 0x00000001
Control: 0x0014
SE_DACL_PRESENT
SE_SACL_PRESENT
Owner: (S-1-5-21-397955417-626881126-188441444-512)
PrimaryGroup: (S-1-5-21-397955417-626881126-188441444-512)
DACL
Revision: 0x04
Size: 0x0104
AceCount: 0x0007
Ace[00]
AceType: 0x00 (ACCESS_ALLOWED_ACE_TYPE)
AceSize: 0x0014
InheritFlags: 0x00
Access Mask: 0x000f003f
DELETE
READ_CONTROL
WRITE_DAC
WRITE_OWNER
Others(0x0000003f)
Ace Sid: (S-1-5-18)
Ace[01]
AceType: 0x00 (ACCESS_ALLOWED_ACE_TYPE)
AceSize: 0x0024
InheritFlags: 0x00
Access Mask: 0x000f003f
DELETE
READ_CONTROL
WRITE_DAC
WRITE_OWNER
Others(0x0000003f)
Ace Sid: (S-1-5-21-397955417-626881126-188441444-512)
Ace[02]
AceType: 0x05 (ACCESS_ALLOWED_OBJECT_ACE_TYPE)
AceSize: 0x002c
InheritFlags: 0x00
Access Mask: 0x00000003
Others(0x00000003)
Flags: 0x00000001, ACE_OBJECT_TYPE_PRESENT
ObjectType: GUID_C_USER
InhObjectType: GUID ptr is NULL
Ace Sid: (S-1-5-32-548)
Ace[03]
AceType: 0x05 (ACCESS_ALLOWED_OBJECT_ACE_TYPE)
AceSize: 0x002c
InheritFlags: 0x00
Access Mask: 0x00000003
Others(0x00000003)
Flags: 0x00000001, ACE_OBJECT_TYPE_PRESENT
ObjectType: GUID_C_GROUP
InhObjectType: GUID ptr is NULL
Ace Sid: (S-1-5-32-548)
Ace[04]
AceType: 0x05 (ACCESS_ALLOWED_OBJECT_ACE_TYPE)
AceSize: 0x002c
InheritFlags: 0x00
Access Mask: 0x00000003
Others(0x00000003)
Flags: 0x00000001, ACE_OBJECT_TYPE_PRESENT
ObjectType: GUID_C_LOCALGROUP
InhObjectType: GUID ptr is NULL
Ace Sid: (S-1-5-32-548)
Ace[05]
AceType: 0x05 (ACCESS_ALLOWED_OBJECT_ACE_TYPE)
AceSize: 0x002c
InheritFlags: 0x00
Access Mask: 0x00000003
Others(0x00000003)
Flags: 0x00000001, ACE_OBJECT_TYPE_PRESENT
ObjectType: GUID_C_PRINT_QUEUE
InhObjectType: GUID ptr is NULL
Ace Sid: (S-1-5-32-550)
Ace[06]
AceType: 0x00 (ACCESS_ALLOWED_ACE_TYPE)
AceSize: 0x0014
InheritFlags: 0x00
Access Mask: 0x00020014
READ_CONTROL
Others(0x00000014)
Ace Sid: (S-1-5-11)
SACL
Revision: 0x02
Size: 0x001c
AceCount: 0x0001
Ace[00]
AceType: 0x02 (SYSTEM_AUDIT_ACE_TYPE)
AceSize: 0x0014
InheritFlags: 0xc0
SUCCESSFUL_ACCESS_ACE_FLAG
FAILED_ACCESS_ACE_FLAG
Access Mask: 0x000d002b
DELETE
WRITE_DAC
WRITE_OWNER
Others(0x0000002b)
Ace Sid: (S-1-1-0)
Contenu connexe
langage de définition du descripteur de sécurité pour les AE conditionnelles