首页/系统与基础设施/存储速查/Ceph 客户端认证与密钥环管理
分布式与对象存储70 条

Ceph 客户端认证与密钥环管理

Ceph 用 CephX 做认证,每个客户端与守护进程通过密钥环向 MON 证明身份,再由 caps 能力声明决定可访问的池与操作;管理入口是 ceph auth 系列命令,原则是按池最小授权。

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌‌​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​​‌​‌​​‌​‌‌‌‌​‌‌​​​‌‌​‌‌​​‌​‌​‌‌‌​​​​​‌‌​‌​​​​​‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​‌​‌‌‌​‌​​​‌‌​‌​​​​​‌​‌‌​‌​‌‌​‌​‌‌​‌‌​​‌​‌​‌‌‌‌​​‌​‌‌‌​​‌​​‌‌​‌​​‌​‌‌​‌‌‌​​‌‌​​‌‌‌​​‌​‌‌​‌​‌‌​‌‌​‌​‌‌​​​​‌​‌‌​‌‌‌​​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​​‌​‌​‌‌​‌‌​‌​‌‌​​‌​‌​‌‌​‌‌‌​​‌‌‌​‌​​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​

CephX 与密钥环

Ceph 用自研的 CephX 机制做认证:每个客户端、每个守护进程都有一份身份和密钥,存放在密钥环文件里。访问时凭密钥环向 MON 换取会话票据,再按能力声明(caps)决定能读哪些池、能做哪些操作。集群里没有匿名访问,权限全由密钥环和 caps 决定。

基本信息

适用平台Ceph(所有主流版本)
管理命令ceph auth list / get / get-or-create / caps
密钥环路径/etc/ceph/ceph.client.<名字>.keyring
权限要求需 client.admin 或带 auth 管理能力的身份

典型使用场景

  • 给应用分配专用身份:不让业务直接用 admin 密钥,按需最小授权
  • 限制到具体池与操作:只允许读写某个 rbd 池,禁止碰其他池
  • 密钥轮换:定期重新生成密钥并更新客户端密钥环
  • 排查权限报错:用 auth get 核对某身份的真实 caps 是否覆盖当前操作

常用操作

常用操作
ceph auth list                            # 列出所有身份与权限
ceph auth get client.admin                # 查看某身份的密钥与 caps
ceph auth get-or-create client.app1 mon 'allow r' osd 'allow rw pool=data'  # 建最小权限身份
ceph auth caps client.app1 osd 'allow rw pool=data'   # 调整已有身份的权限
ceph auth del client.app1                 # 删除不再使用的身份

常见身份与用途

身份常见授权范围用途
client.admin全集群管理权限运维管理,绝不交给业务应用
client.app1仅指定池读写应用接入,按池最小授权
osd.bootstrap引导新 OSD 加入扩容易失窃,需重点保护
密钥环文件本身就是凭据,权限要收敛到 600 并限定属主;导出或转发密钥环等同于交出该身份的完整权限。
把 client.admin 密钥环复制到业务服务器是最常见的越权来源:应用一旦被入侵,等于整个集群被接管。

权限自查清单

  • 用 ceph auth list 全量核对,找出长期不用的历史身份并回收
  • 确认 admin 密钥环只存在于管理机,业务服务器上没有副本
  • 确认业务身份的能力声明精确到具体池而不是整个存储平面
  • 确认密钥环文件属主与权限仅属主可读,副本留在受控位置
  • 密钥轮换后确认旧密钥已失效,避免新旧并存期过长
删掉本机密钥环文件并不等于身份失效:身份记录保存在 MON,必须用 ceph auth del 才能真正回收权限。

易错点

  • 所有应用共用 client.admin:一处泄露即全集群失守,且审计日志无法区分调用方
  • caps 写得过宽(allow *)来省事,出问题后再收紧要逐个改客户端
  • 密钥轮换时只改了集群侧没更新客户端密钥环,业务突然报认证失败
  • 在脚本或镜像里硬编码密钥环内容,随代码外泄且难以回收

数据来源与参考

  • Ceph 官方文档:CephX Authentication
  • Ceph 官方文档:User Management(ceph auth)

整理校对:其其网ICT文档中心 · 本页地址:docs.qiqicto.com/storage/ceph-auth-keyring-management.html

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌‌​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​​‌​‌​​‌​‌‌‌‌​‌‌​​​‌‌​‌‌​​‌​‌​‌‌‌​​​​​‌‌​‌​​​​​‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​‌​‌‌‌​‌​​​‌‌​‌​​​​​‌​‌‌​‌​‌‌​‌​‌‌​‌‌​​‌​‌​‌‌‌‌​​‌​‌‌‌​​‌​​‌‌​‌​​‌​‌‌​‌‌‌​​‌‌​​‌‌‌​​‌​‌‌​‌​‌‌​‌‌​‌​‌‌​​​​‌​‌‌​‌‌‌​​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​​‌​‌​‌‌​‌‌​‌​‌‌​​‌​‌​‌‌​‌‌‌​​‌‌‌​‌​​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​