Reputation: 5381
I have remote ActiveMQ Artemis node which has following security settings
<security-setting match="#">
<permission type="createNonDurableQueue" roles="admin"/>
<permission type="deleteNonDurableQueue" roles="admin"/>
<permission type="createDurableQueue" roles="admin"/>
<permission type="deleteDurableQueue" roles="admin"/>
<permission type="createAddress" roles="admin"/>
<permission type="deleteAddress" roles="admin"/>
<permission type="consume" roles="admin"/>
<permission type="browse" roles="admin"/>
<permission type="send" roles="admin"/>
<!-- we need this otherwise ./artemis data imp wouldn't work -->
<permission type="manage" roles="admin"/>
</security-setting>
But when I send message I get this error:
org.apache.activemq.artemis.api.core.ActiveMQSecurityException: AMQ229032: User: admin does not have permission='SEND' on address
What am I missing?
Upvotes: 0
Views: 1371
Reputation: 1086
You have something like this in your broker.xml
:
<security-settings>
<security-setting match="#">
<permission type="createNonDurableQueue" roles="admin"/>
<permission type="deleteNonDurableQueue" roles="admin"/>
<permission type="createDurableQueue" roles="admin"/>
<permission type="deleteDurableQueue" roles="admin"/>
<permission type="createAddress" roles="admin"/>
<permission type="deleteAddress" roles="admin"/>
<permission type="consume" roles="admin"/>
<permission type="browse" roles="admin"/>
<permission type="send" roles="admin"/>
<permission type="manage" roles="admin"/>
</security-setting>
</security-settings>
When you create address::queue, such permissions will apply by default, but if in WebUI you performed addSecuritySettings
operation and did something like this:
addressMatch: <your_address>
send: <your_custom_role>
consume: <your_custom_role>
createDurableQueueRoles:
deleteDurableQueueRoles:
createNonDurableQueueRoles:
deleteNonDurableQueueRoles:
manage:
Then your security-settings
in broker.xml
are overridden and they do not have any impact on your created address::queue, causing permissions error when attempting to produce messages to your address::queue using admin
role.
Upvotes: 0