我正在使用ActiveMQ 5.10,并希望创建一个通过Web控制台具有只读访问权限的用户。
Red Hat发布了this article,提到由于ActiveMQ中的错误,它并不是真的只读。 根据错误报告AMQ-4567,该错误从ActiveMQ 5.9开始修复。但是,我没有看到它正常运作。
我尝试了许多不同的配置,最近的是两个独立的JAAS实现,一个用于Jetty,一个用于ActiveMQ。相关的属性文件摘录如下。
我 主要使用"系统"登录到Web控制台用户。但访客用户根本不工作。应用程序用户(appuser)根本不需要访问Web控制台。
我的authN / authZ需求非常简单:一个管理员用户,一个应用程序帐户和一个只读监控帐户。
有没有什么好方法可以使用最新版本的ActiveMQ(> = 5.9.0)?
groups.properties
管理员=系统
用户= APPUSER,管理员
宾客=客
users.properties
system = {password redacted}
APPUSER = APPUSER
旅客=客
jetty-realm.properties
system:MD5:46cf1b5451345f5176cd70713e0c9e07,user,admin
嘉宾:嘉宾,嘉宾
顺便说一下,我使用Jetty tutorial和Rundeck instructions来计算jetty-realm.properties文件和 ActiveMQ in Action 的第6章来计算出来ActiveMQ JAAS。
答案 0 :(得分:2)
我终于能够通过将Web控制台部署到外部Tomcat实例来实现我想要的目标。我假设当它耗尽流程时,它不能绕过安全性,因此必须使用您提供的任何凭据。在这种情况下,我为Tomcat实例提供了只读的JMX用户凭证。
它并不好,因为没有安全修整的UI。您仍然可以尝试创建新目标,删除目标等。当您尝试使用只读用户时,会出现错误。这得到了一个" D"用户体验,但是" B"为安全起见。