홈으로 돌아가기

Active Directory의 ACL: ACE 유형 및 제어 권한

이 기사는 Active Directory의 22개 ACE 유형, 그룹화, ACCESS_MASK 작동 및 제어 액세스 권한을 분석합니다. GENERIC 권한 부재, 상속 및 RBCD를 위한 AllExtendedRights 제한 설명.

Active Directory의 ACL 및 ACE 심층 분석
Advertisement 728x90

# Active Directory의 ACL 심층 분석: ACE 유형, ACCESS_MASK, 및 제어 액세스 권한

Active Directory는 액세스 관리를 위해 22개의 ACE 유형을 사용하며, 이를 4개의 카테고리로 그룹화합니다. 첫 번째 유형에는 ACCESS_ALLOWED_ACE_TYPE, ACCESS_DENIED_ACE_TYPE, SYSTEM_AUDIT_ACE_TYPE, SYSTEM_MANDATORY_LABEL_ACE_TYPE, SYSTEM_SCOPED_POLICY_ID_ACE_TYPE이 포함됩니다. 이러한 ACE는 ACCESS_MASK와 주체의 SID에 작용하여 기본 권한 부여 및 거부를 적용합니다.

두 번째 유형—ACCESS_ALLOWED_OBJECT_ACE_TYPE 및 ACCESS_DENIED_OBJECT_ACE_TYPE—기능을 확장합니다. ACCESS_MASK, 확장 권한을 위한 GUID, 자식 개체로의 상속을 지원합니다. 이 유형은 AD에서 유연성 덕분에 지배적입니다.

세 번째 유형(ACCESS_ALLOWED_CALLBACK_ACE_TYPE, ACCESS_DENIED_CALLBACK_ACE_TYPE, SYSTEM_AUDIT_CALLBACK_ACE_TYPE, SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE)은 ACCESS_MASK와 SID에 조건부 표현식을 추가합니다. 논리 규칙이 액세스 토큰을 평가합니다—예를 들어, 디바이스 클레임에 기반한 액세스 제한.

Google AdInline article slot

네 번째 유형은 개체 ACE와 조건부 표현식을 결합한 것입니다: ACCESS_ALLOWED_CALLBACK_OBJECT_ACE, ACCESS_DENIED_CALLBACK_OBJECT_ACE, SYSTEM_AUDIT_CALLBACK_OBJECT_ACE, SYSTEM_AUDIT_OBJECT_ACE_TYPE. 그러나 여기서는 검증 메커니즘에서 조건부 표현식이 무시됩니다.

보안 설명자의 GENERIC 권한 부재

ACCESS_MASK는 개별 비트가 권한을 정의하는 32비트 필드입니다. 표준 매핑에는 GENERIC_READ, GENERIC_WRITE, GENERIC_ALL이 포함되지만, 이러한 비트는 보안 설명자에서 금지됩니다. 설정 시 예측 불가능한 결과가 발생하며 권한 부여 알고리즘에서 무시됩니다.

GENERIC 비트는 AccessCheckByTypeResultListAndAuditAlarmByHandle을 통한 액세스 검사 중 GenericMapping을 통해 중요합니다. 이 매개변수는 GENERIC 권한을 개체 특정 권한으로 매핑합니다. AD는 파일 시스템이나 서비스와 다른 자체 매핑을 별도로 정의합니다.

Google AdInline article slot

ACE 생성 시 GENERIC 비트는 차단됩니다. 실제로 GENERIC_ALL은 AD의 표준 매핑에 기반한 개체 특정 비트의 조합일 뿐입니다.

ACCESS_MASK 플래그 및 제어 액세스 권한

주요 플래그:

  • RIGHT_DS_CREATE_CHILD / RIGHT_DS_DELETE_CHILD: 자식 유형의 schemaID인 objectGUID(예: OU=Computers의 computer). GUID가 없으면 모든 유형에 적용.
  • RIGHT_DS_LIST_CONTENTS: 자식 읽기; objectGUID 무시.
  • RIGHT_DS_WRITE_PROPERTY_EXTENDED: 검증된 쓰기를 위한 objectGUID, 하지만 속성 이름으로 검사.
  • RIGHT_DS_READ_PROPERTY / RIGHT_DS_WRITE_PROPERTY: 속성 집합 또는 schemaID인 objectGUID. GUID 없음—모든 속성.
  • RIGHT_DS_DELETE_TREE: 개체 트리 삭제.
  • RIGHT_DS_LIST_OBJECT: List Object 모드(dSHeuristics)에서의 개체 가시성.
  • RIGHT_DS_CONTROL_ACCESS: 확장 권한을 위한 objectGUID. GUID 없음—모두.

제어 액세스 권한: 확장 권한, 검증된 쓰기, 속성 집합

제어 액세스 권한은 세 카테고리로 나뉩니다:

Google AdInline article slot
  • 확장 권한—동작 수행 권한(예: 도메인 동기화).
  • 검증된 쓰기—검증 체크와 함께 특정 속성 수정.
  • 속성 집합—더 간결한 ACL을 위한 속성 그룹 액세스.

컴퓨터 개체의 AllExtendedRights는 msDS-AllowedToActOnBehalfOfOtherIdentity(RBCD)에 대한 쓰기 액세스를 부여하지 않습니다. 이는 User-Account-Restrictions 속성 집합(GUID=4c164200-20c0-11d0-a768-00aa006e0529)에서 비롯된 검증된 쓰기입니다. 별도의 WRITE_PROPERTY 또는 속성 집합 권한이 필요합니다.

AD 계층에서의 ACE 상속

OBJECT_INHERIT_ACE, CONTAINER_INHERIT_ACE, NO_PROPAGATE_INHERIT_ACE, INHERIT_ONLY_ACE, INHERITED_ACE와 같은 플래그가 있는 ACE는 자식으로 전파됩니다. 간단한 유형은 모든 컨테이너로 상속됩니다. GUID가 있는 개체 ACE는 InheritedObjectType에 의해 제한됩니다.

주요 요점

  • 22개의 ACE 유형이 기본, 개체, 콜백, 개체 콜백의 4개 카테고리로 그룹화.
  • GENERIC-* 비트는 SD에 저장되지 않으며 검사 중 매핑에만 사용.
  • 제어 액세스 권한에는 확장 권한(동작), 검증된 쓰기(속성), 속성 집합(그룹)이 포함.
  • RBCD는 AllExtendedRights로 커버되지 않는 검증된 쓰기 권한 필요.
  • ACE 상속은 플래그와 InheritedObjectType로 정밀 제어.

— Editorial Team

Advertisement 728x90

다음 읽기