Security Identity Propagation サンプルについて

Security Identity Propagation サンプルは、IBM Integration Bus に含まれるいくつかの ID セキュリティー機能の使い方を示すものです。

実際のセキュリティー実装環境は、識別や与信を定義する、全国規模の外部のセキュリティー・プロバイダーに依存しているので、このサンプルはセキュリティー強化を実現するものではありません。事前にビルドされたサンプルは、MQInput および HTTPInput ノードでセキュリティー資格情報をメッセージから抽出する方法、ESQL を使用してセキュリティー資格情報を取り扱う方法、およびそれらのレポートを作成してオプションでマップする方法を示します。 サンプルには、MQOutput および HTTPRequest ノードを使用して ID を伝搬する方法も示されています。

『サンプルの拡張』のセクションでは、外部セキュリティー・プロバイダーをサンプルに組み込む方法の詳細が提供されます。

Security Identity Propagation サンプルでは、以下のタスクを示します。

メッセージ・フローのセキュリティーに関連した概念について、詳しくは IBM Integration Bus 資料の メッセージ・フローのセキュリティーを参照してください。

メッセージ・フロー

以下の図は、Security Propagation Sample のメイン・メッセージ・フロー (SecurityIdentitySampleFlowProject 統合プロジェクトの SecurityIdentitySampleFlow.msgflow) を示しています。 このメッセージ・フローは、1 つの HTTPInput ノードと、共通のサブフローを起動する 2 つの MQInput ノードから構成されています。

Security Propagation メイン・メッセージ・フローの画面取り

HTTP_ID という名前の HTTPInput ノードは、HTTP 基本認証ヘッダーの中で渡される ID を抽出します。それは着信要求からユーザー名とパスワード・トークンをエンコードしたものです。HTTPInput ノードは、提供されている BAR ファイル SecurityIdentityPropagation.bar において、セキュリティー・プロファイルに「デフォルトの伝搬」という設定値を持つように構成されています。

MQ_ID MQInput ノードは、着信メッセージの WebSphere MQ MQMD メッセージ・ヘッダーの中で渡される、ユーザー名のみを持つ ID を抽出します。MQ_ID ノードは、提供されている BAR ファイル SecurityIdentityPropagation.bar において、セキュリティー・プロファイルに「デフォルトの伝搬」という設定値を持つように構成されています。

MSG_ID MQInput ノードは、ユーザー名とパスワードの両方から成る ID 資格情報の組を抽出します。MSG_ID ノードの「セキュリティー」プロパティーは、ID 資格情報が WebSphere MQ メッセージの本体の中で渡されるように構成されています。MSG_ID ノードは、提供されている BAR ファイル SecurityIdentityPropagation.bar において、セキュリティー・プロファイルに「デフォルトの伝搬」という設定値を持つように構成されています。

次の図は、Security Identity Propagation サブフロー SecurityIdentitySubFlow.msgflow を示しています。これは各入力ノードによって呼び出されます。

Security Identity Propagation サブフローの画面取り

このサブフローは MapIdentity と呼ばれる 1 つの Compute ノードを含んでいます。このノードは、入力メッセージの内容が「マップ ID」の設定を要求している場合に、メッセージのプロパティー・フォルダーに「マップ ID」を設定することができます。HTTP_ReqAsID と呼ばれる HTTPRequest ノードは、プロパティー・フォルダー中のソース ID またはマップ ID のいずれかを用いて、SecurityIdentityReportFlow メッセージ・フローに要求を発行します。このノードはメッセージ・ツリーを、そのフローからの要求で置き換えます。HTTPRequestNode は、提供されている BAR ファイル SecurityIdentityPropagation.bar において、「デフォルトの伝搬」のセキュリティー・プロファイルを持つように構成されているので、マップ ID のソースを伝搬します。ClearHdrs という最後の Compute ノードは、メイン・フローが WebSphere MQ を介して応答メッセージを送信する場合に、HTTP 要求ヘッダーをクリアするために備えられています。

次の図は、サブフローによって呼び出される、SecurityIdentityReportFlow.msgflow と呼ばれる Security Propagation Sample Report Identity メッセージ・フローを示しています。このメッセージ・フローは、関連する ID を伝搬します。

Security Propagation Report Identity メッセージ・フローの画面取り

Security Propagation Sample Report Identity メッセージ・フロー中の、Report Identity Compute ノードは、body フォルダーが存在する場合、メッセージの BODY 要素フィールドの中で受け取った ID を報告します。

メッセージ

Security Propagation サンプルを実行するために、次の 3 つの入力メッセージが用意されています。

サンプルのホームに戻る