分类
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管理员直接创建,跟新,删除用户的能力
- 列出所有用户
ceph auth list - 获取指定用户
ceph auth get {TYPE.ID} - 创建用户
创建用户会添加一个用户名,秘钥和capability
用户的key使用户能通过ceph storage cluster认证,用户的capabilities使用户具有一定的monitors,osds,或者metadata server的功能。
下面有三种创建用户的方式:
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 auth del {TYPE}.{ID} - 打印用户key
ceph auth print-key {TYPE}.{ID} - 导入用户
ceph auth import –I /path/to/keyring
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有访问权限。
网友评论