Java ActiveMQ 5.15.9安全性
我目前正在使用部署在测试服务器上的ActiveMQ 5.15.9。 我必须实施某种安全措施,这样里面的队列就不会被任何人访问。 到目前为止,我所做的是将以下内容添加到Java ActiveMQ 5.15.9安全性,java,c#,activemq,Java,C#,Activemq,我目前正在使用部署在测试服务器上的ActiveMQ 5.15.9。 我必须实施某种安全措施,这样里面的队列就不会被任何人访问。 到目前为止,我所做的是将以下内容添加到activemq.xml: <plugins> <simpleAuthenticationPlugin anonymousAccessAllowed ="false"> <users> <authenticationUser
activemq.xml
:
<plugins>
<simpleAuthenticationPlugin anonymousAccessAllowed ="false">
<users>
<authenticationUser
username="admin"
password="pass"
groups="admins,publishers,consumers" />
</users>
</simpleAuthenticationPlugin>
<authorizationPlugin>
<map>
<authorizationMap>
<authorizationEntries>
<authorizationEntry topic =">" write="producers" read="consumers" admin="admins" />
<authorizationEntry queue ="TEST.Q" write="producers" read="consumers" admin="admins" />
</authorizationEntries>
</authorizationMap>
</map>
</authorizationPlugin>
</plugins>
但是,当我尝试运行代码时,会出现以下错误:
User admin is not authorized to write to: queue://TEST
我需要这一点,以便我可以将此MQ公开到Internet,并通过仅允许具有凭据的使用者/发布者来保护此MQ。您已为名为TEST.Q的队列配置了安全性,但您正在尝试使用名为TEST的队列,该队列不相同,因此出现此错误。如果您想公开测试前缀下的所有队列,那么它看起来更像:
<authorizationEntry queue ="TEST.>" write="producers" read="consumers" admin="admins" />
,理解语法也会有所帮助
正如您所提到的,在互联网上公开代理不是一件小事,因此请谨慎行事 我尝试了您的建议queue=“TEST.>”但仍然是相同的错误。我还尝试了queue=“>”,但仍然存在相同的错误。如果您仍然试图单独下标测试,这就是问题所在,您需要匹配目标路径,在本例中为TEST。我如何知道队列的完整路径?
<authorizationEntry queue ="TEST.>" write="producers" read="consumers" admin="admins" />