在 Kibana 中配置安全性

编辑

在 Kibana 中配置安全性

编辑

首次启动 Elasticsearch 时,Elastic Stack 安全功能会在您的集群上启用,并且会自动配置 TLS。安全配置过程会为 elastic 用户生成密码,并为 Kibana 生成注册令牌。启用安全功能启动 Elastic Stack,然后在配置过程中注册 Kibana。

然后,您可以作为 elastic 用户登录 Kibana,以创建其他角色和用户。

当用户无权查看索引(例如 Elasticsearch 索引)中的数据时,整个索引将不可访问,并且不会在 Kibana 中显示。

配置安全设置

编辑

设置加密密钥,以便会话不会失效。您可以选择配置其他安全设置和身份验证。

  1. kibana.yml 配置文件中设置 xpack.security.encryptionKey 属性。您可以使用任何长度为 32 个或更多字符的文本字符串作为加密密钥。请参阅 xpack.security.encryptionKey

    xpack.security.encryptionKey: "something_at_least_32_characters"

    Kibana 的报告和已保存对象功能也具有加密密钥设置。分别请参阅 xpack.reporting.encryptionKeyxpack.encryptedSavedObjects.encryptionKey

  2. 可选:配置 Kibana 的会话过期设置
  3. 可选:配置 Kibana 以使用客户端证书向 Elasticsearch 进行身份验证
  4. 重启 Kibana。

创建角色和用户

编辑

为您的 Kibana 用户配置角色,以控制这些用户可以访问哪些数据。

  1. 临时使用内置的 elastic 超级用户登录 Kibana,以便您可以创建新用户并分配角色。如果您在本地运行 Kibana,请转到 https://127.0.0.1:5601 以查看登录页面。

    内置 elastic 用户的密码是在 Elasticsearch 上进行安全配置过程中生成的。如果您需要重置 elastic 用户或其他内置用户的密码,请运行 elasticsearch-reset-password 工具。

  2. 创建角色和用户以授予对 Kibana 的访问权限。

    要管理 Kibana 中的权限,请使用导航菜单或全局搜索字段转到角色管理页面。内置的 kibana_admin 角色将授予对 Kibana 的管理员权限。或者,您可以创建其他角色,这些角色授予对 Kibana 的有限访问权限。

    如果您使用带有基本身份验证的默认本机领域,请使用导航菜单或全局搜索字段转到用户管理页面,以创建用户并分配角色,或者使用 Elasticsearch 用户管理 API。例如,以下代码创建一个名为 jacknich 的用户并为其分配 kibana_admin 角色

    POST /_security/user/jacknich
    {
      "password" : "t0pS3cr3t",
      "roles" : [ "kibana_admin" ]
    }

    有关基本身份验证和其他验证 Kibana 用户的方法的更多信息,请参阅身份验证

  3. 授予用户访问他们在 Kibana 中将要使用的索引的权限。

    您可以根据需要为您的 Kibana 用户定义任意多个不同的角色。

    例如,创建对特定数据视图具有 readview_index_metadata 权限的角色。有关更多信息,请参阅用户授权

  4. 注销 Kibana,并验证您是否可以作为普通用户登录。如果您在本地运行 Kibana,请转到 https://127.0.0.1:5601 并输入您已为其分配 Kibana 用户角色的用户的凭据。例如,您可以作为用户 jacknich 登录。

    这必须是已被分配了Kibana 权限的用户。Kibana 服务器凭据(内置的 kibana_system 用户)应仅供 Kibana 服务器内部使用。