Security Identity Propagation サンプルの実行

Security Identity Propagation サンプルを実行するには、適切なトランスポート入力ノードを通じて、各サンプル・メッセージをメインの Security Identity Propagation メッセージ・フローに配置します。 サンプルを実行すると、以下の状態でどのようなことが生じるかを理解できます。

詳しくは、Security Identity Propagation サンプルについてを参照してください。

サンプルの実行時に問題を検出した場合は、 WebSphere Message Broker 資料の『サンプル実行時の問題の解決』を参照してください。

MQMD メッセージ・ヘッダーにユーザー ID トークンを含む WebSphere MQ メッセージを使用してサンプルを実行する

WebSphere MQ メッセージ内の MQMD メッセージ・ヘッダーは、ブローカー内のセキュリティー・システムに次のような情報を提供します。

MQMD ヘッダーにユーザー ID トークンを含む WebSphere MQ メッセージを使用してサンプルを実行するには、次のようにします。

  1. 「ブローカー開発」ビューで、SecurityIdentitySampleFlowProject プロジェクトを展開します。 「フロー・テスト」ディレクトリーを展開し、Security_Identity_MQ_ID.mbtest をダブルクリックして、テスト・クライアントでファイルを開きます。
  2. 「メッセージ・フロー・テスト・イベント」のツールバーで「エンキュー」をクリックします。 XML メッセージには、メッセージ本体のエレメントが一切含まれないことに注意してください。
  3. 「詳細プロパティー」セクションで「ヘッダー」を展開します。選択されているメッセージ・ヘッダーが「Send Identity」であることに注意してください。テスト・クライアントで「構成」タブに切り替えて、MQ メッセージ・ヘッダー「Send Identity 」を選択すると、このヘッダーの詳細を表示できます。 ヘッダーの詳細には、「User id」として mqmdUID「Put application name」として Test Client が含まれています。
  4. 「イベント」 タブで、「メッセージの送信」をクリックします。 メッセージが SECURITYIDFROMMQIN キューに書き込まれます。
  5. 以下の結果を参照します。

メッセージ本体に ID 信任状を含む WebSphere MQ メッセージを使用してサンプルを実行する

WebSphere MQ の MQMD が発行者およびユーザー ID トークンしか提供できない制限を克服するために、 追加の MQInput ノードが用意されています。このノードは、メッセージ本体のフィールドから一連のセキュリティー信任状をすべて抽出するように構成されています。

メッセージ本体にユーザー ID トークンを含む WebSphere MQ メッセージを使用してサンプルを実行するには、次のようにします。

  1. 「ブローカー開発」ビューで、SecurityIdentitySampleFlowProject プロジェクトを展開します。 「フロー・テスト」ディレクトリーを展開し、Security_Identity_MSG_ID.mbtest をダブルクリックして、テスト・クライアントでファイルを開きます。
  2. 「エンキュー」をクリックします。メッセージには、Body.MessageIdentity フォルダー内のエレメントが含まれることに注意してください。これは以下の ID 信任状を定義しています。
  3. 「詳細プロパティー」セクションで「ヘッダー」を展開します。 選択されているメッセージ・ヘッダーが「Default Header」であることに注意してください。テスト・クライアントで「構成」タブに切り替えて、MQ メッセージ・ヘッダー「Default Header」を選択すると、このヘッダーの詳細を表示できます。 「User id」 および 「Put application name」 はブランクです。
  4. 「イベント」 タブで、「メッセージの送信」をクリックします。 メッセージが SECURITYIDFROMMSGIN キューに書き込まれます。
  5. 以下の結果を参照します。

マップ ID を設定する必要のある WebSphere MQ メッセージを使用してサンプルを実行する

通常、ユーザー名と発行者しか含まない WebSphere MQ メッセージを操作する場合は、 信任状に対する統合 ID マッピングを呼び出す必要があります。これにより、信任状は、サービス要求を呼び出すのに適した形式、例えば、ユーザー名とパスワードを必要とする形式にマップできます。通常、この操作を実行するには、外部の統合 ID マネージャーを呼び出します。 このサンプルでは、Compute ノードを使用して着信 ID をマップすることにより、以下のセキュリティー信任状を作成する簡単なソリューションを提供します。

メッセージの MQMD に渡されるユーザー名に基づいてマップ ID を設定する要求が WebSphere MQ 入力メッセージに含まれており、このメッセージを使用してサンプルを実行するには、次のようにします。

  1. 「ブローカー開発」ビューで、SecurityIdentitySampleFlowProject プロジェクトを展開します。 「フロー・テスト」ディレクトリーを展開し、Security_Identity_Mapped.mbtest をダブルクリックして、テスト・クライアントでファイルを開きます。
  2. 「エンキュー」をクリックします。メッセージには、Body.MapIdentity エレメントが含まれることに注意してください。 メッセージにこのエレメントが含まれていると、SecurityIdentitySampleFlow メッセージ・フローの ESQL で、マップ ID 信任状が上記のように設定されます。
  3. 「詳細プロパティー」セクションで「ヘッダー」を展開します。選択されているメッセージ・ヘッダーが「Send Identity」であることに注意してください。テスト・クライアントで「構成」タブに切り替えて、MQ メッセージ・ヘッダー「Send Identity 」を選択すると、このヘッダーの詳細を表示できます。 ヘッダーの詳細には、「User id」としてTESTUSER「Put application name」として BRKTSTCLNT が含まれています。
  4. 「イベント」 タブで、「メッセージの送信」をクリックします。 メッセージが SECURITYIDFROMMQIN キューに書き込まれます。
  5. 以下の結果を参照します。

HTTP 要求メッセージを使用してサンプルを実行する

HTTP トランスポートでは、ユーザー名およびパスワードなどのセキュリティー信任状を HTTP ヘッダーに入れて渡すことができます。 HTTP 基本認証ヘッダーにユーザー ID およびパスワード・トークンを含む HTTP 要求メッセージを使用してサンプルを実行するために、Java アプリケーションが用意されています。この Java アプリケーションを使用すると、ユーザー名とパスワードを含むテキスト・ファイルの内容を サンプル・メッセージ・フローの HTTP 入力に実行依頼できます。

サンプル・プログラムには、以下の引数が含まれます。

java BasicAuthHttpPost
<URLHost> <URLPort> <URLPathSuffix> <XML file>
[<UserId> <Password> ]  

ここで、引数の内容は以下のとおりです。

HTTP 要求メッセージを使用してサンプルを実行するには、次のようにします。

  1. WebSphere Message Broker Toolkit で、Java パースペクティブに切り替えます。
  2. 「パッケージ・エクスプローラー」ビューで、SecurityIdentitySampleApplicationProject プロジェクトを展開してパッケージ com.ibm.wmb.sample.httpClient を展開します。
  3. com.ibm.wmb.sample.httpClient の下の HttpPostFileWithBAuth.java を右クリックし、「実行」>「実行の構成」を選択して、実行の構成ウィザードを開きます。
  4. 左側のツリー表示の「Java アプリケーション」をダブルクリックし、HttpPostFileWithBAuth という構成を選択します。
  5. 「メイン」タブで、「プロジェクト」SecurityIdentitySampleApplicationProject に設定されていることを確認します。
  6. 「メイン・クラス」com.ibm.wmb.sample.httpClient.HttpPostFileWithBAuth に設定されていることを確認します。
  7. 「実行」ウィザードの「引数」タブに切り替えて、「プログラムの引数」に次のように入力します。

    Windows の場合:

    		 localhost 7080 /Security/IdentityFromHttp
    		Messages¥Simple.xml HttpUserName HttpPassword
    
    Linux または Unix の場合:
    localhost 7080 /Security/IdentityFromHttp
    Messages/Simple.xml HttpUserName HttpPassword 
  8. これで、実行構成が作成されました。
    「実行」をクリックすると、アプリケーションが始動して HTTP 要求がサンプルに送信されます。 以下の結果を参照します。

サンプルのホームに戻る