ユーザー識別
サービス統合メッセージには、次の 2 つのユーザー ID が含まれています。システム・ユーザー ID および アプリケーション・ユーザー ID。IBM MQ は、IBM MQ メッセージ記述子 (MQMD) のユーザー ID フィールドを、サービス統合メッセージで使用される システム・ユーザー ID から設定できます。IBM MQ サーバーを使用して IBM MQ との 相互運用を行うときにサービス統合のアプリケーション・ユーザー ID を保持するには、追加処理が必要です。
サービス統合メッセージには、次の 2 つのユーザー ID が含まれています。
- システム・ユーザー ID : 一般的に、システム・ユーザー ID は、メッセージを作成したユーザーの ID に設定され、 ユーザーがバスに接続するときに指定されます。メッセージに保管されたシステム・ユーザー ID を、 アプリケーション・コードによって変更することはできません。
- アプリケーション・ユーザー ID : これは JMSXUserID メッセージ・プロパティーに対応しており、 アプリケーション・コードによって設定できます。
IBM MQ メッセージ記述子 (MQMD) のユーザー ID フィールドを、サービス統合メッセージで使用される システム・ユーザー ID から設定するように IBM MQ を構成することができます。ただし、MQMD のユーザー ID には 1 つのフィールドしかありません。 宛先で MQRFH2 ヘッダーを使用できる場合、メッセージにあるアプリケーション・ユーザー ID は、 jjsApiUserId というキーを使用して RFH2 ヘッダーの <sib> フォルダーに置かれます。
IBM MQ サーバー・バス・メンバー
にローカライズされたキュー・ポイントまたはメディエーション・ポイントからメッセージを受け取った場合は、
関連付けられた IBM MQ サーバーの定義がユーザー ID を信頼するかどうかによって、次のアクションが実行されます。
- IBM MQ サーバーがユーザー ID を信頼するように構成されている場合、サービス統合メッセージのシステム・ユーザー ID は、MQMD にあるユーザー ID からコピーされます。
- IBM MQ サーバーがユーザー ID を信頼するように構成されていない場合、サービス統合メッセージのシステム・ユーザー ID は、メッセージの受け取り元の IBM MQ サーバーの名前に設定されます。
次のオブジェクトが構成されている例を考えてみます。
- IBM MQ サーバー (QM1)
- trustUserIds 属性が FALSE に設定された IBM MQ サーバー・バス・メンバー。
- IBM MQ サーバー・バス・メンバーに Q1 が割り当てられた、キュー・タイプ宛先。
サービス統合メッセージのシステム・ユーザー ID の設定とは無関係に、 アプリケーション・ユーザー ID は常に jsApiUserId RFH2 の値によって設定されます。 RFH2 ヘッダーの <sib> フォルダーに値の組が存在しないか、メッセージに RFH2 ヘッダーがないために この値が存在しない場合、このフィールドは設定されません。
セキュリティー・ユーザー ID は MQMD メッセージ記述子においてトランスポートされるため、 長さは 12 文字に制限されています。ユーザー ID が長い場合は切り捨てられます。