Artemis 授权从 ActiveMQ 迁移
Artemis Authorization migration from ActiveMQ
我的 ActiveMQ 使用如下所示的身份验证插件:
<plugins>
<simpleAuthenticationPlugin>
<users>
<authenticationUser username="${activemq.username}" password="${activemq.password}"
groups="admins,publishers,consumers"/>
<authenticationUser username="${admin.username}" password="${admin.password}"
groups="admins,publishers,consumers"/>
</users>
</simpleAuthenticationPlugin>
</plugins>
您能说说 ActiveMQ Artemis 应该如何处理这个问题吗?
如 the documentation 中所述,有许多方法可以在 ActiveMQ Artemis 中配置用户凭据。但是,默认且可能最简单的方法是通过代理实例的 etc
目录中的 artemis-users.properties
和 artemis-roles.properties
文件。鉴于您的示例,您将按如下方式配置它们...
artemis-users.properties
中的每一行都遵循 <user> = <password>
的模式:
myUser = myPassword
myAdminUser = myAdminPassword
如果您愿意,可以对密码进行哈希处理,这样它们就不会出现在 plain-text 中。只需使用命令:artemis mask --hash <password>
。您可以获取该命令的输出并将其封装在 ENC()
中,例如:
myUser = ENC(1024:D39BB78A7F474C285FA0F2B7AC1D8C4ABB4FAC3C6E49232CED3BDB489660E3CE:C9952A7B86EF49D38EF14F5FEDDC2BECC035E3C96F612302623AE2FDAF8D1DEEB298FEC4A07D6381557407C141D5756FF68C33AE88AE9934BAD01A82DC913E31)
可以在 the documentation 中找到更多详细信息。
artemis-roles.properties
中的每一行都遵循 <role> = <users>
的模式:
admins = myUser, myAdminUser
publishers = myUser, myAdminUser
consumers = myUser, myAdminUser
一旦代理 运行 这些文件可以直接修改或通过管理 API (例如通过网络控制台或 Jolokia)。还可以通过命令行中可用的 artemis user
命令公开管理。默认情况下,在运行时所做的修改会反映在代理中。
我的 ActiveMQ 使用如下所示的身份验证插件:
<plugins>
<simpleAuthenticationPlugin>
<users>
<authenticationUser username="${activemq.username}" password="${activemq.password}"
groups="admins,publishers,consumers"/>
<authenticationUser username="${admin.username}" password="${admin.password}"
groups="admins,publishers,consumers"/>
</users>
</simpleAuthenticationPlugin>
</plugins>
您能说说 ActiveMQ Artemis 应该如何处理这个问题吗?
如 the documentation 中所述,有许多方法可以在 ActiveMQ Artemis 中配置用户凭据。但是,默认且可能最简单的方法是通过代理实例的 etc
目录中的 artemis-users.properties
和 artemis-roles.properties
文件。鉴于您的示例,您将按如下方式配置它们...
artemis-users.properties
中的每一行都遵循 <user> = <password>
的模式:
myUser = myPassword
myAdminUser = myAdminPassword
如果您愿意,可以对密码进行哈希处理,这样它们就不会出现在 plain-text 中。只需使用命令:artemis mask --hash <password>
。您可以获取该命令的输出并将其封装在 ENC()
中,例如:
myUser = ENC(1024:D39BB78A7F474C285FA0F2B7AC1D8C4ABB4FAC3C6E49232CED3BDB489660E3CE:C9952A7B86EF49D38EF14F5FEDDC2BECC035E3C96F612302623AE2FDAF8D1DEEB298FEC4A07D6381557407C141D5756FF68C33AE88AE9934BAD01A82DC913E31)
可以在 the documentation 中找到更多详细信息。
artemis-roles.properties
中的每一行都遵循 <role> = <users>
的模式:
admins = myUser, myAdminUser
publishers = myUser, myAdminUser
consumers = myUser, myAdminUser
一旦代理 运行 这些文件可以直接修改或通过管理 API (例如通过网络控制台或 Jolokia)。还可以通过命令行中可用的 artemis user
命令公开管理。默认情况下,在运行时所做的修改会反映在代理中。