CephFS权限管理

CephFS权限管理

身份认证原理

  1. 用户通过客户端向 MON 发起请求。
  2. 客户端将用户名传递到 MON。
  3. MON 对用户名进行检查,若用户存在,则通过加密用户密钥生成一个 session key 并返回客户端。
  4. 客户端通过共享密钥解密 session key,只有拥有相同用户密钥环文件的客户端可以完成解密。
  5. 客户端得到 session key 后,客户端持有 session key 再次向 MON 发起请求
  6. MON 生成一个 ticket,同样使用用户密钥进行加密,然后发送给客户端。
  7. 客户端同样通过共享密钥解密得到 ticket。
  8. 往后,客户端持有 ticket 向 MON、OSD 发起请求。

创建CephFS

 ceph osd pool create cephfs_data 64 64 # 创建存数据的pool
 ceph osd pool create cephfs_metadata 32 32 #创建存储元数据的pool
 ceph fs new lwq-fs   cephfs_metadata  cephfs_data  #把2个pool关联起来创建cephfs
 ceph fs ls  #查看cephfs

查看用户

eph auth ls  #查看已经存在的用户
ceph auth list #可以查看用户权限以及 key string
ceph auth get client.admin #列出用户的权限信息

创建用户

ceph auth get-or-create client.bruce mon 'allow r' mds 'allow r, allow rw path=/bruce' osd 'allow rw pool=cephfs_data' #创建bruce用户,只能在bruce目录下面操作 其他目录有读权限

ceph auth get-or-create client.lzy mon 'allow r ' mds ' allow rw path=/test' osd 'allow rw pool=cephfs_data'  #创建lzy用户只能在test目录下面操作 其他目录没有权限

 ceph auth get-or-create client.trade mon 'allow r' mds 'allow r, allow rw path=/trade' osd 'allow rw pool=cephfs_data'
# mds caps 可以针对路径进行授权。
# osd caps 可以针对 pool 进行授权, 这个还是比较好使的, 但是要注意与前面的 path 保持一致.

授权类型

allow:在守护进程进行访问设置之前就已经具有特定权限,常见于管理员和守护进程用户。
r:授予用户读的权限,读取集群各个组件(MON/OSD/MDS/CRUSH/PG)的状态,但是不能修改。
w:授予用户写对象的权限,与 r 配合使用,修改集群的各个组件的状态,可以执行组件的各个动作指令。
x:授予用户调用类方法的能力,仅仅和 ceph auth 操作相关。
class-read:授予用户调用类读取方法的能力,是 x 的子集。
class-write:授予用户调用类写入方法的能力,是 x 的子集。
*:授予用户 rwx 权限。

客户端挂载

ceph auth print-key client.bruce > bruce.key  #导出密钥
scp密钥到客户端的/etc/ceph/ 目录下面
mount -t ceph 10.4.7.18:6789:/bruce /mnt/bruce -o name=bruce,secret=AQBpi8FhWy2gBxAAKUNrlRnDqMTL7V9ejo+oKg==  #明文挂载
mount -t ceph 10.4.7.18:6789:/bruce /mnt/bruce -o name=bruce,secretfile=/etc/bruce.key   #这样历史记录里面就没有密钥的明文信息了
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值