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

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

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

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

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

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

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

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

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

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

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

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

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

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