在 Kibana 中配置安全性
编辑在 Kibana 中配置安全性
编辑首次启动 Elasticsearch 时,Elastic Stack 安全功能会在您的集群上启用,并且会自动配置 TLS。安全配置过程会为 elastic
用户生成密码,并为 Kibana 生成注册令牌。启用安全功能启动 Elastic Stack,然后在配置过程中注册 Kibana。
然后,您可以作为 elastic
用户登录 Kibana,以创建其他角色和用户。
当用户无权查看索引(例如 Elasticsearch 索引)中的数据时,整个索引将不可访问,并且不会在 Kibana 中显示。
配置安全设置
编辑设置加密密钥,以便会话不会失效。您可以选择配置其他安全设置和身份验证。
-
在
kibana.yml
配置文件中设置xpack.security.encryptionKey
属性。您可以使用任何长度为 32 个或更多字符的文本字符串作为加密密钥。请参阅xpack.security.encryptionKey
。xpack.security.encryptionKey: "something_at_least_32_characters"
Kibana 的报告和已保存对象功能也具有加密密钥设置。分别请参阅
xpack.reporting.encryptionKey
和xpack.encryptedSavedObjects.encryptionKey
。 - 可选:配置 Kibana 的会话过期设置。
- 可选:配置 Kibana 以使用客户端证书向 Elasticsearch 进行身份验证。
- 重启 Kibana。
创建角色和用户
编辑为您的 Kibana 用户配置角色,以控制这些用户可以访问哪些数据。
-
临时使用内置的
elastic
超级用户登录 Kibana,以便您可以创建新用户并分配角色。如果您在本地运行 Kibana,请转到https://127.0.0.1:5601
以查看登录页面。内置
elastic
用户的密码是在 Elasticsearch 上进行安全配置过程中生成的。如果您需要重置elastic
用户或其他内置用户的密码,请运行elasticsearch-reset-password
工具。 -
要管理 Kibana 中的权限,请使用导航菜单或全局搜索字段转到角色管理页面。内置的
kibana_admin
角色将授予对 Kibana 的管理员权限。或者,您可以创建其他角色,这些角色授予对 Kibana 的有限访问权限。如果您使用带有基本身份验证的默认本机领域,请使用导航菜单或全局搜索字段转到用户管理页面,以创建用户并分配角色,或者使用 Elasticsearch 用户管理 API。例如,以下代码创建一个名为
jacknich
的用户并为其分配kibana_admin
角色POST /_security/user/jacknich { "password" : "t0pS3cr3t", "roles" : [ "kibana_admin" ] }
有关基本身份验证和其他验证 Kibana 用户的方法的更多信息,请参阅身份验证。
-
授予用户访问他们在 Kibana 中将要使用的索引的权限。
您可以根据需要为您的 Kibana 用户定义任意多个不同的角色。
例如,创建对特定数据视图具有
read
和view_index_metadata
权限的角色。有关更多信息,请参阅用户授权。 -
注销 Kibana,并验证您是否可以作为普通用户登录。如果您在本地运行 Kibana,请转到
https://127.0.0.1:5601
并输入您已为其分配 Kibana 用户角色的用户的凭据。例如,您可以作为用户jacknich
登录。这必须是已被分配了Kibana 权限的用户。Kibana 服务器凭据(内置的
kibana_system
用户)应仅供 Kibana 服务器内部使用。