스레드와 보안 개체 간의 상호 작용

스레드가 보안 개체를 사용하려고 하면 시스템은 스레드가 계속 진행되도록 허용하기 전에 액세스 검사 수행합니다. 액세스 검사 시스템은 스레드의 액세스 토큰에 있는 보안 정보를 개체의 보안 설명자에 있는 보안 정보와 비교합니다.

  • 액세스 토큰에는 스레드와 연결된 사용자를 식별하는 SID( 보안 식별자 )가 포함됩니다.
  • 보안 설명자는 개체의 소유자를 식별하고 DACL( 임의 액세스 제어 목록 )을 포함합니다. DACL에는 특정 사용자 또는 그룹에 대해 허용되거나 거부된 액세스 권한을 각각 지정하는 ACE(액세스 제어 항목 )가 포함됩니다.

시스템은 개체의 DACL을 검사하여 스레드의 액세스 토큰에서 사용자 및 그룹 SID에 적용되는 ACE를 찾습니다. 시스템은 액세스 권한이 부여되거나 거부되거나 검사 더 이상 ACE가 없을 때까지 각 ACE를 확인합니다. ACL( 액세스 제어 목록 )에는 토큰의 SID에 적용되는 여러 ACL이 있을 수 있습니다. 이 경우 각 ACE에서 부여한 액세스 권한이 누적됩니다. 예를 들어 하나의 ACE가 그룹에 대한 읽기 권한을 부여하고 다른 ACE가 그룹의 구성원인 사용자에게 쓰기 권한을 부여하는 경우 사용자는 개체에 대한 읽기 및 쓰기 권한을 모두 가질 수 있습니다.

다음 그림에서는 이러한 보안 정보 블록 간의 관계를 보여 줍니다.

프로세스, 에이스 및 dacls 간의 관계