偽装レベル定数
偽装レベルを指定します。これは、クライアントを偽装するときにサーバーに与えられる権限の量を示します。
定数/値 | 説明 |
---|---|
|
DCOM は、通常のセキュリティ ブランケット ネゴシエーション アルゴリズムを使用して、偽装レベルを選択できます。 詳細については、「 セキュリティ ブランケット ネゴシエーション」を参照してください。 |
|
クライアントはサーバーに対して匿名です。 サーバー プロセスはクライアントを偽装できますが、偽装トークンには情報が含まれていないので、使用できません。 |
|
サーバーはクライアントの ID を取得できます。 サーバーは ACL チェックのためにクライアントを偽装できますが、システム オブジェクトにクライアントとしてアクセスできません。 |
|
サーバー プロセスは、クライアントの代わりに動作しながら、クライアントのセキュリティ コンテキストを偽装できます。 このレベルの偽装は、ファイルなどのローカル リソースのアクセスに使用できます。 このレベルで偽装する場合、偽装トークンは 1 つのマシン境界を越えてのみ渡すことができます。
Schannel 認証サービスでは、このレベルの偽装のみがサポートされます。 |
|
サーバー プロセスは、クライアントの代わりに動作しながら、クライアントのセキュリティ コンテキストを偽装できます。 サーバー プロセスでは、クローキングを使用して、クライアントの代理として動作しながら、他のサーバーに発信呼び出しを行うこともできます。 サーバーは、他のマシン上のクライアントのセキュリティ コンテキストを使用して、クライアントとしてローカル リソースとリモート リソースにアクセスできます。 このレベルで偽装する場合、偽装トークンは任意の数のコンピューター境界を越えて渡すことができます。 |
注釈
GetUserName は、識別レベルでの偽装中に失敗します。 回避策は、偽装、 OpenThreadToken の呼び出し、元に戻す、 GetTokenInformation の呼び出し、最後に LookupAccountSid の呼び出しです。 CoSetProxyBlanket を使用して、クライアントは偽装レベルを設定します
CoSetProxyBlanket を使用して、クライアントは、サーバーが CoImpersonateClient を呼び出すときに使用できる偽装レベルとプロキシ ID を設定します。 偽装が行われるときにサーバーに表示される ID については、「 クローキング」を参照してください。 偽装中に呼び出しを行うと、呼び出し先は通常、呼び出し元の偽装トークンではなく、呼び出し元のプロセス トークンを受け取ることに注意してください。 呼び出し元の偽装トークンを受信するには、呼び出し元がクローキングを有効にする必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー |
|