개체의 SACL 검색
Active Directory Domain Services 개체의 보안 설명자에는 SACL(시스템 액세스 제어 목록)이 포함될 수 있습니다. SACL에는 도메인 컨트롤러의 보안 이벤트 로그에 감사 레코드를 생성하는 액세스 시도 유형을 지정하는 ACE(액세스 제어 항목)가 포함되어 있습니다. SACL은 개체의 복제본(replica) 포함하는 모든 DC가 아니라 액세스 시도가 발생한 도메인 컨트롤러에서만 로그 항목을 생성합니다.
개체 보안 설명자에서 SACL을 설정하거나 얻으려면 요청 스레드의 액세스 토큰에서 SE_SECURITY_NAME 권한을 사용하도록 설정해야 합니다. 관리자 그룹은 기본적으로 이 권한을 가지며 다른 사용자 또는 그룹에 할당할 수 있습니다. 자세한 내용은 SACL 액세스 권한을 참조하세요.
디렉터리 개체의 SACL을 가져와서 설정하려면 IADsSecurityDescriptor 인터페이스를 사용합니다. C++를 사용하여 IADsSecurityDescriptor::get_SystemAcl 메서드는 IDispatch 포인터를 반환합니다. 해당 IDispatch 포인터에서 QueryInterface를 호출하여 IADsAccessControlList 인터페이스를 가져와서 해당 인터페이스의 메서드를 사용하여 SACL의 개별 API에 액세스합니다. DACL 수정과 유사한 SACL 수정 절차에 대한 자세한 내용은 개체에 대한 액세스 권한 설정을 참조하세요.
SACL에서 ACE를 열거하려면 IUnknown 포인터를 반환하는 IADsAccessControlList::get__NewEnum 메서드를 사용합니다. IUnknown 포인터에서 QueryInterface를 호출하여 IEnumVARIANT 인터페이스를 가져옵니다. IEnumVARIANT::Next 메서드를 사용하여 ACL에서 AES를 열거합니다. 각 ACE는 IDispatch 포인터를 포함하는 VARIANT로 반환됩니다. vt 멤버가 VT_DISPATCH. 해당 IDispatch 포인터에서 QueryInterface를 호출하여 ACE에 대한 IADsAccessControlEntry 인터페이스를 가져옵니다. IADsAccessControlEntry 인터페이스 메서드를 사용하여 ACE의 구성 요소를 설정하거나 가져옵니다.
SACL에 대한 자세한 내용은 다음을 참조하세요.