SePrivilegeCheck 함수(ntifs.h)

SePrivilegeCheck 루틴은 주체의 액세스 토큰에서 지정된 권한 집합을 사용할 수 있는지 여부를 결정합니다.

구문

BOOLEAN SePrivilegeCheck(
  [in, out] PPRIVILEGE_SET            RequiredPrivileges,
  [in]      PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext,
  [in]      KPROCESSOR_MODE           AccessMode
);

매개 변수

[in, out] RequiredPrivileges

PRIVILEGE_SET 구조체에 대한 포인터입니다. 이 구조체의 Privilege 멤버는 LUID_AND_ATTRIBUTES 구조체의 배열입니다. SePrivilegeCheck를 호출하기 전에 Privilege 배열을 사용하여 검사 권한 집합을 나타냅니다. 모든 권한을 사용하도록 설정해야 하는 경우 Control 멤버를 PRIVILEGE_SET_ALL_NECESSARY 설정합니다. 또는 권한 중 하나를 사용하도록 설정하는 것으로 충분하면 0으로 설정합니다.

SePrivilegeCheck이 반환되면 각 LUID_AND_ATTRIBUTES 구조체의 Attributes 멤버가 해당 권한이 사용하도록 설정된 경우 SE_PRIVILEGE_USED_FOR_ACCESS 설정됩니다.

[in] SubjectSecurityContext

주체의 캡처된 보안 컨텍스트에 대한 포인터입니다.

[in] AccessMode

권한 검사 사용할 액세스 모드입니다. UserMode 또는 KernelMode. AccessModeKernelMode로 설정된 경우 모든 권한은 주체가 소유한 것으로 표시되고 SePrivilegeCheckTRUE를 반환합니다.

반환 값

SePrivilegeCheck 는 주체가 지정한 모든 권한을 보유하면 TRUE 를 반환하고, 그렇지 않으면 FALSE 를 반환합니다.

설명

액세스 토큰에는 토큰과 연결된 계정에서 보유한 권한 목록이 포함됩니다. 이러한 권한은 사용하거나 사용하지 않도록 설정할 수 있습니다. 대부분은 기본적으로 사용하지 않도록 설정됩니다. SePrivilegeCheck 는 활성화된 권한만 확인합니다. 액세스 토큰에서 보유하는 모든 사용 및 사용 안 함 권한 목록을 얻으려면 SeQueryInformationToken을 호출합니다.

보안 및 액세스 제어에 대한 자세한 내용은 드라이버 개발자를 위한 Windows 보안 모델 및 Windows SDK의 이러한 topics 대한 설명서를 참조하세요.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 ntifs.h(Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

추가 정보

LUID_AND_ATTRIBUTES

PRIVILEGE_SET

SECURITY_SUBJECT_CONTEXT

SeAccessCheck

SeAppendPrivileges

SeFreePrivileges

SeQueryInformationToken

SeSinglePrivilegeCheck