クライアントでのTransport-Level セキュリティの使用

クライアントは、クライアントが文字列バインディングを確立するときに、サーバーがクライアントを偽装する方法を指定します。 この QOS 情報は、文字列バインディングのエンドポイント オプションとして提供されます。 クライアントは、偽装、動的または静的追跡、および有効な専用フラグのレベルを指定できます。

サーバーのサービス品質情報を提供するには

  1. クライアントは RpcStringBindingCompose を呼び出して、エンドポイント オプションを含むコンポーネント文字列を正しい文字列バインディング コンテキストで作成します。
  2. クライアントは RpcBindingFromStringBinding を 呼び出して新しいバインド ハンドルを取得し、クライアントのサービス品質情報を適用します。
  3. クライアントは、 ハンドルを使用してリモート プロシージャ呼び出しを行います。

Microsoft RPC では、 ncacn_npncalrpc でのみ Windows セキュリティ機能がサポートされています。 他のトランスポートのセキュリティ オプションは無視されます。

クライアントは、次のセキュリティ パラメーターを、名前付きパイプ トランスポート ncacn_np または ncalrpc のバインドに関連付けることができます。

  • 識別、偽装、または匿名。 使用するセキュリティの種類を指定します。 既定値は Impersonation です。

  • 動的または静的。 スレッドに関連付けられているセキュリティ情報が、リモート プロシージャ 呼び出しの実行時に作成されたセキュリティ情報のコピー (静的) か、セキュリティ情報へのポインター (動的) かを決定します。

    静的セキュリティ情報は変更されません。 動的設定には、リモート プロシージャ コールの実行後に行われた変更を含む、現在のセキュリティ設定が反映されます。 ncacn_npの場合、リモートの名前付きパイプ接続の既定値は静的であり、ローカルの名前付きパイプ接続の場合、既定値は動的です。

  • TRUE または FALSE。 有効なフラグの値を指定します。 TRUE の値は、呼び出し時に に設定されたトークン特権のみが有効であることを示します。 FALSE の値は、すべての特権が使用可能であり、アプリケーションで変更できることを示します。

次の例に示すように、これらの設定の任意の組み合わせをバインドに割り当てることができます。

"Security=Identification Dynamic True"
"Security=Anonymous Static True"
"Security=Impersonation Static False"

既定のセキュリティ パラメーター設定は、トランスポート プロトコルによって異なります。

エンドポイント オプションの構文の詳細については、「 エンドポイント」を参照してください。