Having only write rights to queue with Bunny gem
up vote
0
down vote
favorite
I use the Bunny gem and configured a user in RabbitMQ like this:
virtual host /
configure: device1..*
write: .*
read: device1..*
The goal is: the user should be able to create a queue named like this: device1.mail and should be able to read / write to it.
To all other queues I only want to give the user write access (but not read).
When I try to write to an existing durable queue named calc with Bunny I get an error:
conn = Bunny.new('amqp://device1:device1@128.0.0.0:5672')
conn.start
ch = conn.create_channel
q = ch.queue("calc", durable: true)
Bunny::AccessRefused (ACCESS_REFUSED - access to queue 'calc' in vhost '/' refused for user 'device1')
When I set the configure rights to .* for the user, then it works. I'm able to write to the queue, but not read. However like that the user can create queues named like he wants...
So it seems the configure right is needed in order to open the queue (even though it's an existing queue?).
What am I missing here?
bunny
add a comment |
up vote
0
down vote
favorite
I use the Bunny gem and configured a user in RabbitMQ like this:
virtual host /
configure: device1..*
write: .*
read: device1..*
The goal is: the user should be able to create a queue named like this: device1.mail and should be able to read / write to it.
To all other queues I only want to give the user write access (but not read).
When I try to write to an existing durable queue named calc with Bunny I get an error:
conn = Bunny.new('amqp://device1:device1@128.0.0.0:5672')
conn.start
ch = conn.create_channel
q = ch.queue("calc", durable: true)
Bunny::AccessRefused (ACCESS_REFUSED - access to queue 'calc' in vhost '/' refused for user 'device1')
When I set the configure rights to .* for the user, then it works. I'm able to write to the queue, but not read. However like that the user can create queues named like he wants...
So it seems the configure right is needed in order to open the queue (even though it's an existing queue?).
What am I missing here?
bunny
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I use the Bunny gem and configured a user in RabbitMQ like this:
virtual host /
configure: device1..*
write: .*
read: device1..*
The goal is: the user should be able to create a queue named like this: device1.mail and should be able to read / write to it.
To all other queues I only want to give the user write access (but not read).
When I try to write to an existing durable queue named calc with Bunny I get an error:
conn = Bunny.new('amqp://device1:device1@128.0.0.0:5672')
conn.start
ch = conn.create_channel
q = ch.queue("calc", durable: true)
Bunny::AccessRefused (ACCESS_REFUSED - access to queue 'calc' in vhost '/' refused for user 'device1')
When I set the configure rights to .* for the user, then it works. I'm able to write to the queue, but not read. However like that the user can create queues named like he wants...
So it seems the configure right is needed in order to open the queue (even though it's an existing queue?).
What am I missing here?
bunny
I use the Bunny gem and configured a user in RabbitMQ like this:
virtual host /
configure: device1..*
write: .*
read: device1..*
The goal is: the user should be able to create a queue named like this: device1.mail and should be able to read / write to it.
To all other queues I only want to give the user write access (but not read).
When I try to write to an existing durable queue named calc with Bunny I get an error:
conn = Bunny.new('amqp://device1:device1@128.0.0.0:5672')
conn.start
ch = conn.create_channel
q = ch.queue("calc", durable: true)
Bunny::AccessRefused (ACCESS_REFUSED - access to queue 'calc' in vhost '/' refused for user 'device1')
When I set the configure rights to .* for the user, then it works. I'm able to write to the queue, but not read. However like that the user can create queues named like he wants...
So it seems the configure right is needed in order to open the queue (even though it's an existing queue?).
What am I missing here?
bunny
bunny
asked Nov 9 at 22:22
rept
80211130
80211130
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
accepted
You need to set passive to true when declaring the queue. With passive set to true the configure permission will not applied and an error will be raised if the user try to create a non pre-defined queue.
q = ch.queue("calc", durable: true, passive: true)
Thanks, this indeed does the trick!
– rept
Nov 11 at 23:22
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
accepted
You need to set passive to true when declaring the queue. With passive set to true the configure permission will not applied and an error will be raised if the user try to create a non pre-defined queue.
q = ch.queue("calc", durable: true, passive: true)
Thanks, this indeed does the trick!
– rept
Nov 11 at 23:22
add a comment |
up vote
0
down vote
accepted
You need to set passive to true when declaring the queue. With passive set to true the configure permission will not applied and an error will be raised if the user try to create a non pre-defined queue.
q = ch.queue("calc", durable: true, passive: true)
Thanks, this indeed does the trick!
– rept
Nov 11 at 23:22
add a comment |
up vote
0
down vote
accepted
up vote
0
down vote
accepted
You need to set passive to true when declaring the queue. With passive set to true the configure permission will not applied and an error will be raised if the user try to create a non pre-defined queue.
q = ch.queue("calc", durable: true, passive: true)
You need to set passive to true when declaring the queue. With passive set to true the configure permission will not applied and an error will be raised if the user try to create a non pre-defined queue.
q = ch.queue("calc", durable: true, passive: true)
answered Nov 11 at 5:14
Abdulrazak Alkl
625511
625511
Thanks, this indeed does the trick!
– rept
Nov 11 at 23:22
add a comment |
Thanks, this indeed does the trick!
– rept
Nov 11 at 23:22
Thanks, this indeed does the trick!
– rept
Nov 11 at 23:22
Thanks, this indeed does the trick!
– rept
Nov 11 at 23:22
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53234031%2fhaving-only-write-rights-to-queue-with-bunny-gem%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown