다음을 통해 공유


CSacl 클래스

이 클래스는 SACL(시스템 액세스 제어 목록) 구조체에 대한 래퍼입니다.

Important

이 클래스와 해당 멤버는 Windows 런타임에서 실행되는 애플리케이션에서 사용할 수 없습니다.

구문

class CSacl : public CAcl

멤버

공용 생성자

속성 설명
CSacl::CSacl 생성자입니다.
CSacl::~CSacl 소멸자입니다.

공용 메서드

이름 설명
CSacl::AddAuditAce 개체에 ACE(감사 액세스 제어 항목)를 CSacl 추가합니다.
CSacl::GetAceCount 개체의 ACE(액세스 제어 항목) CSacl 수를 반환합니다.
CSacl::RemoveAce 개체에서 특정 ACE(액세스 제어 항목)를 CSacl 제거합니다.
CSacl::RemoveAllAces 개체에 포함된 모든 ACE를 CSacl 제거합니다.

Public 연산자

속성 설명
CSacl::operator = 대입 연산자입니다.

설명

SACL에는 도메인 컨트롤러의 보안 이벤트 로그에 감사 레코드를 생성하는 액세스 시도 유형을 지정하는 ACE(액세스 제어 항목)가 포함되어 있습니다. SACL은 개체의 복제본을 포함하는 모든 도메인 컨트롤러가 아니라 액세스 시도가 발생한 도메인 컨트롤러에서만 로그 항목을 생성합니다.

개체의 보안 설명자에서 SACL을 설정하거나 검색하려면 요청 스레드의 액세스 토큰에서 SE_SECURITY_NAME 권한을 사용하도록 설정해야 합니다. 관리자 그룹은 기본적으로 이 권한을 부여하며 다른 사용자 또는 그룹에 부여할 수 있습니다. 권한이 부여된 것이 필요한 것은 아닙니다. 권한으로 정의된 작업을 수행하려면 먼저 보안 액세스 토큰에서 권한을 사용하도록 설정해야 적용할 수 있습니다. 이 모델을 사용하면 특정 시스템 작업에 대해서만 권한을 사용하도록 설정한 다음 더 이상 필요하지 않을 때 사용하지 않도록 설정할 수 있습니다. SE_SECURITY_NAME 사용하도록 설정하는 예제는 AtlGetSaclAtlSetSacl을 참조하세요.

제공된 클래스 메서드를 사용하여 개체에서 SACL ACE를 추가, 제거, 만들기 및 삭제합니다. AtlGetSacl 및 AtlSetSacl도 참조하세요.

Windows의 액세스 제어 모델에 대한 소개는 Windows SDK의 Access Control을 참조하세요.

상속 계층 구조

CAcl

CSacl

요구 사항

헤더: atlsecurity.h

CSacl::AddAuditAce

개체에 ACE(감사 액세스 제어 항목)를 CSacl 추가합니다.

bool AddAuditAce(
    const CSid& rSid,
    ACCESS_MASK AccessMask,
    bool bSuccess,
    bool bFailure,
    BYTE AceFlags = 0) throw(...);

bool AddAuditAce(
    const CSid& rSid,
    ACCESS_MASK AccessMask,
    bool bSuccess,
    bool bFailure,
    BYTE AceFlags,
    const GUID* pObjectType,
    const GUID* pInheritedObjectType) throw(...);

매개 변수

rSid
CSid 개체입니다.

AccessMask
지정된 개체에 대해 감사할 액세스 권한 마스크를 지정 CSid 합니다.

bSuccess
허용되는 액세스 시도를 감사할지 여부를 지정합니다. 감사를 사용하도록 설정하려면 이 플래그를 true로 설정합니다. 그렇지 않으면 false로 설정합니다.

bFailure
거부된 액세스 시도를 감사할지 여부를 지정합니다. 감사를 사용하도록 설정하려면 이 플래그를 true로 설정합니다. 그렇지 않으면 false로 설정합니다.

AceFlags
ACE 상속을 제어하는 비트 플래그 집합입니다.

pObjectType
개체 유형입니다.

pInheritedObjectType
상속된 개체 형식입니다.

Return Value

ACE가 개체에 추가되면 TRUE를 반환하고 실패하면 CSacl FALSE를 반환합니다.

설명

CSacl 개체에는 보안 이벤트 로그에서 감사 레코드를 생성하는 액세스 시도 유형을 지정하는 ACE(액세스 제어 항목)가 포함됩니다. 이 메서드는 개체에 이러한 ACE를 추가합니다 CSacl .

AceFlags 매개 변수에서 설정할 수 있는 다양한 플래그에 대한 설명은 ACE_HEADER 참조하세요.

CSacl::CSacl

생성자입니다.

CSacl() throw();
CSacl(const ACL& rhs) throw(...);

매개 변수

rhs
기존 ACL (액세스 제어 목록) 구조체입니다.

설명

CSacl 필요에 따라 기존 ACL 구조를 사용하여 개체를 만들 수 있습니다. 이 매개 변수가 DACL(임의 액세스 제어 목록)이 아닌 SACL(시스템 액세스 제어 목록)인지 확인합니다. 디버그 빌드에서 DACL이 제공되면 어설션이 발생합니다. 릴리스 빌드에서는 DACL의 모든 항목이 무시됩니다.

CSacl::~CSacl

소멸자입니다.

~CSacl() throw();

설명

소멸자는 모든 ACE(액세스 제어 항목)를 포함하여 개체에서 획득한 모든 리소스를 해제합니다.

CSacl::GetAceCount

개체의 ACE(액세스 제어 항목) CSacl 수를 반환합니다.

UINT GetAceCount() const throw();

Return Value

개체에 포함된 CSacl ACE 수를 반환합니다.

CSacl::operator =

대입 연산자입니다.

CSacl& operator=(const ACL& rhs) throw(...);

매개 변수

rhs
ACL 기존 개체에 할당할 (액세스 제어 목록)입니다.

Return Value

업데이트 CSacl 된 개체에 대한 참조를 반환합니다. 매개 변수가 ACL 실제로 SACL(시스템 액세스 제어 목록)이고 DACL(임의 액세스 제어 목록)이 아닌지 확인합니다. 디버그 빌드에서 어설션이 발생하고 릴리스 빌드에서 매개 변수가 ACL 무시됩니다.

CSacl::RemoveAce

개체에서 특정 ACE(액세스 제어 항목)를 CSacl 제거합니다.

void RemoveAce(UINT nIndex) throw();

매개 변수

nIndex
제거할 ACE 항목의 인덱스입니다.

설명

이 메서드는 CAtlArray::RemoveAt에서 파생됩니다.

CSacl::RemoveAllAces

개체에 포함된 모든 ACE(액세스 제어 항목)를 CSacl 제거합니다.

void RemoveAllAces() throw();

설명

개체의 모든 ACE 구조체(있는 경우)를 CSacl 제거합니다.

참고 항목

CAcl 클래스
ACL
ACE
클래스 개요
보안 전역 함수