プロセス間のメッセージの認証
次の図に、BizTalk ホスト間でメッセージの認証に使用できる BizTalk Server のセキュリティ機能を示します。
メッセージ
BizTalk Server でプロセス間のメッセージ認証に使用されるセキュリティ機能
BizTalk Server で、メッセージが受信、解読、検証され、メッセージの送信者を識別する有効なパーティ ID (PID) と証明書が取得されると、メッセージ ボックス データベースでは、メッセージに一致するサブスクリプションを確認して後続の処理用にメッセージを他のホストに送信する準備ができたことになります。
メッセージがプロセス間で受け渡される際には、承認、パーティの解決、送信者に関連するビジネス ロジックでの使用などの目的で、下流のプロセスにメッセージの元の送信者 ID を渡す必要が生じる場合があります。 しかし、すべてのホストに対し、セキュリティまたは信頼メカニズムを使用せずにこの情報を送信することを許可すると、すべてのユーザー オブジェクトとコード (オーケストレーション、アダプタ、パイプライン コンポーネント、Functoid など) について信頼性を検証する必要があり、負荷が非常に大きくなります。
BizTalk Server では、ユーザー オブジェクトやコードの信頼性レベルを区別する方法として、ホストのプロパティとして提供されている "信頼されている認証" を使用できます。 認証が信頼済みに設定されていないホストからメッセージを受信した場合、メッセージ ボックス データベースではメッセージの PID が Guest ID で上書きされ、SSID がホスト インスタンスを実行しているサービス アカウントで上書きされます。 認証が信頼済みに設定されているホストでは、メッセージ ボックス データベースにキュー送信するメッセージに任意の送信者 SID (SSID) および任意のパーティ ID (PID) を指定できます。
信頼済みのホストとそうでないホストを区別することで、ユーザー オブジェクトとコードを信頼できるかどうかのセキュリティ処理境界を定義できます。 つまり、認証が信頼済みに設定されているホストに展開されるユーザー オブジェクトとコードは、認証が信頼済みに設定されていないホストに展開されるユーザー オブジェクトとコードより信頼できます。 認証の信頼されたホストを構成する方法の詳細については、「 ホストのプロパティを変更する方法」を参照してください。
メッセージ ボックス データベースがメッセージを受信すると、BizTalk Server では以下の手順が実行され、メッセージ ボックス データベースにメッセージを送信したホスト インスタンスの認証が信頼済みであることが保証されます。
最初に、メッセージ ボックス データベースで、メッセージを送信したホストの認証が信頼済みに設定されているかどうかが判定されます。これは、そのホストの SSID が信頼済みホストのホスト インスタンス サービス アカウントの SSID であるかどうかを確認することで行われます。
メッセージ ボックス データベースにメッセージを送信したホストの認証が信頼済みに設定されている場合、メッセージ コンテキストの SSID と PID は、空でない限りそのまま残されます。 SSID が空の場合、メッセージ ボックス データベースでは、呼び出したプロセスの SID (ホスト SID (HSID)) が SSID として使用されます。 PID が空の場合は、Guest ID が PID として設定されます。
メッセージ ボックス データベースにメッセージを送信したホストの認証が信頼済みに設定されていない場合は、SSID と PID が既に設定されているかどうかに関係なく、SSID には HSID が設定され、PID には Guest ID が設定されます。
重要
下流のプロセスでメッセージの元の送信者の SSID と PID が必要な場合は、メッセージが通過するすべてのホストの認証を信頼済みに設定する必要があります。 また、オーケストレーションで受信したメッセージを送信メッセージの作成に使用する場合などは、受信メッセージの SSID と PID を送信メッセージのプロパティとして明示的に追加し、下流のプロセスに渡されるようにする必要があります。
重要
パイプラインが実行されているホストに対し認証を信頼済みとして構成した場合、BizTalk Server でそのパイプラインは信頼済みの環境と見なされます。 そのため、認証が信頼済みとなっているホストで実行されている BizTalk パイプラインについては、含まれるすべてのカスタム コンポーネントが信頼済みかどうかを確認することが非常に重要です。
Note
認証が信頼されているホストと、認証が信頼されていないホストには、同じサービス アカウントを使用することはできません。