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

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

サーバーのサービス品質情報を指定するには

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

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

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

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

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

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

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

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

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

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

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