確かに、サンプル構成はそれほど多くありません。構成のために試すことができるものを次に示します。
NetTcpRelayBindingConstructor
NetTcpRelayBinding コンストラクター (EndToEndSecurityMode、RelayClientAuthenticationType)
EndToEndSecurityMode には、次の列挙があります。
Member name Description
None Security is disabled.
Transport Security is provided using a transport security, typically SSL.
Message Security is provided using SOAP message security.
TransportWithMessageCredential A secure transport (for example, HTTPS) provides integrity, confidentiality, and authentication while SOAP message security provides client authentication.
RelayClientAuthenticationには以下の列挙があります。
Member name Description
RelayAccessToken If specified by a listener, the client is required to provide a security token.
None If specified by a listener, the client will not be required to provide a security token. This represents an opt-out mechanism with which listeners can waive the Access Control protection on the endpoint.
私が見た最も近い構成例は -
http://msdn.microsoft.com/en-us/library/windowsazure/microsoft.servicebus.nettcprelaybinding.aspxです。
<bindings>
<!-- Application Binding -->
<netTcpRelayBinding>
<binding name="customBinding">
<!-- Turn off client authentication -->
<security relayClientAuthenticationType="None" />
</netTcpRelayBinding>
</bindings>
使用できる例を次に示します。
<bindings>
<!-- Application Binding -->
<netTcpRelayBinding>
<binding name="customBinding">
<!-- Turn off client authentication -->
<security endToEndSecurityMode=”TransportWithMessageCredential” relayClientAuthenticationType="None" />
</netTcpRelayBinding>
</bindings>
ただし、それを使用するには、Service Bus バインディング拡張要素が machine.config またはアプリケーション構成ファイルに追加されていることを確認する必要があります。そうでない場合は、Visual Studio がエラーをスローします。
クライアントからサービスへのエンド ツー エンドのセキュリティは、サービス バス固有のものではなく、単なる標準の WCF です。SB が必要とするのは、以下の relayClientAuthenticationType だけです。
<security mode="" relayClientAuthenticationType="RelayAccessToken">
nettcprelaybinding のセキュリティのセットアップは、nettcpbinding と似ている必要があります。nettcpbinding サンプルを出発点として使用できます。