只有只读控制台权限的用户?



我想知道是否可以添加对Artemis网络控制台具有"只读"访问权限的用户。 现在,我们处于一个重要的点,可以检查我的应用程序的使用者是否已创建并连接到队列,他是否是唯一连接的人,等等。我能想到的更容易看到的地方是通过Artemis控制台。我想要的是创建一个只能看到此信息、队列中的消息等,但不能创建新队列、发送消息、清除队列等的用户。 这可能吗?

我尝试按照本教程创建一个用户并尝试使用这些角色,但由于某种原因,我什至无法使用我创建的用户连接到控制台。我不断得到"禁止"。

谢谢!

编辑我尝试过的:

我已经更新了artemis-users.properties,拥有以下用户:

admin = ENC(1024:5C41928065C0AED5B88F8DD66937F86F59BCF9F6BAC9097CD12C6D66FE83DC3B:DC9FCEECBBCB4849F3AE9570D83C8ABFDB1E03B0318F7B4BA128B9A174C00049C817FB2F7613D4A332BA1D1FF14C70F1E0492EECE747A6C7881E358F44CDB02C)
amqviewer = 123abc

admin用户是在我设置代理时创建的。amqviewer是我尝试具有只读权限的用户。

artemis-roles.properties,我将amqviewer设置为具有viewer角色(至少这是我在看到admin用户的情况后的想法):

amq = admin
viewer = amqviewer

management.xml我设置了以下内容:

<authorisation>
<whitelist>
<entry domain="hawtio"/>
</whitelist>
<default-access>
<access method="list*" roles="amq"/>
<access method="get*" roles="amq"/>
<access method="is*" roles="amq"/>
<access method="set*" roles="amq"/>
<access method="*" roles="amq"/>
</default-access>
<role-access>
<match domain="org.apache.activemq.artemis">
<access method="list*" roles="amq"/>
<access method="get*" roles="amq"/>
<access method="is*" roles="amq"/>
<access method="set*" roles="amq"/>
<access method="*" roles="amq"/>
</match>
<match domain="org.apache.activemq.artemis">
<access method="list*" roles="viewer"/>
<access method="get*" roles="viewer"/>
</match>
</role-access>
</authorisation>

问题是,我什至无法通过登录。当我尝试使用amqviewer用户登录时,我得到forbidden.

要在 Web 控制台中仅允许读取访问,需要在管理.xml和 artemis.profile 中设置角色。

要将角色配置为只读,请更新管理.xml和 artemis.profile,如下所示。

<role-access>
<match domain="org.apache.activemq.artemis">
<access method="list*" roles="readonly,amq"/>
<access method="get*" roles="readonly,amq"/>
<access method="is*" roles="readonly,amq"/>
<access method="set*" roles="update,amq"/>
<access method="*" roles="amq"/>
</match>
</role-access>

在Artemis.profile中:-Dhawtio.roles=amq,readonly

参考:https://activemq.apache.org/components/artemis/documentation/latest/management.html。

编辑(因为我无法在评论中回复):

到目前为止,您所做的一切都是正确的。 你只需要在Artemis.profile中为hawtio角色提供"readonly"角色。

in artemis.profile: -Dhawtio.roles=amq,readonly

您可以通过代理启动日志验证是否已成功添加。它将显示如下。

2019-05-06 10:45:24,655 INFO  [io.hawt.web.AuthenticationFilter] Starting hawtio authentication filter, JAAS realm: "activemq" authorized role(s): "admin,readonly" role principal classes: "org.apache.activemq.artemis.spi.core.security.jaas.RolePrincipal"

相关内容

  • 没有找到相关文章

最新更新