Space-Elastic Stack 实战手册

简介: Space 功能可以将 Kibana 划分为多个工作空间,并基于权限控制使不同的用户看到不同的工作空间

970X90.png

· 更多精彩内容,请下载阅读全本《Elastic Stack实战手册》

· 加入创作人行列,一起交流碰撞,参与技术圈年度盛事吧

创作人:齐乐
审稿人:吴斌

Space 功能介绍

Space 功能可以将 Kibana 划分为多个工作空间,并基于权限控制使不同的用户看到不同的工作空间。空间可管理的对象包含 Dashboards 等可视化内容以及 Kibana 自带的标签页功能如 Dev 和 Monitoring 等。

Space 功能默认自动开启,且会自动创建 Default 空间,当创建了其他空间之后,登录 Kibana 时会要求你选择工作空间。如果想要关闭 Space 功能,只需将 kibana.yml 配置文件中的xpack.spaces.enabled 设置为 false 即可。

Space 实现原理

Space 的权限控制由 Elasticsearch 的 Security 模块提供的 Application privileges 实现。此功能对 Elasticsearch 存储的数据无任何权限控制,是专门为其他自定义应用程序,存储其权限在 Elasticsearch 的 Role 中而设置。主要包含三部分结构:

  • application:表示应用程序名称,Space 权限命名为 kibana-.kibana。
  • privileges:表示权限,Space 细分为各个小功能的三种权限:ALL、READ 和 NONE。
  • resources:表示权限应用范围,Space 用于区分空间。

示例如下图所示:通过 GET _security/role/a 命令获取 Role a 的权限,拥有此 Role 的用户具有 A 空间的部分权限和 B 空间的全部权限。

1.jpg

图1 Role 中存储的 Space 权限

负责管理 Space 功能的管理员用户,需要赋予 kibana_admin 角色的权限,其设置如下图所示:

2.jpg

图2 kibana_admin 的权限

Space 操作实践

Space 的创建、修改和删除

通过 Kibana 界面的 Stack Management >> Kibana >> Spaces 标签页进行相关操作

3.jpg

图3 Space 管理界面

创建或修改 Space 信息包含如下内容:

  • Space 基本信息:包含名字、URL 地址信息(切换 Space 工作空间会修改 Kibana 的 URL地址为对应 Space,一旦设置不可修改)、描述信息(可为空)和头像照片。

4.jpg

图4 Space基本信息

  • Space 功能可见性:控制当前 Space 空间中 Kibana 各个功能标签页的可见性,可以将其隐藏以防止用户使用,如果想禁用需要控制 Role 权限实现。

5.jpg

图5 Space 功能可见性

需要注意的是删除 Space 会同时删除空间内存储的工作对象。

设置角色的 Space 权限

通过 Kibana 界面的 Stack Management >> Security >> Roles 标签页进行相关操作

此标签页除了可以设置 Role 的 Elasticsearch 相关权限 ( cluster / index 等)外,还可以设置 Kibana 的 Space 权限。如上文所述,其信息存在 Role 的 Application 之中, 且可以为不同的 Space 设置不同的权限如下图所示

6.jpg

图6 Role 中的多个 Space

具体 Space 权限设置如图8所示:可以直接设置全部权限为 All 或者 Read ,也可以使用自定义方式设置每个小功能独立权限。

7.jpg

图7 Role 中 Space 权限设置

管理并分享 Spaces 之间的工作对象

通过 Kibana 界面的 Stack Management >> Kibana >> Saved Objects 标签页进行相关操作

Space 功能的目的就是将 Kibana 的工作对象分到不同空间,所以多个 Spaces 之间的对象复制是必不可少的操作,具体操作如下图:选择对象的 Copy to space 选项,然后选择要复制到的目的 Space 。

8.png

图8 选择要迁移的对象

9.png

图9 选择迁移的目的空间

并且还可以将工作对象导出到文件,用于批量迁移工作对象到其他 Space 或者迁移到其他的 Kibana 实例。具体操作如下图:选择要导出的对象,然后点击 Export 导出到文件;切换 Space 或者在其他 Kibana 实例中通过 Import 可以导入文件存储的 Kibana 工作对象。

10.png

图10 选择要导出的工作对象

11.png

图11 Import 选择文件进行对象导入

Space 自定义配置

通过 Kibana 界面的 Stack Management >> Kibana >> Advanced Settings 标签页进行相关操作

我们可以修改一些 Kibana 的默认配置,但大部分配置只应用于当前 Space。例如可以修改进入 Space 的初始路由界面:从默认 Home 界面修改为 Dashboards 界面:

12.jpg

图12 Space 默认配置修改

创作人简介:
齐乐,从事大数据开发工作近四年,主要方向为 ES,已通过 ECE 认证,近期在研究
Spark 和 Flink。 欢迎一起学习,一起讨论,共同进步。
博客: https://www.jianshu.com/u/cc7ee7454afc
相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
存储 安全 算法
3.【Elasticsearch】Elasticsearch从入门到放弃-权重及打分
【Elasticsearch】Elasticsearch从入门到放弃-权重及打分
3.【Elasticsearch】Elasticsearch从入门到放弃-权重及打分
|
运维 供应链 前端开发
开发一个 ERP
【9月更文第5天】开发一个 ERP (Enterprise Resource Planning) 系统是一项复杂的工程,涉及到多个业务流程的集成与优化。ERP 系统旨在帮助企业整合财务、人力资源、采购、销售、库存管理和生产计划等多个部门的数据,从而提高运营效率和决策质量。本文将带你一起体验从零开始开发一个简单的 ERP 系统,并通过示例代码来说明关键组件的设计与实现。
852 3
|
数据采集 存储 监控
Java爬虫:数据采集的强大工具
在数据驱动的时代,Java爬虫技术凭借其强大的功能和灵活性,成为企业获取市场信息、用户行为及竞争情报的关键工具。本文详细介绍了Java爬虫的工作原理、应用场景、构建方法及其重要性,强调了在合法合规的前提下,如何有效利用Java爬虫技术为企业决策提供支持。
|
11月前
|
人工智能 自然语言处理 决策智能
智能体竟能自行组建通信网络,还能自创协议提升通信效率
《一种适用于大型语言模型网络的可扩展通信协议》提出创新协议Agora,解决多智能体系统中的“通信三难困境”,即异构性、通用性和成本问题。Agora通过标准协议、结构化数据和自然语言三种通信格式,实现高效协作,支持复杂任务自动化。演示场景显示其在预订服务和天气预报等应用中的优越性能。论文地址:https://arxiv.org/pdf/2410.11905。
378 6
可靠性
(1)系统能够在规定条件和时间内完成规定功能的特性,是所有网络信息系统的运行和建设的基本目标。 (2)通过抗毁性,生存性与有效性进行衡量。 (3)可靠性是在给定的时间间隔和给定条件下,系统能正确执行其功能的概率。 (4)提高可靠性需要强调减少系统中断(故障)的次数。
|
Java 关系型数据库 MySQL
【编程基础知识】Eclipse连接MySQL 8.0时的JDK版本和驱动问题全解析
本文详细解析了在使用Eclipse连接MySQL 8.0时常见的JDK版本不兼容、驱动类错误和时区设置问题,并提供了清晰的解决方案。通过正确配置JDK版本、选择合适的驱动类和设置时区,确保Java应用能够顺利连接MySQL 8.0。
1086 1
|
存储 安全 Java
【事故】记一次意外把公司项目放到GitHub并被fork,如何使用DMCA下架政策保障隐私
在一次意外中,作者因三年前将测试代码遗忘在GitHub上而遭遇了代码被他人fork的问题。为解决这一危机,作者详细介绍了如何通过GitHub的DMCA下架通知流程安全删除敏感代码,包括处理私人信息和商标侵权的具体步骤。本文不仅提供了实用的操作指南,还强调了及时响应的重要性,帮助读者避免类似风险
605 1
【事故】记一次意外把公司项目放到GitHub并被fork,如何使用DMCA下架政策保障隐私
|
移动开发 安全 API
微信H5支付--微信JS-SDK支付--点金计划
本文详细介绍了微信H5支付和JS-SDK支付的原理、配置和开发流程,涵盖了H5支付在移动端浏览器外唤起微信支付的细节,以及JS-SDK支付在微信内置浏览器中完成支付的相关注意事项。文章还针对微信支付常见问题,提供了解决方案和代码示例。最后,文章深入解析了微信支付点金计划,包括商家小票的自定义开发、API接口以及支付成功后的页面展示逻辑,为开发者提供了完整的开发参考。
945 0
微信H5支付--微信JS-SDK支付--点金计划
|
XML Java 关系型数据库
springboot 集成 mybatis-plus 代码生成器
本文介绍了如何在Spring Boot项目中集成MyBatis-Plus代码生成器,包括导入相关依赖坐标、配置快速代码生成器以及自定义代码生成器模板的步骤和代码示例,旨在提高开发效率,快速生成Entity、Mapper、Mapper XML、Service、Controller等代码。
springboot 集成 mybatis-plus 代码生成器
|
SQL 前端开发 Java
springBoot:基础知识 (一)
本文介绍了如何配置本地 Maven,包括下载和安装 Maven,配置 `setting.xml` 文件以使用阿里云镜像,并设置本地仓库路径。此外,还详细说明了如何在 IDEA 中配置 Maven,并提供了创建数据库表、配置 `.yml` 文件以及 pom 依赖的示例。最后,文章还展示了如何通过 Spring Boot 控制器返回数据给前端,并介绍了项目目录结构及其作用,包括 controller、mapper、pojo、service 和 impl 目录的具体功能。
175 0

热门文章

最新文章