Sicherheitsdeskriptor-Zeichenfolgenformat

Das Sicherheitsbeschreibungszeichenfolgenformat ist ein Textformat zum Speichern oder Transport von Informationen in einem Sicherheitsdeskriptor. Die Funktionen ConvertSecurityDescriptorToStringSecurityDescriptor und ConvertStringSecurityDescriptorToSecurityDescriptor verwenden dieses Format.

Das Format ist eine mit NULL beendete Zeichenfolge mit Token, um jede der vier Hauptkomponenten eines Sicherheitsdeskriptors anzugeben: Besitzer (O:), primäre Gruppe (G:), DACL (D:) und SACL (S:).

Hinweis

Zugriffssteuerungseinträge (ACCESS Control Entries, ACEs) und bedingte ACEs haben unterschiedliche Formate. Informationen zu ACEs finden Sie unter ACE-Zeichenfolgen. Informationen zu bedingten ACEs finden Sie unter Sicherheitsbeschreibungsdefinitionssprache für bedingte ACEs.

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

Eine SID-Zeichenfolge, die den Besitzer des Objekts identifiziert.

group _ sid

Eine SID-Zeichenfolge, die die primäre Gruppe des Objekts identifiziert.

_dacl-Flags

Sicherheitsdeskriptor-Steuerungsflags, die für die DACL gelten. Eine Beschreibung dieser Steuerelementflags finden Sie in der SetSecurityDescriptorControl-Funktion. Die Dacl-Flagzeichenfolge kann eine Verkettung _ von 0 (null) oder mehr der folgenden Zeichenfolgen sein.

Control Konstante in Sddl.h Bedeutung
"P" SDDL _ PROTECTED Das SE _ DACL _ PROTECTED-Flag ist festgelegt.
"AR" SDDL _ AUTO _ INHERIT _ REQ Das SE _ DACL _ AUTO _ INHERIT _ REQ-Flag ist festgelegt.
"KI" SDDL _ AUTOMATISCH _ GEERBT Das SE _ DACL _ AUTO _ INHERITED-Flag ist festgelegt.
"KEINE _ _ ZUGRIFFSSTEUERUNG" SDDL _ _ NULL-ACL Die ACL ist NULL. Windows Server 2008, Windows Vista und Windows Server 2003: Nicht verfügbar.

_sacl-Flags

Sicherheitsdeskriptor-Steuerelementflags, die für die SACL gelten. Die _ Sacl-Flagzeichenfolge verwendet die gleichen Steuerbitzeichenfolgen wie die _ dacl-Flagzeichenfolge.

string _ ace

Eine Zeichenfolge, die einen ACE in der DACL oder SACL des Sicherheitsdeskriptors beschreibt. Eine Beschreibung des ACE-Zeichenfolgenformats finden Sie unter ACE-Zeichenfolgen. Jede ACE-Zeichenfolge ist in Klammern (()) eingeschlossen.

Nicht mehr verwendete Komponenten können in der Sicherheitsbeschreibungszeichenfolge weggelassen werden. Wenn das DACL PRESENT-Flag SE beispielsweise nicht im Eingabesicherheitsdeskriptor festgelegt ist, enthält _ _ ConvertSecurityDescriptorToStringSecurityDescriptor keine D:-Komponente in der Ausgabezeichenfolge. Sie können auch die SECURITY INFORMATION-Bitflags _ verwenden, um die Komponenten anzugeben, die in eine Sicherheitsbeschreibungszeichenfolge enthalten sein sollten.

Das Format der Sicherheitsbeschreibungszeichenfolge unterstützt keine NULL-ACLs.

Um eine leere ACL zu bezeichnen, enthält die Sicherheitsbeschreibungszeichenfolge das Token D: oder S: ohne zusätzliche Zeichenfolgeninformationen.

Die Sicherheitsbeschreibungszeichenfolge speichert die SECURITY DESCRIPTOR CONTROL-Bits auf unterschiedliche Weise. Die SE DACL PRESENT oder SE SACL PRESENT-Bits werden durch das Vorhandensein des Tokens D: oder _ _ _ _ S: in der Zeichenfolge angegeben. Andere Bits, die für die DACL oder SACL gelten, werden in _ Dacl-Flags und Sacl-Flags _ gespeichert. Die SE _ OWNER _ DEFAULTED, SE _ GROUP _ DEFAULTED, SE DACL DEFAULTED und SE SACL DEFAULTED werden nicht in einer _ _ _ _ Sicherheitsbeschreibungszeichenfolge gespeichert. Das SE SELF RELATIVE-Bit wird nicht in der Zeichenfolge _ _ gespeichert, convertStringSecurityDescriptorToSecurityDescriptor legt dieses Bit jedoch immer im Ausgabesicherheitsdeskriptor fest.

Die folgenden Beispiele zeigen Sicherheitsbeschreibungszeichenfolgen und die Informationen in den zugeordneten Sicherheitsbeschreibungen.

Zeichenfolge 1:

"O:AOG:DAD:(A;;RPWPCCDCLCSWRCWDWOGA;;;S-1-0-0)"

Sicherheitsbeschreibung 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

Zeichenfolge 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)"

Sicherheitsbeschreibung 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)

ACE-Zeichenfolgen

Definitionssprache für Sicherheitsbeschreibungen für bedingte ACEs