将用户添加到 Artemis 失败
Adding a user to Artemis fails
在向 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 中遇到后续问题:
--user-command-user
--用户命令密码
我试过在这些上添加管理员 username/password。但仍然是相同的异常。
我收到以下安全异常:
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
由于 ActiveMQ Artemis 2.16 不再可能使用 artemis user
命令,当代理 离线 并且 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
参数用于添加新用户。
找到更多详细信息
在向 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 中遇到后续问题:
--user-command-user
--用户命令密码
我试过在这些上添加管理员 username/password。但仍然是相同的异常。
我收到以下安全异常:
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
由于 ActiveMQ Artemis 2.16 不再可能使用 artemis user
命令,当代理 离线 并且 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
参数用于添加新用户。