2017-08-28 1 views
1

HermesJmsを使用してMQ8サーバにアクセスしています。HermesJMSからMQ8へのエラー2035( 'MQRC_NOT_AUTHORIZED')

後者は、以下の構成を有する:

enter image description here

私はエルメスによって提供される関連オプションを使用して「発見」にしようとしていますしかし、私はキューに現れ、次のメッセージを表示して2035を取得しますマネージャのエラーログ:

AMQ9557: Queue Manager User ID initialization failed for 'pkaramol'. 

EXPLANATION: 
The call to initialize the User ID 'pkaramol' failed with CompCode 2 and Reason 
2035. 

pkaramolは、私はエルメスを実行しているLinuxマシンでは、としてログインしています私の地元のOSのユーザーであること。

質問

1)私はCHLAUTHCONNAUTHの両方を無効にしているという事実にもかかわらず、次のエラーが出るのはなぜ:

ALTER QMGR CHLAUTH(DISABLED) CONNAUTH(' ') 

REFRESH SECURITY TYPE(CONNAUTH) 

2)なぜ、サーバがユーザとしてpkaramolを知覚されますHermesJMSのClientIDuserフィールドの両方にmquserを明示的に指定していますが、キューマネージャにアクセスしようとしていますか?

+0

クエリマネージャのAMQERR01.LOGに同じタイムスタンプのエラーがありますか? – JoshMc

+0

エラーは 'MQCSPブロックが使用された場合、MQCSPブロックのユーザーIDは 'mquser'であると言いますか?使用しているHermesJMSのバージョンを確認できますか? – JoshMc

+0

@JoshMcいいえ、他にエラーはなく、MQSCPメッセージも出力されません。私はサーバ上で 'pkaramol'システムユーザを作成し、彼を' mqm'グループに追加することで自分のエラーを回避することができましたが、これについては適切な方法ではありません。 – pkaramol

答えて

-2

setmqautコマンドを使用して、キューマネージャとキューにアクセスするためのUserIdの「pkaramol」権限を与える必要があります。

+1

彼はあなたの答えをどのように表現したかによって混乱しました。質問ではなく、声明として。よくある問題です。我々は、解答の質問をするために回答ボックスを濫用しようとする人々がたくさんいます。私はその言葉を将来的には問題にならないように調整しました。 –

1

私はHermesJMSに多くのドキュメントを見つけることはできませんが、いくつかの試行錯誤を通じて、私はそれはあなたが出会うをクリックした場合、それは常にあなたがキューにとしてログインしているユーザーに送信されますUserPassword設定を尊重していないことが判明マネージャーなので、ユーザーが表示されない理由はmquserです。あなたは、キュー・マネージャを使用すると、次のエラーが表示され実行しているサーバー上に存在しないユーザーpkaramolとして、それを実行しているので:

AMQ9557: Queue Manager User ID initialization failed for 'pkaramol'. 

私はまた、使用して一時動的キューを開く発見を実行することがわかりましたモデルキューSYSTEM.DEFAULT.MODEL.QUEUEを呼び出し、PCFメッセージをSYSTEM.ADMIN.COMMAND.QUEUEに送信します。さらに、キューの詳細を検出するには、キュー上に最低でも+inq+dspが必要です。

お客様のご質問には、pkaramolというユーザーをサーバーに追加し、mqmグループに追加したことを記載しました。これを有効にする簡単な方法ですが、そのユーザーに完全なMQ Adminアクセスを提供します。実際のユーザーに次の権限を与えても、キュー・マネージャー上のすべてのオブジェクトをディスカバーすることはできます。ユーザーがサーバー上のメンバーであるグループと単語以下groupを交換してください:

setmqaut -m DMSQM -t qmgr -g group +connect +inq +dsp 
setmqaut -m DMSQM -n SYSTEM.ADMIN.COMMAND.QUEUE -t queue -g group +inq +put +dsp 
setmqaut -m DMSQM -n SYSTEM.DEFAULT.MODEL.QUEUE -t queue -g group +get +dsp 
setmqaut -m DMSQM -n '**' -t queue -g group +inq +dsp 

を私はまた、あなたがそれらを追加発見を通じて、または手動のいずれかの人口のキューを持っていたら、それはあなたのユーザーを使用することに注意しました指定された。

CHLAUTHおよびCONNAUTHを無効にすると、キュー・マネージャは表示され、使用されているすべてのものを取得することに注意してください。 CONNAUTHを有効にしておき、有効なユーザーとパスワードを指定すると、MQがそれを認証します。

Discoverがユーザー設定を尊重しないため、別のオプションは、mquserのSVRCONNチャネルにMCAUSERを設定することです。

+0

ありがとう、それは本当に有用なフィードバックでした。 – pkaramol

+0

@pkaramol HermesJMSのどのバージョンをお使いですか? – JoshMc

+0

私はUbuntu 16.04で1.14を使用していますが、これはWindowsユーザーでも認識されています。 – pkaramol

関連する問題