ダイアログ セキュリティの種類の決定

メッセージ交換に使用されるダイアログ セキュリティの種類は、BEGIN DIALOG CONVERSATION ステートメントのオプション、サービスのリモート サービス バインドに関する設定、および発信側サービスの所有者が証明書を所有しているかどうかによって異なります。新しいダイアログごとに、SQL Server が sys.remote_service_bindings カタログ ビューで対象サービスのリモート サービス バインドを検索します。

次の表は、それぞれの有効な組み合わせに対するダイアログ セキュリティの種類の一覧です。リモート サービス バインドが存在する場合、BEGIN DIALOG CONVERSATION ステートメントでの設定に関係なく、ダイアログでは暗号化が使用されることに注意してください。

 

 

リモート サービス バインドなし

ANONYMOUS = ON に設定されたリモート サービス バインド

ANONYMOUS = OFF に設定されたリモート サービス バインド

サービス所有者が証明書を保持

ENCRYPTION = ON

ダイアログ失敗

匿名セキュリティ

完全セキュリティ

サービス所有者が証明書を保持

ENCRYPTION = OFF

ダイアログ セキュリティなし

匿名セキュリティ

完全セキュリティ

サービス所有者が証明書を保持しない

ENCRYPTION = ON

ダイアログ失敗

匿名セキュリティ

ダイアログ失敗

サービス所有者が証明書を保持しない

ENCRYPTION = OFF

ダイアログ セキュリティなし

匿名セキュリティ

ダイアログ失敗

  • ダイアログ失敗
    要求されたセキュリティを提供するために必要な情報が、SQL Server にありません。Service Broker がメッセージ交換を終了し、発信側サービスのキューにエラー メッセージを入れます。

  • ダイアログ セキュリティなし
    SQL Server が、ダイアログに対してダイアログ セキュリティを提供しません。発信側サービスに代わる操作が、対象データベースで public として実行されます。このダイアログではメッセージが暗号化されません。ただし、トランスポート セキュリティによってネットワーク上でメッセージが暗号化される場合があることに注意してください。

  • 匿名セキュリティ
    SQL Server が匿名セキュリティを使用します。このダイアログでは、インスタンス外部のメッセージが暗号化されます。対象サービスが発信側サービスの ID を検証できないため、発信側サービスに代わる操作が対象データベースで public として実行されます。

  • 完全セキュリティ
    SQL Server が完全セキュリティを使用します。このダイアログでは、インスタンス外部のメッセージが暗号化されます。発信側サービスに代わる操作が、対象データベースで指定されたユーザーとして実行されます。