簡體   English   中英

WebSphere MQ 7.1幫助需求 - 訪問或安全性

[英]WebSphere MQ 7.1 Help Need - Access or Security

我想在WebSphere MQ服務器上創建一個隊列管理器和一個隊列,我想做兩件事:1)從客戶端框中使用WMQ Explorer訪問隊列管理器和隊列2)編寫一個運行於其上的Java獨立應用程序客戶端框並從隊列中放入和接收消息。

但是我收到身份驗證例外。 請讓我知道我做錯了什么?

Linux服務器盒:

我安裝了WebSphere MQ v7.1
隊列管理器QM_TEST創建( crtmqmstrmqm命令)
創建本地隊列Q_TESTrunmqscdefine qlocal
定義SVRCONN通道( DEFINE CHANNEL (TEST_CHANNEL) CHLTYPE (SVRCONN) TRPTYPE (TCP)
啟動了一個監聽器( runmqlsr -t tcp -m QM_TEST -p 1414

Linux客戶端盒:

嘗試使用主機名,IP地址,隊列管理器名稱和通道名稱顯示/隱藏隊列管理器; 但是我收到以下錯誤:

Access not permitted. You are not authorized to perform this operation. (AMQ4036)
Severity: 10 (Warning)
Explanation: The queue manager security mechanism has indicated that the userid associated with this request is not authorized to access the object.

試圖使用java代碼訪問隊列管理器和隊列,下面給出了重點:

public void sendMail(Mail mail) { MQConnectionFactory cf = new
MQQueueConnectionFactory(); Connection conn = null; try { //config
cf.setHostName("hostname"); cf.setPort(1414);
cf.setQueueManager("QM_TEST"); cf.setChannel("TEST_CHANNEL");
cf.setTransportType(WMQConstants.WMQ_CM_CLIENT);//WMQ_CM_DIRECT_TCPIP);
WMQ_CM_CLIENT

conn = cf.createConnection(); //fails here

但是我收到以下錯誤:

發生錯誤:JMSWMQ2013:安全認證無效,為QueueManager'QM_TEST'提供連接模式'Client'和主機名'hostname(1414)'。

你能幫我嗎? 如何傳遞安全認證信息? 現在,如果我也可以禁用安全性,那也沒關系。 只需要讓這個工作?

如果我需要提供更多信息,請告訴我。


更新:
我創建了“mq-user”linux用戶(mq-users組)。 CHLAUTH已啟用(默認)。 在創建隊列管理器QM_TEST(使用sudo mqm)后,我使用sudo mqm再次執行了以下mqsc命令:

DEFINE QLOCAL(TEST_QUEUE)
SET AUTHREC PROFILE('TEST_QUEUE') OBJTYPE(QUEUE) PRINCIPAL('mq-user') AUTHADD(PUT,GET)
SET AUTHREC OBJTYPE(QMGR) PRINCIPAL('mq-user') AUTHADD(CONNECT)
DEFINE CHANNEL (TEST_CHANNEL) CHLTYPE (SVRCONN) TRPTYPE (TCP)
SET CHLAUTH(TEST_CHANNEL) TYPE(ADDRESSMAP) ADDRESS('xxx.xx.xxx.*') MCAUSER('mq-user')
DEFINE LISTENER (TEST_LISTENER) TRPTYPE (TCP) CONTROL (QMGR) PORT (1414)
START LISTENER (TEST_LISTENER)

我仍然得到AMQ4036訪問不允許的錯誤。 請注意,我從作為第三個用戶登錄的第三台遠程計算機(客戶端計算機)訪問隊列管理器和隊列。 但是我意識到我可以傳遞'mq-user'憑據。 我希望某處有一個明確的分步說明,WebShere MQ 71.信息中心對我來說不夠清楚。

這還缺少什么?

對於WMQ的v7.1,隊列管理器默認情況下不允許管理連接。 因此,如果您使用的ID是mqm或者它位於MQ服務器上的mqm組中,則它將無法訪問。 easy(read:NOT SECURE)解決此問題的方法是刪除包含規則的CHLAUTH記錄。 IBM已經發表了關於此技術在這里

更長期和更好的解決方案是保留不允許管理訪問的CHLAUTH記錄,而是使用不同的用戶ID進行連接。 當然,該ID需要存在於MQ服務器中並且位於已授權的組中。 有關該主題的更多信息,請在此處查看幻燈片和網絡研討會錄音。

當您准備好重新打開安全性時,您可以找到有關在t-rob.net上使用什么setmqaut命令的大量信息,其中我已經在IMPACT和歐洲WSTC會議中存檔了安全演示和實驗。

T. Rob是100%正確的。 但是,不要誤解這一點,因為您可以關閉安全性。 IBM設計V7.1以確保安全性具有這種嚴格性是有原因的。 他們積極主動地解決PCI-DSS的立法和行業准則。 感謝IBM。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM