複数バスのアクセス制御
サービス統合バスのメッセージング・エンジンが、 ロール・ベースの許可を使用して、 ローカル・バスが外部サービス統合バスおよび IBM MQ と安全にメッセージを交換できるようにします。
サービス統合の権限はロール・ベースです。 ユーザー・リポジトリー内のユーザー ID のグループを、 ローカル・バス上の宛先の 1 つ以上のアクセス・ロールに割り当てることによって、 そのバス宛先で、アクセスして操作を実行する権限を持つユーザーを制御することができます。 メッセージング・エンジンは、実行時にロールの割り当てを使用して、宛先でグループ・メンバーが実行できる操作を判断します。 クライアント・アプリケーションで別のバスとメッセージを交換する必要がある場合は、クライアント・アプリケーションの ID を、 リモート (外部) バスの Sender および Receiver ロールに割り当てる必要があります。 クライアント・アプリケーションがローカル・バス宛先から外部バス宛先にメッセージを送信する場合、 メッセージング・エンジンは、クライアント・アプリケーションの ID の権限に対して、以下の 2 段階の検査を実行します。
- 第 1 段階の許可検査
- クライアント・アプリケーションがローカル宛先からメッセージを送信する場合、メッセージング・エンジンは、 クライアント・アプリケーションの ID に外部バス宛先の Sender ロールの権限があるかを検査します。
- 第 2 段階の許可検査
- 外部バス宛先がメッセージを受け取ると、 メッセージング・エンジンは、(最初は送信側クライアント・アプリケーションの ID に設定された) メッセージ ID に外部バス宛先の Sender ロールの権限があるかを検査します。
メッセージは、外部バス宛先プロキシー定義または外部バス定義を使用して、外部バス宛先に送信されます。 定義には、送信側に外部バスにメッセージを送信する権限があるかどうかを決定する権限が含まれています。 外部宛先定義によって、宛先に基づいて宛先での権限を付与することができます。 特定の宛先の外部宛先定義が存在しない場合、メッセージング・エンジンはデフォルトの外部バス定義を使用します。
クライアント・アプリケーションが外部バスにメッセージを送信できるかどうかを制御するのは外部バスのロール割り当て (外部バス宛先) であるということを理解することは重要です。 外部バスがメッセージを受け取ると、外部バス上のメッセージング・エンジンは、外部バス・ロール割り当てを使用して、 メッセージを外部バス宛先に進めることができるかどうかを検査します。
第 2 段階の許可検査では、メッセージング・エンジンは、メッセージに格納された ID を使用します。 これは、最初は送信側クライアント・アプリケーションの ID に設定されていますが、 外部バス宛先では、インバウンド・ユーザー ID またはアウトバウンド・ユーザー ID プロパティーで指定された値に置き換わっている可能性があります。 この場合、メッセージング・エンジンは、元の送信側クライアント・アプリケーションの ID ではなく、 インバウンドまたはアウトバウンド・ユーザー ID を使用して、 外部バスの許可検査を実行します。
- 送信側クライアント・アプリケーションには、適切な外部バス宛先の Sender ロールの権限がある必要があります。
- 外部バス宛先が存在している必要があります。
また、インバウンドおよびアウトバウンド・ユーザー ID の検査は、メッセージが複数のバス経由でルーティングされる場合、 およびメッセージが IBM MQ ネットワークに送信される場合にも行われます。
セキュア・バスがリンクされる場合、それらのバス間のリンクを保護し てください。SSL を使用してバス間の仮想リンク に沿って伝送されるデータを保護するには、所要のトランスポート・チェーン を定義してから、トランスポート・チェーン名を参照する必要があります。