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 Arten 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 stattgefunden hat, und nicht auf jedem DC, 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 Administratorgruppe verfügt standardmäßig über dieses Recht und kann anderen Benutzern oder Gruppen zugewiesen werden. Weitere Informationen finden Sie unter SACL-Zugriffsberechtigung.

Verwenden Sie die IADsSecurityDescriptor-Schnittstelle , um die SACL eines Verzeichnisobjekts abzurufen und festzulegen. Bei Verwendung von C++ gibt die IADsSecurityDescriptor::get_SystemAcl-Methode einen IDispatch-Zeiger zurück. Rufen Sie QueryInterface auf diesem 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 Ändern einer SACL 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 auf diesem IUnknown-Zeiger auf, um eine IEnumVARIANT-Schnittstelle abzurufen. Verwenden Sie die IEnumVARIANT::Next-Methode , um die ACEs in der ACL aufzulisten. Jeder ACE wird als VARIANT zurückgegeben, der einen IDispatch-Zeiger enthält. Beachten Sie, dass der vt-MemberVT_DISPATCH ist. Rufen Sie QueryInterface auf diesem 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: