在 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 服务器在内部使用。