SECURITY_DESCRIPTOR_CONTROL

SECURITY_DESCRIPTOR_CONTROL 데이터 형식은 보안 설명자 또는 해당 구성 요소의 의미를 한정하는 비트 플래그 집합입니다. 각 보안 설명자에는 SECURITY_DESCRIPTOR_CONTROL 비트를 저장하는 Control 멤버가 있습니다.

typedef WORD SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;

설명

보안 설명자의 컨트롤 비트를 얻으려면 GetSecurityDescriptorControl 함수를 호출합니다. 보안 설명자의 제어 비트를 설정하려면 보안 설명자를 수정하는 함수를 사용합니다. 이러한 함수 목록은 참고 항목 섹션을 참조하세요.

애플리케이션은 SetSecurityDescriptorControl 함수를 사용하여 AES의 자동 상속과 관련된 컨트롤 비트를 설정할 수 있습니다.

GetSecurityDescriptorControl 함수에서 검색한 컨트롤 값에는 다음 SECURITY_DESCRIPTOR_CONTROL 비트 플래그의 조합이 포함될 수 있습니다.

의미
SE_DACL_AUTO_INHERIT_REQ
0x0100
상속 가능한 ACE(액세스 제어 항목)를 기존 자식 개체로 자동 전파할 수 있도록 DACL(임의 액세스 제어 목록)이 설정된 필수 보안 설명자를 나타냅니다.
자동 상속을 지원하는 ACL( 액세스 제어 목록 )의 경우 이 비트는 항상 설정됩니다. 보호된 서버는 ConvertToAutoInheritPrivateObjectSecurity 함수를 호출하여 보안 설명자를 변환하고 이 플래그를 설정할 수 있습니다.
SE_DACL_AUTO_INHERITED
0x0400
DACL( 임의 액세스 제어 목록 )이 기존 자식 개체에 상속 가능한 ACE( 액세스 제어 항목 )의 자동 전파를 지원하도록 설정된 보안 설명자를 나타냅니다.
자동 상속을 지원하는 ACL( 액세스 제어 목록 )의 경우 이 비트는 항상 설정됩니다. 보호된 서버는 ConvertToAutoInheritPrivateObjectSecurity 함수를 호출하여 보안 설명자를 변환하고 이 플래그를 설정할 수 있습니다.
SE_DACL_DEFAULTED
0x0008
기본 DACL이 있는 보안 설명자를 나타냅니다. 예를 들어 작성자가 개체가 DACL을 지정하지 않으면 개체는 작성자의 액세스 토큰 에서 기본 DACL을 받습니다. 이 플래그는 시스템이 ACE 상속과 관련하여 DACL을 처리하는 방법에 영향을 줄 수 있습니다. SE_DACL_PRESENT 플래그가 설정되지 않은 경우 시스템에서 이 플래그를 무시합니다.
이 플래그는 개체의 최종 DACL을 계산하는 방법을 결정하는 데 사용되며 보안 개체의 보안 설명자 컨트롤에 물리적으로 저장되지 않습니다.
이 플래그를 설정하려면 SetSecurityDescriptorDacl 함수를 사용합니다.
SE_DACL_PRESENT
0x0004
DACL이 있는 보안 설명자를 나타냅니다. 이 플래그가 설정되지 않았거나 이 플래그가 설정되고 DACL이 NULL인 경우 보안 설명자는 모든 사용자에게 모든 권한을 허용합니다.
이 플래그는 보안 설명자가 보안 개체와 연결될 때까지 호출자가 지정한 보안 정보를 보관하는 데 사용됩니다. 보안 설명자가 보안 개체와 연결되면 보안 설명자 컨트롤에서 항상 SE_DACL_PRESENT 플래그가 설정됩니다.
이 플래그를 설정하려면 SetSecurityDescriptorDacl 함수를 사용합니다.
SE_DACL_PROTECTED
0x1000
보안 설명자의 DACL이 상속 가능한 API에 의해 수정되지 않도록 합니다. 이 플래그를 설정하려면 SetSecurityDescriptorControl 함수를 사용합니다.
SE_GROUP_DEFAULTED
0x0002
보안 설명자 그룹의 SID( 보안 식별자 )가 기본 메커니즘에서 제공되었음을 나타냅니다. 이 플래그는 리소스 관리자가 보안 설명자 그룹이 기본 메커니즘으로 설정된 개체를 식별하는 데 사용할 수 있습니다. 이 플래그를 설정하려면 SetSecurityDescriptorGroup 함수를 사용합니다.
SE_OWNER_DEFAULTED
0x0001
보안 설명자 소유자의 SID가 기본 메커니즘에서 제공되었음을 나타냅니다. 이 플래그는 리소스 관리자가 소유자가 기본 메커니즘으로 설정된 개체를 식별하는 데 사용할 수 있습니다. 이 플래그를 설정하려면 SetSecurityDescriptorOwner 함수를 사용합니다.
SE_RM_CONTROL_VALID
0x4000
리소스 관리자 컨트롤이 유효하다는 것을 나타냅니다.
SE_SACL_AUTO_INHERIT_REQ
0x0200
상속 가능한 AES를 기존 자식 개체로 자동 전파할 수 있도록 SACL( 시스템 액세스 제어 목록 )이 설정된 필수 보안 설명자를 나타냅니다.
시스템은 개체 및 기존 자식 개체에 대한 자동 상속 알고리즘을 수행할 때 이 비트를 설정합니다. 보안 설명자를 변환하고 이 플래그를 설정하기 위해 보호된 서버는 ConvertToAutoInheritPrivateObjectSecurity 함수를 호출할 수 있습니다.
SE_SACL_AUTO_INHERITED
0x0800
상속 가능한 ACL을 기존 자식 개체로 자동 전파할 수 있도록 SACL( 시스템 액세스 제어 목록 )이 설정된 보안 설명자를 나타냅니다.
시스템은 개체 및 기존 자식 개체에 대한 자동 상속 알고리즘을 수행할 때 이 비트를 설정합니다. 보안 설명자를 변환하고 이 플래그를 설정하기 위해 보호된 서버는 ConvertToAutoInheritPrivateObjectSecurity 함수를 호출할 수 있습니다.
SE_SACL_DEFAULTED
0x0008
보안 설명자의 원래 공급자 가 아닌 기본 메커니즘이 SACL을 제공했습니다. 이 플래그는 ACE 상속과 관련하여 시스템이 SACL을 처리하는 방법에 영향을 줄 수 있습니다. SE_SACL_PRESENT 플래그가 설정되지 않은 경우 시스템에서 이 플래그를 무시합니다. 이 플래그를 설정하려면 SetSecurityDescriptorSacl 함수를 사용합니다.
SE_SACL_PRESENT
0x0010
SACL이 있는 보안 설명자를 나타냅니다. 이 플래그를 설정하려면 SetSecurityDescriptorSacl 함수를 사용합니다.
SE_SACL_PROTECTED
0x2000
보안 설명자의 SACL이 상속 가능한 AES에 의해 수정되지 않도록 합니다. 이 플래그를 설정하려면 SetSecurityDescriptorControl 함수를 사용합니다.
SE_SELF_RELATIVE
0x8000
자체 상대 보안 설명자를 나타냅니다. 이 플래그가 설정되지 않은 경우 보안 설명자는 절대 형식입니다. 자세한 내용은 절대 및 Self-Relative 보안 설명자를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버
Windows Server 2003 [데스크톱 앱만 해당]
헤더
Winnt.h(Windows.h 포함)

추가 정보

하위 수준 Access Control

기본 Access Control 구조체

ConvertToAutoInheritPrivateObjectSecurity

GetSecurityDescriptorControl

GetSecurityDescriptorDacl

GetSecurityDescriptorGroup

GetSecurityDescriptorOwner

GetSecurityDescriptorSacl

SetSecurityDescriptorControl

SetSecurityDescriptorDacl

SetSecurityDescriptorGroup

SetSecurityDescriptorOwner

SetSecurityDescriptorSacl