On 26.12.2014 18:51, Mobile Mouse wrote:Say, I have two users “Pete” and “Joe”. I have one virtual host “test”.
It has two exchanges: “colors” and “shapes”. Exchange “colors” has three
queues: “red”, “blue”, and “green”.
I want to authorize Joe to be able to read from “red” and to read/write
to “blue”. No other access.
I want to authorize “Pete” to read and write to “green”, and to have
complete access to exchange “shapes”. No other access.
A message is published to an exchange, not a queue. You can control
publish (write) access to a particular exchange ("colors" in your case),
but not a particular queue ("blue" here).
However, you can control consumers access to given queues by tuning the
read permission. Thus, you can restrict read access to "red" and “blue.
Here's an example for Joe:
rabbitmqctl set_permissions \
Joe \
'^(colors|blue|red)$' \
'^(colors|blue|red)$' \
'^(colors|blue|red)$'
Now, Joe is allowed to declare the "colors" exchange and the "blue" and
"red" queues, and bind them together.
Hi RabbitMQ team,
Implementing secure synchronous RPC with Qpid JMS over RabbitMQ AMQP 1.0. Core issue: responders require amq.default write permissions despite using dedicated exchanges, defeating per-queue security.
Current Flow (Fails)Why it fails:
Qpid treats /queues/queueA.reply replyTo as queue-direct (default exchange internally)
Responder reply publish requires amq.default write → can publish to any queue
/exchanges/app1/queueA.reply address rejected by Qpid client (address homogeneity?)
With user perms only on app1 exchange (no amq.default access).
QuestionsRecommended pattern for AMQP 1.0 RPC avoiding default exchange permissions entirely?
Any RabbitMQ AMQP 1.0 addressing quirks or required bindings I'm missing?
Setup: RabbitMQ 4.1.0 + AMQP 1.0 plugin, Qpid JMS client, durable reply queues pre-bound to app1.
Thanks for guidance on secure RPC patterns!