Format de chaîne de descripteur de sécurité
Le format de chaîne de descripteur de sécurité est un format texte permettant de stocker ou de transporter des informations dans un descripteur de sécurité. Les fonctions ConvertSecurityDescriptorToStringSecurityDescriptor et convertstringsecuritydescriptortosecuritydescriptor a utilisent ce format.
Le format est une chaîne se terminant par un caractère 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 :).
Notes
Les entrées de contrôle d’accès (ACE) et les ACE conditionnelles ont des formats différents. Pour les ACE, consultez chaînes ACE. Pour les ACE conditionnelles, consultez langage de définition du descripteur de sécurité pour les ACE conditionnelles.
O:owner_sid
G:group_sid
D:dacl_flags(string_ace1)(string_ace2)... (string_acen)
S:sacl_flags(string_ace1)(string_ace2)... (string_acen)
-
sid du propriétaire _
-
Chaîne sid qui identifie le propriétaire de l’objet.
-
sid du groupe _
-
Chaîne SID qui identifie le groupe principal de l’objet.
-
_indicateurs DACL
-
Indicateurs de contrôle du descripteur de sécurité qui s’appliquent à la liste DACL. Pour obtenir une description de ces indicateurs de contrôle, consultez la fonction SetSecurityDescriptorControl . La _ chaîne d’indicateurs DACL peut être une concaténation de zéro ou plusieurs des chaînes suivantes.
Control Constante dans SDDL. h Signification P SDDL _ protégé l' _ indicateur de _ protection DACL SE est défini. AR _demande d' _ héritage _ automatique SDDL l' _ indicateur de _ demande d’héritage automatique DACL SE _ _ est défini. AI SDDL _ _ hérité automatiquement l' _ indicateur SE DACL _ AUTO _ INHERITED est défini. « AUCUN _ contrôle d’accès _ » ACL de la _ valeur SDDL null _ La liste de contrôle d’accès a la valeur null. Windows server 2008, Windows Vista et Windows server 2003 : Non disponible. -
_indicateurs SACL
-
Indicateurs de contrôle du descripteur de sécurité qui s’appliquent à la liste SACL. La _ chaîne d’indicateurs SACL utilise les mêmes chaînes de bits de contrôle que la _ chaîne d’indicateurs DACL.
-
chaîne _ ACE
-
Chaîne qui décrit une entrée du contrôle d’accès dans la liste DACL ou SACL du descripteur de sécurité. Pour obtenir une description du format de chaîne ACE, consultez chaînes ACE. Chaque chaîne ACE est placée entre parenthèses (()).
Les composants inutiles peuvent être omis de la chaîne de descripteur de sécurité. par exemple, si l' _ _ indicateur de présence SE DACL 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 des _ informations de sécurité 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 désigner une liste de contrôle d’accès vide, la chaîne de descripteur de sécurité comprend le jeton D : ou S : sans informations de chaîne supplémentaires.
La chaîne de descripteur de sécurité stocke les bits de contrôle de DEscripteur de sécurité de différentes façons. le SE _ DACL _ présent ou SE les éléments _ de la liste SACL _ présents 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 SACL sont stockés dans les _ indicateurs DACL et les _ indicateurs SACL. par défaut, le propriétaire de la SE _ _ , SE _ par défaut SE liste DACL par défaut, _ _ _ et SE _ _ bits par défaut de la SACL ne sont pas stockés dans une chaîne de descripteur de sécurité. le _ bit auto _ relatif SE n’est pas stocké dans la chaîne, mais convertstringsecuritydescriptortosecuritydescriptor a définit toujours ce bit dans le descripteur de sécurité de sortie.
Les exemples suivants montrent des chaînes de descripteur de sécurité et les informations contenues 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;bf967aba-0de6-11d0-a285-00aa003049e2;;AO)
(OA;;CCDC;bf967a9c-0de6-11d0-a285-00aa003049e2;;AO)
(OA;;CCDC;6da8a4ff-0e52-11d0-a286-00aa003049e2;;AO)
(OA;;CCDC;bf967aa8-0de6-11d0-a285-00aa003049e2;;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)