偽装のサーバー側要件
サーバーは、プログラムによって偽装を実行します。 CoImpersonateClient を使用することにより、クライアントのセキュリティ資格情報を明示的に想定します。 クライアントがサーバーに十分な権限を付与すると、プロセス トークンの代わりに、クライアントのセキュリティ資格情報をサーバー スレッド トークンに置き換える効果があります。
これが完了すると、サーバーは、たとえば、クライアント トークンを使用して、セキュリティ記述子で保護されたリソースにアクセスすることができます。 または、クローキングが有効になっている場合、クライアント ID で呼び出しを行うことができます。
サーバーは、プログラムにより明示的にクローキングを設定することも、管理設定を利用することもできます。 既定では、COM+ アプリケーションは動的クローキングを使用するよう構成されています。 詳しくは、「クローキング」をご覧ください。
サーバーが、(ネットワーク経由でクライアント ID を使用して) クライアントに代わって委任を実装している場合、Active Directory サービスでサーバー プロセス ID を "委任に対して信頼されている" とマークする必要があります。それ以外の場合、委任は失敗します。
クライアントの ID の使用が完了すると、サーバーは CoRevertToSelf を使用して独自のプロセス トークンに戻すことができます。
偽装と委任の実装について詳しくは、「委任と偽装」をご覧ください。
関連トピック