Kibana:为不同的用户生成不同的 Kibana 界面

在我之前的文章 “Kibana:为不同的用户生成不同的 Space” 中,我已经介绍了如何创建 space,并为不同的用户定制不同的索引权限。在今天的文章中,我们来介绍如何为不同的用户定制不同的 Kibana 用户界面。这在实际的使用中,有很多的应用场景。我们可以让不同的人登录 Kibana 中呈现不同的界面,让他们使用需要的用户界面,而不是多余的界面。 比如:

在今天的展示中,我将使用 Elastic Stack 7.9 发布版。

 

创建不同的 Space

我们首先可以参考之前的文章 “Kibana:为不同的用户生成不同的 Space” 来创建两个不同的 Kibana 用户界面:visualization_only 及 discover_only。

我们接下来点击 Show 链接来对这个 Space 的界面来进行定制:

我们选择上面的四项。也是是在这个 Space 中,我们只能做可视化,dashboard,并可以对 index 进行管理和对保存的 objects 进行管理(导入及导出 objects)。点击上面的 Create space 按钮:

从上面,我们可以看出来已经成功地创建了一个叫做 visualization only 的 Space。我们点击左上方的 “D” 字母进行 Space 切换:

从上面,我们可以看出来当我们点击 Home 时,只可以看到 Dashboard 以及 Visualize 的菜单选项。其它的菜单都小时了。也就是说其它的功能都对我们是不可见的。在窗口的左上方,我们也看到 VO 字样,显示的是 visualization only 的意思。显示的颜色也是我们之前定制的颜色。

按照同样的方法,如法炮制,我们来创建一个叫做 discover only 的 Space。在这个空间里,我们只有 discover 这个 app。我们还是先切换到 Default 空间。

按照上面同样的步骤,我们来创建 discover only 的 Space:

点击上面的 Create space,这样我们就创建了一个叫做 discover only 的 Space。你可以选择一个和 visualization only 不一样的颜色。

当我们切换到 discovery only 的 Space 后,我们可以看到:

从上面,我们可以看到只有 Discover 这个菜单是可以用的。

 

创建用户来登录 Space

上面我们已经创建了不同的 Space。我们甚至可以让不同的用户来绑定这些被创建的 Space,从而使得它们在登录后具有不同的界面。为了能够创建不同的用户,我们需要启动 Elasticsearch 的安全。请阅读我之前的文章 “Elasticsearch:用户安全设置” 。这里就不再累述了。

创建 role

当我们设置好安全后,再次登录 Kibana。它提示我们需要输入正确的用户名及密码。我们使用 elastic 这个超级用户名来登录。我们选择 Default Space。我们使用这个 Space 来进行创建 role:

在上面,我们定义了一个叫做 web_analyst 的 role。它作用于 kibana_sample_data_logs 上。这个索引也是 Kibana 自带的三个索引之一。我们把屏幕向下翻动:

我们点击 Add space privileage 按钮:

我们添加刚才已经创建好的  visualization_only 及 discover_only 两个 space:

点击上面的 Create space privilege:

点击 Create role:

这样就创建了 web_analyst 的 role。

 

创建用户

我们接下来创建一个叫做 web_user 的用户:

点击上面的 Create user,这样就可以创建 web_user 用户。

我接下来使用最新创建的 web_user 账号来进行登录:

选择其中的一个 Space:

我们可以看到只有两个菜单可见。