Ceph

【ceph】用户管理

2018-12-10  本文已影响0人  小醉90s

分类

ceph文件系统用户(posix协议)
ceph存储集群用户(cephx协议),mon、osd、mds之间认证
ceph对象存储用户(s3与swift协议)

格式

Ceph对用户的辨别是通过点分割的形式,它包含类型和用户名如:TYPE.ID格式
示例:

# osd数据存储
osd.0
osd.1
osd.2
# 管理员
client.admin
client.bootstrap-mds
client.bootstrap-mgr
client.bootstrap-osd
client.bootstrap-rgw
# 网关用户
client.rgw.ceph-object-01
client.rgw.ceph-object-02
client.rgw.ceph-object-03
# 管理凭条用户
mgr.ceph-object-01
mgr.ceph-object-02
mgr.ceph-object-03

管理

用户管理功能在ceph集群中给ceph管理员直接创建,跟新,删除用户的能力

a)ceph auth add:这个命令可以创建用户,产生秘钥和添加一些指定的capabilities。
b)ceph auth get-or-create:这个命令会返回一个包含用户名和秘钥的keyfile 
格式。如果用户已经存在,它就会以keyfile 格式返回用户名和key。
c)ceph auth 
get-or-create-key:这个命令创建用户但是只返回用户的key,如果想知道已存在用的key,这个命令是很有用的。可以使用-o 
{filename}选项把输出打印到指定文件。

Ceph对用户的辨别是通过点分割的形式,它包含类型和用户名如:TYPE.ID格式client.admin,client.user1。使用用户类型的原因是因为ceph monitors osds 和metadata 服务也都使用了cephx协议,但是他们不是客户端,类型就是用于区分的。区分用户类型有助于在客户端用户和其他用户的访问控制,用户监控和跟踪的辨别。

Ceph使用“capability”来标识赋予已认证用户执行monitors ,osd,和metadata 服务功能的能力。Capability严格控制对池中数据的访问或者池中命名空间的访问。当创建用户的时候由管理员用户来赋予用户capability。

如果只创建用户,没有赋予用户capabilities,那么用户基本是无用的,但是可以使用命令ceph auth caps 给其添加capabilities。
下面是这些命令使用的例子:

ceph auth add client.john mon 'allow r' osd 'allow rw pool=liverpool'
ceph auth get-or-create client.paul mon 'allow r' osd 'allow rw pool=liverpool'
ceph auth get-or-create client.george mon 'allow r' osd 'allow rw pool=liverpool' -o george.keyring
ceph auth get-or-create-key client.ringo mon 'allow r' osd 'allow rw pool=liverpool' -o ringo.key

如果赋予用户osd的capability,但是没有指定特定的pool,则该用户对集群中所有的pool有访问权限。

上一篇 下一篇

猜你喜欢

热点阅读