ACE 문자열

SDDL( 보안 설명자 정의 언어 )은 보안 설명자 문자열의 DACL 및 SACL 구성 요소에 ACE 문자열을 사용합니다.

보안 설명자 문자열 형식 예제와 같이 보안 설명자 문자열의 각 ACE는 괄호로 묶입니다. ACE의 필드는 다음 순서로 정렬되며 세미콜론(;))으로 구분됩니다.

참고

API(조건부 액세스 제어 항목 )는 다른 ACE 형식과 다른 형식을 갖습니다. 조건부 ACL의 경우 조건부 ACL에 대한 보안 설명자 정의 언어를 참조하세요.

ace_type;ace_flags;rights;object_guid;inherit_object_guid;account_sid;(resource_attribute)

필드

ace_type

ACE_HEADER 구조체의 AceType 멤버 값을 나타내는 문자열입니다. ACE 형식 문자열은 Sddl.h에 정의된 다음 문자열 중 하나일 수 있습니다.

ACE 형식 문자열 Sddl.h의 상수 AceType 값
“A” SDDL_ACCESS_ALLOWED ACCESS_ALLOWED_ACE_TYPE
"D" SDDL_ACCESS_DENIED ACCESS_DENIED_ACE_TYPE
"OA" SDDL_OBJECT_ACCESS_ALLOWED ACCESS_ALLOWED_OBJECT_ACE_TYPE
"OD" SDDL_OBJECT_ACCESS_DENIED ACCESS_DENIED_OBJECT_ACE_TYPE
"AU" SDDL_AUDIT SYSTEM_AUDIT_ACE_TYPE
"AL" SDDL_ALARM SYSTEM_ALARM_ACE_TYPE
"OU" SDDL_OBJECT_AUDIT SYSTEM_AUDIT_OBJECT_ACE_TYPE
"OL" SDDL_OBJECT_ALARM SYSTEM_ALARM_OBJECT_ACE_TYPE
"ML" SDDL_MANDATORY_LABEL SYSTEM_MANDATORY_LABEL_ACE_TYPE Windows Server 2003: 사용할 수 없습니다.
"XA" SDDL_CALLBACK_ACCESS_ALLOWED ACCESS_ALLOWED_CALLBACK_ACE_TYPE Windows Server 2008, Windows Vista 및 Windows Server 2003: 사용할 수 없습니다.
"XD" SDDL_CALLBACK_ACCESS_DENIED ACCESS_DENIED_CALLBACK_ACE_TYPE Windows Server 2008, Windows Vista 및 Windows Server 2003: 사용할 수 없습니다.
"RA" SDDL_RESOURCE_ATTRIBUTE SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista 및 Windows Server 2003: 사용할 수 없습니다.
"SP" SDDL_SCOPED_POLICY_ID SYSTEM_SCOPED_POLICY_ID_ACE_TYPE Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista 및 Windows Server 2003: 사용할 수 없습니다.
"XU" SDDL_CALLBACK_AUDIT SYSTEM_AUDIT_CALLBACK_ACE_TYPE Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista 및 Windows Server 2003: 사용할 수 없습니다.
"ZA" SDDL_CALLBACK_OBJECT_ACCESS_ALLOWED ACCESS_ALLOWED_CALLBACK_ACE_TYPE Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista 및 Windows Server 2003: 사용할 수 없습니다.
"TL" SDDL_PROCESS_TRUST_LABEL SYSTEM_PROCESS_TRUST_LABEL_ACE_TYPE Windows Server 2012, Windows 8, Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista 및 Windows Server 2003: 사용할 수 없습니다.
"FL" SDDL_ACCESS_FILTER SYSTEM_ACCESS_FILTER_ACE_TYPE Windows Server 2016, Windows 10 버전 1607, Windows 10 버전 1511, Windows 10 버전 1507, Windows Server 2012 R2, Windows 8.1 Windows Server 2012, Windows 8, Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista 및 Windows Server 2003: 사용할 수 없습니다.

참고

ace_type ACCESS_ALLOWED_OBJECT_ACE_TYPE object_guid 또는 inherit_object_guidGUID가 지정되지 않은 경우 ConvertStringSecurityDescriptorToSecurityDescriptorace_type ACCESS_ALLOWED_ACE_TYPE 변환합니다.

ace_flags

ACE_HEADER 구조체의 AceFlags 멤버 값을 나타내는 문자열입니다. ACE 플래그 문자열은 Sddl.h에 정의된 다음 문자열의 연결일 수 있습니다.

ACE 플래그 문자열 Sddl.h의 상수 AceFlag 값
"CI" SDDL_CONTAINER_INHERIT CONTAINER_INHERIT_ACE
"OI" SDDL_OBJECT_INHERIT OBJECT_INHERIT_ACE
"NP" SDDL_NO_PROPAGATE NO_PROPAGATE_INHERIT_ACE
"IO" SDDL_INHERIT_ONLY INHERIT_ONLY_ACE
"ID" SDDL_INHERITED INHERITED_ACE
"SA" SDDL_AUDIT_SUCCESS SUCCESSFUL_ACCESS_ACE_FLAG
"FA" SDDL_AUDIT_FAILURE FAILED_ACCESS_ACE_FLAG
"TP" SDDL_TRUST_PROTECTED_FILTER TRUST_PROTECTED_FILTER_ACE_FLAG Windows Server 2016, Windows 10 버전 1607, Windows 10 버전 1511, Windows 10 버전 1507, Windows Server 2012 R2, Windows 8.1 Windows Server 2012, Windows 8, Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista 및 Windows Server 2003: 사용할 수 없습니다.
"CR" SDDL_CRITICAL CRITICAL_ACE_FLAG Windows Server 버전 1803, Windows 10 버전 1803, Windows Server 버전 1709, Windows 10 버전 1709, Windows 10 버전 1703, Windows Server 2016, Windows 10 버전 1607, Windows 10 버전 1511 Windows 10 버전 1507, Windows Server 2012 R2, Windows 8.1, Windows Server 2012, Windows 8, Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista 및 Windows Server 2003: 사용할 수 없습니다.

권한

ACE에서 제어하는 액세스 권한을 나타내는 문자열입니다. 이 문자열은 "0x7800003F"과 같은 액세스 권한의 16진수 문자열 표현이거나 다음 문자열의 연결일 수 있습니다.

일반 액세스 권한

액세스 권한 문자열 Sddl.h의 상수 오른쪽 값에 액세스
"GA" SDDL_GENERIC_ALL GENERIC_ALL
"GR" SDDL_GENERIC_READ GENERIC_READ
"GW" SDDL_GENERIC_WRITE GENERIC_WRITE
"GX" SDDL_GENERIC_EXECUTE GENERIC_EXECUTE

표준 액세스 권한

액세스 권한 문자열 Sddl.h의 상수 오른쪽 값에 액세스
"RC" SDDL_READ_CONTROL READ_CONTROL
"SD" SDDL_STANDARD_DELETE Delete
"WD" SDDL_WRITE_DAC WRITE_DAC
"WO" SDDL_WRITE_OWNER WRITE_OWNER

디렉터리 서비스 개체 액세스 권한

액세스 권한 문자열 Sddl.h의 상수 오른쪽 값에 액세스
"RP" SDDL_READ_PROPERTY ADS_RIGHT_DS_READ_PROP
"WP" SDDL_WRITE_PROPERTY ADS_RIGHT_DS_WRITE_PROP
"CC" SDDL_CREATE_CHILD ADS_RIGHT_DS_CREATE_CHILD
"DC" SDDL_DELETE_CHILD ADS_RIGHT_DS_DELETE_CHILD
"LC" SDDL_LIST_CHILDREN ADS_RIGHT_ACTRL_DS_LIST
"SW" SDDL_SELF_WRITE ADS_RIGHT_DS_SELF
"LO" SDDL_LIST_OBJECT ADS_RIGHT_DS_LIST_OBJECT
"DT" SDDL_DELETE_TREE ADS_RIGHT_DS_DELETE_TREE
"CR" SDDL_CONTROL_ACCESS ADS_RIGHT_DS_CONTROL_ACCESS

파일 액세스 권한

액세스 권한 문자열 Sddl.h의 상수 오른쪽 값에 액세스
"FA" SDDL_FILE_ALL FILE_GENERIC_ALL
"FR" SDDL_FILE_READ FILE_GENERIC_READ
"FW" SDDL_FILE_WRITE FILE_GENERIC_WRITE
"FX" SDDL_FILE_EXECUTE FILE_GENERIC_EXECUTE

레지스트리 키 액세스 권한

액세스 권한 문자열 Sddl.h의 상수 오른쪽 값에 액세스
"KA" SDDL_KEY_ALL KEY_ALL_ACCESS
"KR" SDDL_KEY_READ KEY_READ
"KW" SDDL_KEY_WRITE KEY_WRITE
"KX" SDDL_KEY_EXECUTE KEY_EXECUTE

필수 레이블 권한

액세스 권한 문자열 Sddl.h의 상수 오른쪽 값에 액세스
"NR" SDDL_NO_READ_UP SYSTEM_MANDATORY_LABEL_NO_READ_UP Windows Server 2008, Windows Vista 및 Windows Server 2003: 사용할 수 없습니다.
"NW" SDDL_NO_WRITE_UP SYSTEM_MANDATORY_LABEL_NO_WRITE_UP Windows Server 2008, Windows Vista 및 Windows Server 2003: 사용할 수 없습니다.
"NX" SDDL_NO_EXECUTE_UP SYSTEM_MANDATORY_LABEL_NO_EXECUTE_UP Windows Server 2008, Windows Vista 및 Windows Server 2003: 사용할 수 없습니다.

object_guid

ACCESS_ALLOWED_OBJECT_ACE 같은 개체별 ACE 구조체의 ObjectType 멤버 값을 나타내는 GUID의 문자열 표현입니다. GUID 문자열은 UuidToString 함수에서 반환된 형식을 사용합니다.

다음 표에는 일반적으로 사용되는 몇 가지 개체 GUID가 나와 있습니다.

권한 및 GUID 사용 권한
CR;ab721a53-1e2f-11d0-9819-00aa0040529b 암호 변경
CR;00299570-246d-11d0-a768-00aa006e0529 암호 재설정

inherit_object_guid

개체별 ACE 구조체의 InheritedObjectType 멤버 값을 나타내는 GUID의 문자열 표현입니다. GUID 문자열은 UuidToString 형식을 사용합니다.

account_sid

ACE의 트러스티를 식별하는 SID 문자열입니다.

resource_attribute

[선택 사항] resource_attribute 리소스 ACE에만 사용되며 선택 사항입니다. 데이터 형식을 나타내는 문자열입니다. 리소스 특성 ace 데이터 형식은 Sddl.h에 정의된 다음 데이터 형식 중 하나일 수 있습니다.

"#" 기호는 리소스 특성의 "0"과 동의어입니다. 예를 들어 D:AI(XA;OICI;FA;;; WD;(OctetStringType==#1#2#3##))는 D:AI(XA;OICI;FA;;;와 동일하고 해석됩니다. WD;(OctetStringType==#01020300)).

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista 및 Windows Server 2003: 리소스 특성을 사용할 수 없습니다.

리소스 특성 ace 데이터 형식 문자열 Sddl.h의 상수 데이터 형식
"TI" SDDL_INT 부호 있는 정수
"TU" SDDL_UINT 부호 없는 정수
"TS" SDDL_WSTRING 와이드 문자열
"TD" SDDL_SID SID
"TX" SDDL_BLOB 8 진수 문자열
"TB" SDDL_BOOLEAN 부울

다음 예제에서는 액세스 허용 ACE에 대한 ACE 문자열을 보여줍니다. 개체별 ACE가 아니므로 object_guidinherit_object_guid 필드에 정보가 없습니다. ace_flags 필드도 비어 있습니다. 이는 ACE 플래그가 설정되지 않음을 나타냅니다.

(A;;RPWPCCDCLCSWRCWDWOGA;;;S-1-1-0)

위에 표시된 ACE 문자열은 다음 ACE 정보를 설명합니다.

AceType:       0x00 (ACCESS_ALLOWED_ACE_TYPE)
AceFlags:      0x00
Access Mask:   0x100e003f
                    READ_CONTROL
                    WRITE_DAC
                    WRITE_OWNER
                    GENERIC_ALL
                    Other access rights(0x0000003f)
Ace Sid      : (S-1-1-0)

다음 예제에서는 보안이 높은 비즈니스 영향으로 설정된 Windows 및 SQL(구조적 쿼리 언어)에 대한 리소스 클레임으로 분류된 파일을 보여 줍니다.

(RA;CI;;;;S-1-1-0; ("Project",TS,0,"Windows","SQL")) 
(RA;CI;;;;S-1-1-0; ("Secrecy",TU,0,3))

위에 표시된 ACE 문자열은 다음 ACE 정보를 설명합니다.

AceType:       0x12 (SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE)
AceFlags:      0x1  (SDDL_CONTAINER_INHERIT)
Access Mask:   0x0
Ace Sid      : (S-1-1-0)
Resource Attributes: Project has the strings Windows and SQL, Secrecy has the unsigned int value of 3

자세한 내용은 보안 설명자 문자열 형식SID 문자열을 참조하세요. 조건부 ACE는 조건부 ACE에 대한 보안 설명자 정의 언어를 참조하세요.

추가 정보

[MS-DTYP]: 보안 설명자 설명 언어