가장 수준 상수

클라이언트를 가장할 때 서버에 부여된 권한의 양을 나타내는 가장 수준을 지정합니다.

상수/값 설명
RPC_C_IMP_LEVEL_DEFAULT
0
DCOM은 일반적인 보안 담요 협상 알고리즘을 사용하여 가장 수준을 선택할 수 있습니다. 자세한 내용은 보안 담요 협상을 참조하세요.
RPC_C_IMP_LEVEL_ANONYMOUS
1
클라이언트가 서버에 대해 익명입니다. 서버 프로세스는 클라이언트를 가장할 수 있지만 가장 토큰에는 정보가 포함되지 않으며 사용할 수 없습니다.
RPC_C_IMP_LEVEL_IDENTIFY
2
서버는 클라이언트의 ID를 가져올 수 있습니다. 서버는 ACL 검사를 위해 클라이언트를 가장할 수 있지만 클라이언트로 시스템 개체에 액세스할 수 없습니다.
RPC_C_IMP_LEVEL_IMPERSONATE
3
서버 프로세스는 클라이언트를 대신하여 작동하는 동안 클라이언트의 보안 컨텍스트를 가장할 수 있습니다. 이 가장 수준은 파일과 같은 로컬 리소스에 액세스를 사용할 수 있습니다. 이 수준에서 가장하는 경우 가장 토큰은 하나의 컴퓨터 경계에서만 전달될 수 있습니다. Schannel 인증 서비스는 이 수준의 가장만 지원합니다.
RPC_C_IMP_LEVEL_DELEGATE
4
서버 프로세스는 클라이언트를 대신하여 작동하는 동안 클라이언트의 보안 컨텍스트를 가장할 수 있습니다. 서버 프로세스는 은폐를 사용하여 클라이언트를 대신하여 작업하는 동안 다른 서버로 나가는 호출을 수행할 수도 있습니다. 서버는 다른 컴퓨터에서 클라이언트의 보안 컨텍스트를 사용하여 로컬 및 원격 리소스에 클라이언트로 액세스할 수 있습니다. 이 수준에서 가장하는 경우 가장 토큰은 임의의 수의 컴퓨터 경계에 걸쳐 전달될 수 있습니다.

설명

GetUserName 은 식별 수준에서 가장하는 동안 실패합니다. 해결 방법은 가장하고, OpenThreadToken을 호출하고, 되돌리기, GetTokenInformation을 호출하고, 마지막으로 LookupAccountSid를 호출하는 것입니다. 클라이언트는 CoSetProxyBlanket을 사용하여 가장 수준을 설정합니다.

클라이언트는 CoSetProxyBlanket을 사용하여 서버가 CoImpersonateClient를 호출할 때 사용할 수 있는 가장 수준 및 프록시 ID를 설정합니다. 가장이 발생할 때 서버에서 볼 수 있는 ID는 은폐에 설명되어 있습니다. 가장하는 동안 호출을 할 때 호출 수신자는 일반적으로 호출자의 가장 토큰이 아니라 호출자의 프로세스 토큰을 받습니다. 호출자의 가장 토큰을 받으려면 호출자가 은폐를 사용하도록 설정해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버
Windows 2000 Server[데스크톱 앱만]
헤더
RpcDce.h

추가 정보

클 로킹