ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » Clustering » MQ Security setup - design help needed

Post new topic  Reply to topic
 MQ Security setup - design help needed « View previous topic :: View next topic » 
Author Message
Sam Uppu
PostPosted: Mon Mar 23, 2009 12:52 pm    Post subject: MQ Security setup - design help needed Reply with quote

Yatiri

Joined: 11 Nov 2008
Posts: 610

We are on MQ version 6 on Solaris.

We have request/ reply scenario.

Lets say Requesting app(service requestor) is connected to QM1 and putting the messages onto Request queue(cluster queue) defined on QM2.

In this case we can define an local Alias queue for remote request queue(cluster queue) on QM1 and provide the privileges to the app id for the locally defined Alias queue

DEFINE QALIAS(REQ) TARGQ(REQ) DEFBIND(NOTFIXED)

....This is working.

The source application id: "App1" is not part of mqm group and not provided with permissions to SYSTEM.CLUSTER.TRANSMIT.QUEUE.

The destination app(service provider) should respond to the same QMgr where the request is originated from as there are multiple QMgrs which contain the same response queue names. In this case the destination app should respond to the response queue defined on QM1(as there are many response queues defined with the same name on other QMgrs within the cluster). The destination app will come to know this information from MQMD of the request message(ReplyToQueue and ReplyToQMgr fields) where it has to respond to.

In this case the destination app(service provider) need to provide the QMgr name while responding:


Queue req_queue = qMgr.accessQueue("RSP", openOptions,"QM1", null, null);
Where RSP is a response queue(cluster queue) defined on QM1 QMgr(service requestor).

In this case creating an Alias queue for RSP queue on QM2 does not resolve the queue name by providing the queue manager name as QM1 along with Alias Queue(RSP) defined on QM2.

We tried with creating local Alias queue on QM2 for the RSP but the source Application is getting 2035 error.

Also tried with Alias QMgr and still getting 2035 error.

Can anybody let me know what do you guys suggest.

Thanks.
Back to top
View user's profile Send private message
Sam Uppu
PostPosted: Mon Mar 23, 2009 1:01 pm    Post subject: Reply with quote

Yatiri

Joined: 11 Nov 2008
Posts: 610

I would like to allow the responding App connected to QM2(destination QMgr) to PUT it's reply message without giving it rights to put to the SYSTEM.CLUSTER.TRANSMIT.QUEUE.

Here QM1 is the source QMgr and QM2 is the destination QMgr. The request queue(cluster queue) is defined on QM2 and teh response queue(RSP) is defined on QM1.

Thanks for your time.
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon Mar 23, 2009 1:08 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

Is this connected to this, and is the background in this post relevant?
_________________
Honesty is the best policy.
Insanity is the best defence.


Last edited by Vitor on Mon Mar 23, 2009 1:50 pm; edited 1 time in total
Back to top
View user's profile Send private message
mqjeff
PostPosted: Mon Mar 23, 2009 1:16 pm    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

You ignored the suggestion to add +inq permission. You might need +dsp as well.
Back to top
View user's profile Send private message
Sam Uppu
PostPosted: Mon Mar 23, 2009 1:16 pm    Post subject: Reply with quote

Yatiri

Joined: 11 Nov 2008
Posts: 610

Vitor wrote:
Is this connected to [http://www.mqseries.net/phpBB2/viewtopic.php?t=48209]this[/url], and is the background in this post relevant?


Yes Vitor. This is our current MQ architecture and we want to secure the MQ infrastructure and for that I need your thoughts/ suggestions/ feedback/ concerns etc..

Thanks.
Back to top
View user's profile Send private message
Sam Uppu
PostPosted: Mon Mar 23, 2009 1:18 pm    Post subject: Reply with quote

Yatiri

Joined: 11 Nov 2008
Posts: 610

mqjeff wrote:
You ignored the suggestion to add +inq permission. You might need +dsp as well.


No Jeff. Infact I provided the +all permissions on all objects and trying. Still 2035 error.

Thanks.
Back to top
View user's profile Send private message
Sam Uppu
PostPosted: Mon Mar 23, 2009 1:24 pm    Post subject: Reply with quote

Yatiri

Joined: 11 Nov 2008
Posts: 610

We want to know how can the destination application(connecting to QM2) is able to access the cluster queue RSP defined on QM1?.

The source application wants to access a cluster queue defined on a specific QMgr by specifying the QMgr name in MQOD along with the queue name.

e.g., qMgr.accessQueue("RSP",
openOptions,"QM1", null, null);

1. We tried the above setup by creating an Alias queue-RSP on QM2 and provided permissions for the Application id"App2" on QM2.....still getting 2035 error

DEFINE QALIAS(RSP) TARGQ(RSP) DEFBIND(NOTFIXED)

Entity App2 has the following authorizations for object RSP:
get
browse
put
inq
set
dlt
chg
dsp
passid
passall
setid
setall
clr


2. We tried the above setup by creating an Alias QMgr-QM1 on QM2 and provided permissions for the Application id"App2" on QM2.....still getting 2035 error

DEFINE QREMOTE(QM1) TARGQ(' ') RQMNAME(QM1) CLUSTER(TEST)

Entity App2 has the following authorizations for object QM1:
get
browse
put
inq
set
dlt
chg
dsp
passid
passall
setid
setall
clr

Not sure whether OAM supports when the QMgr name is specified in MQ object descriptor(MQOD) along with the queue name(cluster queue). If so please direct me to the IBM document where it is stated...thanks.
Back to top
View user's profile Send private message
queuemanager
PostPosted: Fri Mar 27, 2009 12:42 am    Post subject: Reply with quote

Apprentice

Joined: 28 Nov 2006
Posts: 43
Location: Bangalore

Did you give connect access to App2 on QM2????
Back to top
View user's profile Send private message
Sam Uppu
PostPosted: Fri Mar 27, 2009 5:42 am    Post subject: Reply with quote

Yatiri

Joined: 11 Nov 2008
Posts: 610

queuemanager wrote:
Did you give connect access to App2 on QM2????


Yes. Tried with +all permissions.

Let me know..thanks.
Back to top
View user's profile Send private message
shashivarungupta
PostPosted: Fri Mar 27, 2009 4:28 pm    Post subject: Reply with quote

Grand Master

Joined: 24 Feb 2009
Posts: 1343
Location: Floating in space on a round rock.

Sam Uppu wrote:
queuemanager wrote:
Did you give connect access to App2 on QM2????


Yes. Tried with +all permissions.

Let me know..thanks.



If you are connected to qmgr A and your instance of the cluster queue is in qmgr B you cannot GET a message from that clustered queue.
You NEED to be connected to qmgr B to GET a message from said cluster queue.
However you will be able to PUT a message to the cluster queue while connected to qmgr A.

This is the same concept that works on the system cluster transmit queue.
You need to setmqaut on the cluster transmit queue.

As a suggestion, if you'll give setmqaut on the alias queue then application would be able to put the message on the target queue which is being pointed by alias queue. There is no need to give setmqaut on local queue.
But if you do that then there is no harm as well. (until you want your applications to give access to alias queues only, not to the local queues as per the security authorization level.)
Back to top
View user's profile Send private message Send e-mail
bruce2359
PostPosted: Fri Mar 27, 2009 5:20 pm    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9469
Location: US: west coast, almost. Otherwise, enroute.

Quote:
In this case creating an Alias queue for RSP queue on QM2 does not resolve the queue name by providing the queue manager name as QM1 along with Alias Queue(RSP) defined on QM2.

The reply-to-queue name and reply-to-qmgr name are resolved on the requesting (sending) qmgr, and not the replying qmgr. If either name fail to resolve, the MQPUT fails in the requesting application.
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Sat Mar 28, 2009 2:43 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

bruce2359 wrote:
Quote:
In this case creating an Alias queue for RSP queue on QM2 does not resolve the queue name by providing the queue manager name as QM1 along with Alias Queue(RSP) defined on QM2.

The reply-to-queue name and reply-to-qmgr name are resolved on the requesting (sending) qmgr, and not the replying qmgr. If either name fail to resolve, the MQPUT fails in the requesting application.


The ReplyToQ and ReplyToQmgr in the MQMD of the Request message is never ever resolved against anything by the Requester App or as part of transmitting the Request.

The only time any MQ name resolution takes place is during MQOPEN... Channel MCAs do not ever try to validate a route to the ReplyToQ/ReplyToQmgr destination as part of moving messages, either.

The Server App SHOULD cause a resolution of the address indicated by these fields when it wants to send the Reply message, and the resolution will take place on the qmgr that the server application is connected to. If it is following best practices and *Using* ReplyToQ and ReplyToQmgr fields to address the Reply Message.
Back to top
View user's profile Send private message
bruce2359
PostPosted: Sun Mar 29, 2009 9:00 am    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9469
Location: US: west coast, almost. Otherwise, enroute.

Quote:
The ReplyToQ and ReplyToQmgr in the MQMD of the Request message is never ever resolved against anything by the Requester App or as part of transmitting the Request.

You are correct, as usual.

ReplyToQ and ReplyToQmgr will need to be resolved at the requesting qmgr when the reply message arrives AND the MCA looks at either/both fields.
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
Sam Uppu
PostPosted: Mon Mar 30, 2009 7:46 pm    Post subject: Reply with quote

Yatiri

Joined: 11 Nov 2008
Posts: 610

bruce2359 wrote:
Quote:
The ReplyToQ and ReplyToQmgr in the MQMD of the Request message is never ever resolved against anything by the Requester App or as part of transmitting the Request.

You are correct, as usual.

ReplyToQ and ReplyToQmgr will need to be resolved at the requesting qmgr when the reply message arrives AND the MCA looks at either/both fields.


As per the QMgr name resolution table(row 12), when the QMgrName is specified in MQOD, the responding app needs permissions to S.C.T.Q...Here is the link: http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/index.jsp?topic=/com.ibm.mq.csqzal.doc/fg12170_.htm.

This is what IBM support came up with.

Thanks.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » Clustering » MQ Security setup - design help needed
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.