在向ActiveMQ Artemis添加新用户和角色方面需要一些帮助。版本为2.16。
在将ActiveMQ Artemis从2.9.0和2.10.1更新到2.16之后,我们无法添加新用户。也许已经有了更新的安全协议或它的使用?
我们使用PropertiesLoginModule。
activemq {
org.apache.activemq.artemis.spi.core.security.jaas.PropertiesLoginModule requisite
debug=false
reload=true
org.apache.activemq.jaas.properties.user="artemis-users.properties"
org.apache.activemq.jaas.properties.role="artemis-roles.properties";
};通常我们这样做是为了添加一个新用户。
./artemis user add --user newUser --password newPassword --role Apps,newUser但是在升级到2.16之后,我们会在CLI中得到后续的问题:
-用户-命令-用户
-用户-命令-密码
我已经尝试添加管理用户名/密码在这些。但还是一样的例外。
我得到以下安全异常:
Connection failed::AMQ229031: Unable to validate user from /<IPAddress>:48000. Username: newUser; SSL certificate subject DN: unavailable
Exception in thread "main" ActiveMQSecurityException[errorType=SECURITY_EXCEPTION message=AMQ229031: Unable to validate user from /<IPAddress>:48002. Username: newUser; SSL certificate subject DN: unavailable]
at org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl.sendBlocking(ChannelImpl.java:540)
at org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl.sendBlocking(ChannelImpl.java:434)
at org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQClientProtocolManager.createSessionContext(ActiveMQClientProtocolManager.java:300)
at org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQClientProtocolManager.createSessionContext(ActiveMQClientProtocolManager.java:249)
at org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl.createSessionChannel(ClientSessionFactoryImpl.java:1401)
at org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl.createSessionInternal(ClientSessionFactoryImpl.java:705)
at org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl.createSession(ClientSessionFactoryImpl.java:316)
at org.apache.activemq.artemis.cli.commands.AbstractAction.performCoreManagement(AbstractAction.java:36)
at org.apache.activemq.artemis.cli.commands.user.AddUser.add(AddUser.java:52)
at org.apache.activemq.artemis.cli.commands.user.AddUser.execute(AddUser.java:42)
at org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:153)
at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:101)
at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:128)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.activemq.artemis.boot.Artemis.execute(Artemis.java:134)
at org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:50)有什么办法解决这个问题吗?
在手册的安全性部分,我找不到任何提示。https://activemq.apache.org/components/artemis/documentation/latest/security.html
发布于 2020-12-10 16:40:28
由于ActiveMQ Artemis 2.16在代理处于脱机且artemis user命令的参数更改时不再可能使用命令,即:./artemis user add --user-command-user guest --user-command-password guest --role admin --user admin --password admin
--user和--password参数用于连接到代理,--user-command-user和--user-command-password参数用于添加新用户。
您可以在从旧版本升级上找到更多详细信息。
https://stackoverflow.com/questions/65238406
复制相似问题