Abrufen der SACL eines Objekts
Die Sicherheitsbeschreibung eines Objekts in Active Directory Domain Services kann eine Systemzugriffssteuerungsliste (SACL) enthalten. Eine SACL enthält Zugriffssteuerungseinträge (Access Control Entries, ACEs), die die Typen von Zugriffsversuchen angeben, die Überwachungsdatensätze im Sicherheitsereignisprotokoll eines Domänencontrollers generieren. Beachten Sie, dass eine SACL Protokolleinträge nur auf dem Domänencontroller generiert, auf dem der Zugriffsversuch aufgetreten ist, nicht auf jedem Domänencontroller, der ein Replikat des Objekts enthält.
Zum Festlegen oder Abrufen der SACL aus einem Objektsicherheitsdeskriptor muss die SE _ SECURITY _ NAME-Berechtigung im Zugriffstoken des anfordernden Threads aktiviert sein. Die Administratorengruppe verfügt standardmäßig über diese Berechtigung und kann anderen Benutzern oder Gruppen zugewiesen werden. Weitere Informationen finden Sie unter SACL-Zugriffsrecht.
Verwenden Sie die IADsSecurityDescriptor-Schnittstelle, um die SACL eines Verzeichnisobjekts abzurufen und festzulegen. Mit C++ gibt die IADsSecurityDescriptor::get _ SystemAcl-Methode einen IDispatch-Zeiger zurück. Rufen Sie QueryInterface für diesen IDispatch-Zeiger auf, um eine IADsAccessControlList-Schnittstelle abzurufen, und verwenden Sie die Methoden auf dieser Schnittstelle, um auf die einzelnen ACEs in der SACL zuzugreifen. Weitere Informationen zum Verfahren zum Ändern einer SACL, die dem Verfahren zum Ändern einer DACL ähnelt, finden Sie unter Festlegen von Zugriffsrechten für ein Objekt.
Um die ACEs in einer SACL aufzulisten, verwenden Sie die IADsAccessControlList::get _ _ NewEnum-Methode, die einen IUnknown-Zeiger zurückgibt. Rufen Sie QueryInterface für diesen IUnknown-Zeiger auf, um eine IEnumVARIANT-Schnittstelle abzurufen. Verwenden Sie die IEnumVARIANT::Next-Methode, um die ACEs in der ACL aufzuzählen. Jeder ACE wird als VARIANT zurückgegeben, der einen IDispatch-Zeiger enthält. Beachten Sie, dass der vt-Member VT _ DISPATCH ist. Rufen Sie QueryInterface für diesen IDispatch-Zeiger auf, um eine IADsAccessControlEntry-Schnittstelle für den ACE abzurufen. Verwenden Sie die IADsAccessControlEntry-Schnittstellenmethoden, um die Komponenten eines ACE festzulegen oder abzurufen.
Weitere Informationen zu SACLs finden Sie unter: