当前位置: 首页 > news >正文

第五阶段 49 · 安全:TLS、API Key、RBAC

49 · 安全:TLS、API Key、RBAC

阶段:第五阶段 / 运维进阶
ES:传输加密、身份认证、最小权限授权 | PostgreSQL:SSL、用户与角色、权限控制


1. 概念

Elasticsearch 生产安全通常是三层:

  • TLS(传输加密):保护传输中数据,避免明文被窃听或篡改。
  • Authentication(身份认证):你是谁(Basic、API Key、Token 等)。
  • Authorization(权限授权 / RBAC):你能做什么(读哪些索引、写哪些索引、是否能管理集群)。

核心原则:先认证,再授权,默认拒绝,最小权限


2. PostgreSQL 对照

ElasticsearchPostgreSQL
HTTP/Transport TLSssl=on+ 证书链
API Key / Basic / Token用户名密码 + 连接参数
Role + PrivilegesRole + GRANT
DLS/FLS(文档/字段级权限)行级安全(RLS)/列权限
审计日志log_statement/ 审计扩展

3. 关键接口与命令(Dev Tools / API)

3.1 查看安全基础状态

GET /_security/_authenticate GET /_security/role GET /_security/user
  • _authenticate可快速确认当前凭据身份与角色。
  • 线上排障时,先确认“我是谁”,再看“我能做什么”。

3.2 创建最小权限角色(示例)

PUT /_security/role/salesdata_reader { "cluster": ["monitor"], "indices": [ { "names": ["salesdata-*"], "privileges": ["read", "view_index_metadata"] } ] }

3.3 创建绑定角色的用户(示例)

POST /_security/user/report_user { "password": "ReplaceWithStrongPassword!", "roles": ["salesdata_reader"], "full_name": "Report Readonly User" }

3.4 创建 API Key(推荐给服务到服务调用)

POST /_security/api_key { "name": "integration-prod-writer", "role_descriptors": { "writer_scope": { "cluster": ["monitor"], "index": [ { "names": ["salesdata-*"], "privileges": ["create_index", "write", "create", "index"] } ] } } }

返回会包含:

  • id
  • api_key(只返回一次,务必安全保存)
  • encoded(可直接放Authorization: ApiKey <encoded>

3.5 失效 API Key(泄露时立即处理)

DELETE /_security/api_key { "ids": ["<api_key_id>"] }

4. TLS 实战要点

4.1 两条链路都要加密

  • 节点间通信(transport):防止集群内部窃听或伪造节点。
  • 客户端到 ES(http):防止应用调用链路明文泄露。

4.2 证书与主机名校验

  • 证书SAN必须覆盖实际访问域名或 IP。
  • 客户端不要关闭主机名校验(禁用校验仅限本地临时排错)。
  • 证书需有轮换策略,避免“到期即故障”。

4.3 常见错误定位

  • PKIX path building failed:证书链不完整或客户端不信任 CA。
  • hostname verification failed:访问地址与证书 SAN 不匹配。
  • received plaintext http traffic on an https channel:客户端用了 HTTP 访问 HTTPS 端口。

5. Spring Boot(Elasticsearch Java Client)调用示例

下面示例体现两件事:
1)使用 HTTPS;2)使用 API Key 认证(优先于硬编码用户名密码)。

importco.elastic.clients.elasticsearch.ElasticsearchClient;importco.elastic.clients.json.jackson.JacksonJsonpMapper;importco.elastic.clients.transport.ElasticsearchTransport;importco.elastic.clients.transport.rest_client.RestClientTransport;importorg.apache.http.Header;importorg.apache.http.HttpHost;importorg.apache.http.message.BasicHeader;importorg.elasticsearch.client.RestClient;publicclassEsClientFactory{publicElasticsearchClientcreate(Stringhost,intport,StringencodedApiKey){Header[]defaultHeaders=newHeader[]{newBasicHeader("Authorization","ApiKey "+encodedApiKey)};RestClientlowLevelClient=RestClient.builder(newHttpHost(host,port,"https")).setDefaultHeaders(defaultHeaders).build();ElasticsearchTransporttransport=newRestClientTransport(lowLevelClient,newJacksonJsonpMapper());returnnewElasticsearchClient(transport);}}

建议:

  • encodedApiKey放到安全配置中心或密钥管理服务,不进 Git。
  • 按环境拆分 Key(dev/test/prod),并限制索引范围。

6. RBAC 设计建议(适合 SalesData 场景)

  1. 按职责拆角色readerwriterops,不要一个超管角色到处复用。
  2. 按索引前缀授权:例如salesdata-*salesdata-report-*分开。
  3. 限制集群级权限:普通业务账号通常只要monitor,不给manage_security
  4. 临时权限要过期:排障提权后必须回收。
  5. 审计关键操作:创建/删除 API Key、改角色、改用户要可追踪。

7. 坑与最佳实践

  1. 不要共享 API Key:每个服务和环境独立 Key,泄露影响可控。
  2. 不要长久不轮换:建立 Key 轮换与失效机制(例如 30/90 天)。
  3. 不要把密钥写进日志:脱敏Authorization头与配置输出。
  4. 不要过度授权all权限最危险,优先精确到 index privilege。
  5. 不要忽略证书到期:把证书有效期纳入监控告警。
  6. 先验身份再验权限:排障顺序固定:_authenticate-> role -> index privilege。

8. 最小化上线检查清单

  • HTTP 与 transport 均开启 TLS
  • 客户端只走https
  • 业务服务改用 API Key(非 superuser)
  • API Key 权限收敛到必须索引与动作
  • 安全凭据不落库、不入日志、不入 Git
  • 证书与 API Key 都有轮换与过期告警
  • 安全相关操作有审计与回溯能力

http://www.jsqmd.com/news/1329832/

相关文章:

  • 佳木斯CMA甲醛检测公司公共卫生检测怎么选:国慷测研CMA检测 - 信誉隆金银铂奢回收
  • 菏泽CMA甲醛检测公司公共卫生检测怎么选:国慷测研CMA检测 - CMA甲醛检测中心
  • 电脑突然变卡?5分钟学会用LibreHardwareMonitor找出硬件健康问题
  • 鞍山CMA甲醛检测公司公共卫生检测怎么选:国慷测研CMA检测 - 信誉隆金银铂奢回收
  • 江门CMA甲醛检测公司公共卫生检测怎么选:国慷测研CMA检测 - 信誉隆金银铂奢回收
  • 租电脑哪家性价比高:【雕马】物美价廉 - 17728181569
  • 2026年上门打孔施工怎么选?优质源头厂家参考清单 - 热点品牌推荐
  • 摩托车怎么邮寄?2026年托运避坑指南,整车寄出不用拆电池! - 快递物流资讯
  • 计算机毕业设计之基于Spring Boot的智慧旅游一体化平台的设计与实现
  • 如何快速掌握NVIDIA显卡优化:免费专业级NVIDIA Profile Inspector终极配置指南
  • 贺州CMA甲醛检测公司公共卫生检测怎么选:国慷测研CMA检测 - CMA甲醛检测中心
  • 2026花都区粤菜餐厅哪家正宗:【锦堂春想】古法烹制 - 17328623207
  • 第五阶段 50 · geo 地理查询(geo_point / geo_distance)
  • 2026年烧结砖供应厂家哪家好?实际考察这三点就行 - 热点品牌推荐
  • UE5动画骨骼重定向:IK Rig从原理到实战,解决Mixamo到Metahuman适配难题
  • 巴彦淖尔CMA甲醛检测公司公共卫生检测怎么选:国慷测研CMA检测 - 信誉隆金银铂奢回收
  • 2026 年现阶段阿拉善盟本地冷库回收源头厂家联系电话,旧冷库变废为宝的隐形门道,90%的人都不知道它的价值能翻几番?-海韵玻璃冷库设备 - 企业推荐管【认证】
  • 2026年预制菜厂家**相关情况梳理汇总 - 奔跑123
  • 外贸新模式实战课程-更新5月,账号搭建+截流技术+AI矩阵+独家方法实现自动化获客
  • 想找咖啡烘豆机工厂哪家好?看完这篇就懂了 - 热点品牌推荐
  • APK Installer终极指南:在Windows上快速免费安装Android应用的完整教程
  • 2026 年黔江正规的二手电表回收厂家哪家**,旧电表竟还能卖钱?这背后藏着不少人不知道的门道-正兴电表回收 - 企业推荐官-
  • 2026 年富宁有实力的一体化预制泵站厂家推荐几家,别再傻傻花冤枉钱做泵站?这一体化预制方案省出半条工程经费-麓水环保玻璃钢化粪池 - 领域鉴赏官
  • 2026 年现阶段,贵池热门的专业打捞队捞手机批发厂家选哪家,为了一部手机花上千?看完打捞队操作,我果断给手机买了防掉落险 - 企业推荐管【认证】
  • 2026年B端企业招投标获客平台甄选指南:深度剖析、权威对比与避坑秘籍
  • 鹤壁CMA甲醛检测公司公共卫生检测怎么选:国慷测研CMA检测 - CMA甲醛检测中心
  • 国家中小学智慧教育平台电子课本下载终极指南:3分钟批量获取官方教材PDF
  • 2026 年现阶段,路桥可靠的玉镯断裂修复加工厂推荐,奶奶传了三代的镯子碎了,我咬着牙花了三百块,它竟能恢复成这样?-玉匠人玉镯无痕修复 - 鉴选官
  • 3分钟掌握Wand-Enhancer:完全免费解锁WeMod Pro功能终极指南
  • 2026 年新发布:延边知名的薄型通风器制造企业综合实力解析,住在20层楼还敢不装窗?难怪家里霉味重,原来这玩意儿才是通风隐形高手 - 行业推荐官-2