| # |
| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| # |
| |
| # This section grants virtualhost access rights |
| ACL ALLOW client ACCESS VIRTUALHOST |
| ACL ALLOW server ACCESS VIRTUALHOST |
| |
| # This section grants publish rights to an exchange + routing key pair |
| |
| # Allow clients to publish requests |
| ACL ALLOW client PUBLISH EXCHANGE name="amq.direct" routingKey="example.RequestQueue" |
| |
| # Allow the processor to respond to a client on their Temporary Topic |
| ACL ALLOW server PUBLISH EXCHANGE name="amq.direct" routingKey="tmp_*" |
| ACL ALLOW server PUBLISH EXCHANGE name="amq.direct" routingKey="TempQueue*" |
| |
| # This section grants users the ability to consume from the broker |
| |
| # Allow client to consume from temporary queues |
| ACL ALLOW client CONSUME QUEUE temporary=true |
| |
| # Only allow the server to consume from the Request Queue |
| ACL ALLOW server CONSUME QUEUE name="example.RequestQueue" |
| |
| # Allow client and server to consume from kipper queues |
| ACL ALLOW client CONSUME QUEUE name="clientid:kipper" |
| ACL ALLOW server CONSUME QUEUE name="clientid:kipper" |
| |
| # This section grants users the ability to create/delete queues and exchanges |
| |
| # Allow clients to create and delete temporary and kipper queue on this exchange |
| ACL ALLOW client CREATE QUEUE temporary=true |
| ACL ALLOW client DELETE QUEUE temporary=true |
| ACL ALLOW client CREATE QUEUE durable="true" |
| ACL ALLOW client DELETE QUEUE durable="true" |
| |
| # Allow the server to create the Request Queue and kipper queue |
| ACL ALLOW server CREATE QUEUE name="example.RequestQueue" |
| ACL ALLOW server CREATE QUEUE name="clientid:kipper" |
| |
| ## Allow client and server exchange access for the relevant queues |
| ACL ALLOW client BIND EXCHANGE name="amq.direct" temporary=true |
| ACL ALLOW client UNBIND EXCHANGE name="amq.direct" temporary=true |
| ACL ALLOW client BIND EXCHANGE name="amq.direct" durable=true |
| ACL ALLOW client UNBIND EXCHANGE name="amq.direct" durable=true |
| ACL ALLOW server BIND EXCHANGE name="amq.direct" queueName="example.RequestQueue" |
| |
| ## Allow client and server exchange access for the relevant topics |
| ACL ALLOW client BIND EXCHANGE name="amq.topic" durable=true routingKey=kipper |
| ACL ALLOW client UNBIND EXCHANGE name="amq.topic" durable=true routingKey=kipper |
| ACL ALLOW server BIND EXCHANGE name="amq.topic" durable=true routingKey=kipper |
| |
| # Action[operation=BIND,objectType=EXCHANGE,properties={OWNER=client, DURABLE=true, QUEUE_NAME=IllegalQueue, AUTO_DELETE=false, ROUTING_KEY=IllegalQueue, NAME=amq.direct, TEMPORARY=false, EXCLUSIVE=false}] |
| |
| |
| ACL ALLOW client CREATE EXCHANGE |
| ACL ALLOW server CREATE EXCHANGE |