ACL 구조체(wdm.h)

ACL 구조는 ACL(액세스 제어 목록)의 헤더입니다. 전체 ACL은 ACL 구조와 0개 이상의 ACE(액세스 제어 항목) 순서가 지정된 목록으로 구성됩니다.

구문

typedef struct _ACL {
  UCHAR  AclRevision;
  UCHAR  Sbz1;
  USHORT AclSize;
  USHORT AceCount;
  USHORT Sbz2;
} ACL;

멤버

AclRevision

ACL의 수정 수준입니다.

Microsoft Windows NT 4.0 이하: 이 값은 ACL_REVISION 합니다.

Microsoft Windows 2000 이상: 이 값은 ACL_REVISION 또는 ACL_REVISION_DS 수 있습니다. ACL에 개체별 ACE가 포함된 경우 ACL_REVISION_DS 합니다.

Sbz1

AclRevision 멤버를 16비트 경계에 맞추는 패딩의 0바이트입니다.

AclSize

ACL의 크기(바이트)입니다. 이 값에는 ACL 구조와 모든 AES가 모두 포함됩니다.

AceCount

ACL에 저장된 ACE 수입니다.

Sbz2

ACL 구조를 32비트 경계에 맞추는 패딩의 0바이트 2바이트입니다.

설명

ACL에는 0개 이상의 AES 순차 목록이 포함됩니다. ACL의 개별 API는 0에서 n으로 번호가 매겨집니다. 여기서 n+1은 ACL의 ACE 수입니다. ACL을 편집할 때 드라이버는 해당 인덱스로 ACL 내의 ACE를 참조합니다.

ACL에는 임의 및 시스템이라는 두 가지 유형이 있습니다.

DACL(임의 ACL)은 개체의 소유자 또는 개체에 WRITE_DAC 액세스 권한이 부여된 모든 사용자가 제어합니다. 특정 사용자 및 그룹이 개체에 대해 가질 수 있는 액세스를 지정합니다. 예를 들어 파일 소유자는 DACL을 사용하여 파일에 액세스할 수 있고 액세스할 수 없는 사용자 및 그룹을 제어할 수 있습니다.

또한 개체에는 시스템 관리자가 제어하는 SACL(시스템 ACL) 형식으로 연결된 시스템 수준 보안 정보가 있을 수 있습니다. SACL을 사용하면 시스템 관리자가 개체에 액세스하려는 모든 시도를 감사할 수 있습니다.

현재 세 개의 ACE 구조체가 정의되어 있습니다.

attribute Description
ACCESS_ALLOWED_ACE 사용자 또는 그룹에 지정된 권한을 부여합니다. 이 ACE는 DACL에 저장됩니다.
ACCESS_DENIED_ACE 사용자 또는 그룹에 대해 지정된 권한을 거부합니다. 이 ACE는 DACL에 저장됩니다.
SYSTEM_AUDIT_ACE 시스템 수준 감사를 유발할 액세스 유형을 지정합니다. 이 ACE는 SACL에 저장됩니다.
 

SYSTEM_ALARM_ACE 네 번째 ACE 구조체는 현재 지원되지 않습니다.

ACL 구조는 불투명한 것처럼 취급되어야 하며 드라이버는 멤버와 직접 작업하려고 시도해서는 안 됩니다. ACL이 의미상 올바른지 확인하기 위해 드라이버는 참고 섹션에 나열된 함수를 사용하여 ACL을 만들고 조작할 수 있습니다.

ACL 및 ACE 구조체는 32비트 경계에 맞춰야 합니다.

요구 사항

요구 사항
헤더 wdm.h(Wdm.h 포함)

추가 정보

ACCESS_ALLOWED_ACE

ACCESS_DENIED_ACE

에이스

RtlAddAccessAllowedAce

RtlCreateAcl

RtlGetAce

RtlSetDaclSecurityDescriptor

SYSTEM_ALARM_ACE

SYSTEM_AUDIT_ACE

TOKEN_DEFAULT_DACL