RtlEqualPrefixSid 함수(ntifs.h)
RtlEqualPrefixSid 루틴은 두 개의 SID(보안 식별자) 접두사가 같은지 여부를 결정합니다. SID 접두사는 마지막 하위 인증 값을 제외한 전체 SID입니다.
구문
NTSYSAPI BOOLEAN RtlEqualPrefixSid(
[in] PSID Sid1,
[in] PSID Sid2
);
매개 변수
[in] Sid1
비교할 첫 번째 SID 구조체에 대한 포인터입니다. 유효한 SID를 가리킬 수 있어야 합니다.
[in] Sid2
비교할 두 번째 SID 구조체에 대한 포인터입니다. 유효한 SID를 가리킬 수 있어야 합니다.
반환 값
RTlEqualPrefixSid 는 SID 접두사가 같으면 TRUE 를 반환하고, 그렇지 않으면 FALSE 를 반환합니다. SID 구조체가 유효하지 않으면 반환 값이 정의되지 않습니다.
설명
RtlEqualPrefixSid 를 사용하면 한 도메인의 서버에서 사용자가 다른 도메인에 로그온하려는 시도를 확인할 수 있습니다. 예를 들어 사용자가 LocalDomain의 워크스테이션에서 RemoteDomain에 로그온하려고 하면 LocalDomain 서버에서 RemoteDomain에서 사용자 및 사용자 그룹에 대한 SID를 요청할 수 있습니다. RemoteDomain의 도메인 컨트롤러는 관련 SID로 응답합니다.
지정된 도메인의 모든 SID는 반드시 동일한 접두사를 갖습니다. 서버가 사용자의 SID를 받으면 각 SID에 대해 RtlEqualPrefixSid 를 호출하여 사용자 또는 그룹 SID를 RemoteDomain용 SID와 비교할 수 있습니다. SID 접두사 중 일부가 같지 않으면 서버는 로그온 시도를 거부합니다.
그룹 또는 사용자 SID와 비교하기 전에 도메인에 대한 SID를 수정하는 것이 좋습니다. RemoteDomain용 SID가 S-1-1234-8인 경우 해당 도메인의 각 그룹 또는 사용자 SID에는 접두사로 S-1-1234-8이 있습니다. RtlEqualPrefixSid를 사용하여 SID를 비교하기 위해 호출자는 도메인 SID를 복사하고 하위 인증 상대 식별자 값을 복사본에 추가하여 S-1-1-1234-8-0 형식으로 SID를 만듭니다. (상대 식별자 또는 RID는 SID를 발급한 기관과 관련하여 사용자 또는 그룹을 식별하는 SID의 부분입니다.) 그런 다음 호출자는 수정된 도메인 SID를 그룹 및 사용자 SID를 비교하는 템플릿으로 사용합니다.
보안 및 액세스 제어에 대한 자세한 내용은 드라이버 개발자를 위한 Windows 보안 모델 및 Windows SDK의 이러한 topics 대한 설명서를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
헤더 | ntifs.h(Ntifs.h 포함) |
라이브러리 | Ntdll.lib |
DLL | Ntdll.dll |
IRQL | <= APC_LEVEL |