更新时间:2023-06-20 GMT+08:00

安全集群简介

CSS服务在创建Elasticsearch集群时,支持创建安全模式的集群,当集群开启安全模式后,访问集群时需要进行安全认证,且支持对集群进行授权、加密等功能。

背景信息

CSS服务支持创建多种安全模式的集群,不同安全模式的差异请参见表1
表1 集群安全模式对比

集群安全模式

适用场景

优点

缺点

非安全模式

适合内网业务,用于测试场景。

简单,接入集群容易。

安全性差,谁都可以访问集群。

安全模式+HTTP协议

可以实现用户权限隔离,适用于对集群性能敏感的场景。

访问集群需要安全认证,提升了集群安全性,且通过HTTP协议访问集群能保留集群的高性能。

无法公网访问集群。

安全模式+HTTPS协议

有非常高的安全要求,且需要公网访问集群的场景。

访问集群需要安全认证,提升了集群安全性,且HTTPS协议的通讯加密可以实现集群公网访问功能。

通过HTTPS协议访问集群,集群性能相对HTTP协议来说,会下降20%左右。

安全认证

当访问安全模式的集群时,需要输入用户名和密码才能访问。支持以下两类用户的安全认证:

  • 集群的管理员:管理员帐户名默认为admin,密码为创建集群时设置的管理员密码。
  • 集群的User:通过kibana创建的集群用户和密码。

授权

在kibana使用界面您可以在Security菜单中控制用户在ES集群中的权限,并且可以针对集群、索引、文档和字段四个级别进行分层权限设置。详细操作请参见使用Kibana创建用户并授权

您可以增删用户,并将用户映射到角色类型设置权限。

图1 用户设置

可以使用角色映射配置角色成员,可使用用户名、后端角色和主机名将用户分配给角色。

图2 角色映射

可以设置每种角色的集群访问权限、索引和文档访问权限以及kibana租户。

图3 角色权限设置

可以设置操作组,并将操作组分配给角色配置角色对索引和文档类型的访问权限。

图4 操作组设置

可以查询集群当前设置的身份验证及授权模块的参数。使用securityadmin命令行可修改相关配置。

图5 集群参数查看

最后,安全模块还为您提供了清除所有安全缓存的功能。

图6 安全缓存清除

加密

当您使用节点对节点传输或者HTTP传输方式传输关键数据时,可以借助SSL/TLS加密,对数据安全进行保护。

以上功能除了可以使用Kibana可视化界面操作,还可以使用.yml文件(不推荐)和REST API操作,更多安全模式相关内容可以查看安全模式官方介绍

重置管理员密码

当您想要更换安全模式集群的管理员密码,或者忘记管理员密码时,可以对密码进行重置。

  1. 在集群管理列表,选择需要重置密码的集群,单击集群名称,进入集群基本信息页面。
  2. 在“配置信息”区域,单击“重置密码”后的“重置”,设置并确认新的管理员密码。
    • 可输入的字符串长度为8~32个字符。
    • 密码至少包含大写字母、小写字母、数字和特殊字符四类中的三类。其中支持的特殊字符有:~!@#$%^&*()-_=+\|[{}];:,<.>/?
    • 不能与管理员帐户名或倒序的管理员帐户名相同。
    • 建议定期修改密码。
    图7 重置密码