「Ceph」- 用户、权限、安全

  CREATED BY JENKINSBOT

认证机制

None:针对用户、守护进程,不进行认证;
CephX:针对用户、守护进程,进行认证;

ceph auth cluster required = cephx
ceph auth service required = cephx
ceph auth client  required = cephx

Client 访问 Ceph MON 完成身份认证;

客户端的凭证下发

针对请求的认证检查

用户权限

User Management — Ceph Documentation

allow: 只用于赋予用户 MDS 的 rw 权限;

r: 赋予用户读数据的权限,该权限也是从 monitor 读取 CRUSH map 时必须要有的;
w: 赋予用户写入数据的权限;
x: 赋予用户调用对和象方法的权限,包括读和写,以及在 monitor 上执行用户身份验证的权限;

class-read: 这是 x 权限的子集,它允许用户调用类的 read 方法;
class-write: 这是 x 权限的子集,它允许用户调用类的 write 方法;

*: 将一个指定存储池的完整权限 (r、w 和 x) 以及执行管理命令的权限授予用户;

profile osd: 允许用户像一个 OSD 一样去连接其他 OSD 或者 monitor,用于 OSD 心跳和状态报告;
profile mds: 允许用户像一个 MDS 一样去连接其他 MDS;
profile bootstrap-osd: 允许用户引导 (bootstrap) OSD。比如 ceph-deploy 和 ceph-disk 工具都使用 client.bootstrap-osd 有用户,该用户有权给 OSD 添加密钥和局动加载程序;
profile bootstrap-mds: 允许用户引导(bootstrap)MDS。比如, ceph-deploy 工具使用了 client .bootstrap-mds 用户, 该用户有权给 MDS 添加密钥和启动加载程序;

{daemon-type} 'allow {caps}'

# for MON: r; w; x; allow profile {cap}
mon 'allow rwx'
mon 'allow profile osd'

# for OSD: r; w; x; class-read; class-write; profile osd;
osd 'allow rwx'
osd 'allow class-read, allow rwx pool=rbd'

# for MDS: r;

常用命令

ceph auth list

ceph auth get client.admin

ceph auth get-or-create client.hari
ceph auth caps client.cephfs <caps> # 更新用户的权限;