Hi Vilius, If the name of the subscription queue is known, you can create security setting for FQQN queue name, for example "address-for-external-role::queue-for-subscription".
чт, 17 апр. 2025 г. в 09:42, Vilius Šumskas <vilius.sums...@rivile.lt.invalid>: > I would like to rephrase my question regarding createDurableQueue > permissions requirement. Is it required *by the consumer*? Can those topic > queues be created by the producer, or does it go against pub/sub model? > > -- > Vilius > > -----Original Message----- > From: Justin Bertram <jbert...@apache.org> > Sent: Wednesday, April 16, 2025 8:22 PM > To: users@activemq.apache.org > Subject: Re: limiting queue creation in JMS durable subscription flow > > > ...I’m not 100% sure if this requirement comes from Qpid library which > > we > are using, or Camel, or is it a requirement for JMS subscribers in > general... > > This is a requirement for JMS topic subscriptions in general. See the > documentation [1] for more details. > > > Is there a way to limit amount of queues a particular role or user can > create? > > Yes. See the resource limits documentation [2]. > > > Justin > > [1] > > https://activemq.apache.org/components/artemis/documentation/latest/jms-core-mapping.html#mapping-jms-concepts-to-the-core-api > [2] > > https://activemq.apache.org/components/artemis/documentation/latest/resource-limits.html#resource-limits > > On Wed, Apr 16, 2025 at 3:43 AM Vilius Šumskas > <vilius.sums...@rivile.lt.invalid> > wrote: > > > Hello, > > > > we have a pub/sub Java app which relies on JMS durable subscriptions > > and is using Artemis as messaging broker. The broker runs in our > environment. > > The app is deployed externally in the environment we don’t control an > > acts as a subscriber. For this app we have dedicated a separate role > > in the Artemis broker. > > > > We noticed that this role needs to have createDurableQueue and > > deleteDurableQueue permission for the app to work correctly. Something > like: > > > > <security-setting match="address-for-external-role"> > > <permission type="createDurableQueue" roles="amq, > > external-role"/> > > <permission type="deleteDurableQueue" roles="amq, > > external-role"/> > > <permission type="createAddress" roles="amq"/> > > <permission type="consume" roles="amq, external-role"/> > > <permission type="send" roles="amq"/> > > </security-setting> > > > > Since I’m not a developer I’m not 100% sure if this requirement comes > > from Qpid library which we are using, or Camel, or is it a requirement > > for JMS subscribers in general, however I’m trying to understand what > > could be done to protect our Artemis environment. Mainly I’m concerned > > that even if the role has access to just one address, in theory, the > > user could create as many durable queues in the address as he wants, > > this way overloading the system. > > > > Is there a way to limit amount of queues a particular role or user can > > create? Or maybe our messaging model is wrong and we should not be > > using JMS subscriptions in case of external app at all? > > > > -- > > Best Regards, > > > > Vilius Šumskas > > Rivile > > IT manager > > > > >