elasticsearch在默认安装后,没有提供任何安全保护。

在elasticsearch.yml配置了server.host=0.0.0.0导致公网可以访问es集群。

数据安全的基本需求:

1.身份认证,鉴定用户是否合法

2.用户鉴权,指定哪个用户可以访问哪个索引

3.传输加密

4.日志审计

解决方案:

1.设置nginx反向代理

2.x-pack

身份认证 | Authentication

1.认证体系的几种类型

  • 提供用户名和密码
  • 提供秘钥或 Kerberos 票据

2.在 ElasticSearch 中的认证服务被称为 Realms,提供了收费和免费两种不同形式的 Realms

  • 内置 Realms(免费):File / Native(用户名和密码保存在 ElasticSearch 的索引中);
  • 外部 Realms(收费):LDAP / Active Directory / PKI / SAML / Kerberos;

3.用户鉴权 | RBAC

在 ElasticSearch 中,权限包括索引级,字段级,集群及。

Privilege 权限

Cluster Privileges 集群权限:all / monitor / manager / manage_index / manage_index_template / manage_rollup

Indices Privileges 索引权限:all / create / create_index / delete / delete_index / index / manage / read / write / view_index_metadata

开启并配置x-pack的认证与鉴权

运行启动命令 | 开启 xpack

bin/elasticsearch -E node.name=node0 -E cluster.name=test -E path.data=node0_data -E http.port=9200 -E xpack.security.enabled=true

运行密码设定命令设置 ES 内置用户及其初始密码

bin/elasticsearch-setup-passwords interactive

当集群开启身份认证后配置kibana

访问集群 http://localhost:9200/_cat/nodes

输入用户名和密码就可以访问了;

Kibana Authentication | 举个栗子

设置 Kibana 的用户名及密码

修改配置文件 kibana.yml;

elasticsearch.username: "kibana"elasticsearch.password: "changeme"

启动 Kibana,使用用户 elastic 登录,密码 elastic

./bin/kibana

写入信用卡信息 | 数据准备

POST orders/_bulk{"index":{}}{"product" : "1","price" : 18,"payment" : "master","card" : "9876543210123456","name" : "jack"}{"index":{}}{"product" : "2","price" : 99,"payment" : "visa","card" : "1234567890123456","name" : "bob"}

在 Kibana 中 Settings / Security / Roles 中创建角色 read_orders

添加对索引 orders 的 read 权限;

Run as privileges 设置成 kibana_user;

Minimum privileges for all spaces 设置成 read;

在 Kibana 中 Settings / Security / Users 中创建用户 demo

Roles 设置成 read_orders;

退出用户 elastic

用新创建的 demo 用户登录

可以搜索索引 orders;

但是不可以删除;

labview的用户身份认证系统设计_elasticsearch 集群身份认证与用户鉴权相关推荐

  1. 配置两个Hadoop集群Kerberos认证跨域互信(两个集群互通)

    配置两个Hadoop集群Kerberos认证跨域互信 两个Hadoop集群开启Kerberos验证后,集群间不能够相互访问,需要实现Kerberos之间的互信,使用Hadoop集群A的客户端访问Had ...

  2. 如何创建一个用户、授权操作k8s集群的过程?

    本篇带给大家如何创建一个用户.授权操作k8s集群的过程.希望对你有所帮助! 背景 172.16.99.128是的我k8s集群的master节点,此处是从这里获取集群的证书. 创建访问architech ...

  3. 面对大规模 K8s 集群,如何先于用户发现问题?

    作者 | 彭南光(光南) 来源 | 阿里巴巴云原生公众号 千里之堤,溃于蚁穴. 绪论 不知道大家是否经历过这样的情景:突然被用户告知系统出现问题,然后一脸懵地惶惶然排查修复:或是等到自己发现系统出现故 ...

  4. 在阿里巴巴,我们如何先于用户发现和定位 Kubernetes 集群问题?

    作者:彭南光(光南) 本文整理自阿里云高级研发工程师彭南光(光南) 在 KubeCon China 2021 大会的演讲实录,分享了阿里巴巴是如何通过自研通用链路探测+定向巡检工具 KubeProbe ...

  5. 如何访问Kubernetes集群?【Kubernetes集群X509认证方式】

    文章内容: Kubernetes集群服务端.客户端是如何通过kubeconfig文件完成认证以及用户信息识别的? 当搭建好Kubernetes集群后,可以通过kubectl get pod -A获取集 ...

  6. Java代码使用Spark on Yarn 方式提交任务到带Kerberos认证的Hadoop集群

    2019独角兽企业重金招聘Python工程师标准>>> 项目中遇到Spark Yarn方式提交到Hadoop集群,访问集群HDFS时发现使用的当前用户,没有访问权限,经过排查后发现H ...

  7. docker-elastic7.9.3集群搭建并开启用户验证

    [一]docker es 7.9.3 集群搭建 1.1 首先准备3台机器,确认master 节点机器. 192.168.30.1 (master) 192.168.30.2 192.168.30.3 ...

  8. K8s集群RBAC认证授权详解

    文章目录 1 什么是RBAC 2 创建Account 2.1 创建ServiceAccount(sa) 2.2 创建UserAccount并自签证书 3 RBAC认证授权 3.1 Role/RoleB ...

  9. Docker单节点部署OceanBase集群创建租户、用户、业务表

    作者:马顺华 从事运维管理工作多年,目前就职于六棱镜(杭州)科技有限公司,熟悉运维自动化.OceanBase部署运维.MySQL 运维以及各种云平台技术和产品.并已获得OceanBase认证OBCA. ...

最新文章

  1. 【Linux入门到精通系列讲解】Ubuntu下使用gcc编译并运行C程序
  2. UA MATH524 复变函数2 指数、对数与三角函数
  3. 致创业者:APP已死 服务永生
  4. linux下source命令使用详解
  5. php中getdistance函数_php代码渗透测试 后门分析篇
  6. 零基础学python尹会生_编程零基础应当如何开始学习 Python?
  7. SFTP环境搭建及客户代码调用公共方法封装
  8. 小码农也有大梦想!最小公倍数java算法
  9. Centos6.5 x86_64系统安装kvm虚拟机—基础篇
  10. 不到30行JS代码实现的Excel表格
  11. 《项目百态》读感系列”苏式风格“
  12. java awt区域,构建Java Swing中的区域图
  13. AdventNet Agent Toolkit C Edition6 AGENT
  14. 第三章在局域网中使用冗余链路
  15. Unity代码编写自定义模型 修改器(可扩展)
  16. Scratch Games Scratch游戏
  17. 任天堂游戏 html5,任天堂Switch游戏销量排行Top40,赶快收藏跟着买就对啦!
  18. 鬼谷八荒逆天改命存档
  19. 编码规范重要性_沟通比您的编码技能更重要
  20. Ubuntu操作系统漏洞扫描和分析

热门文章

  1. win32ctypes.pywin32.pywintypes.error: (2, ‘LoadLibraryEx‘, ‘系统找不到指定的文件。‘)
  2. python检查目录是否存在,如果不存在则创建
  3. 数据不平衡(class_weight、评估方法、上采样、下采样)、详解及实战
  4. 揭晓你所不了解的第三代测序技术
  5. coco数据集大小分类_MicroSoft COCO数据集
  6. python 对docker的操作 :docker-py教程
  7. 【文本分类】基于BERT预训练模型的灾害推文分类方法、基于BERT和RNN的新闻文本分类对比
  8. 大数据分布式集群搭建(7)
  9. 在CLion中运行Ninja项目
  10. LeetCode 316. Remove Duplicate Letters--贪心--Java,C++,Python解法