ceph使用cephx协议授权客户端、应用程序和守护进程之间的通信,并基于共享密钥
Ceph使用用户帐户有以下几个目的:
1.用于Ceph守护进程之间的内部通信
2.对于通过librados库访问集群的客户机应用程序
3.用于集群管理
安装的时候会创建超级用户账号client.admin,这个账号允许访问任何组件并修改集群配置
- 如果外部访问,只需要完成rgw的认证即可,rgw会使用client.rgw.demo的账号访问ceph集群
- 如果是个性化的应用程序,则需要创建该程序的账号来访问ceph集群
Key-ring文件
ceph在创建每个账户时,都会为其生成key-ring文件,如果要使用它,则需要将其复制到对于的客户机系统或应用程序服务端上
在客户端系统中,librados使用/etc/ceph/ceph.conf配置文件中的keyring参数来定位keyring文件
默认值为/etc/ceph/$cluster.$name.keyring,比如client.openstack账户,keyring文件就是/etc/ceph/ceph.client.openstack.keyring
默认是明文存储密钥
传输secret key
cephx以加密的形式传输共享密钥,客户端解密后向MON发请求ticket
配置用户认证
使用用户认证
使用ceph rados rbd等命令行工具,管理员可以使用--id或--keyring
来指定用户账户和keyring文件,如果不指定,就默认使用client.keyring
如果在缺省的位置存放keyring文件,就可以不使用--keyring
参数,cephadm shell自动从/etc/ceph目录挂载keyring
能力capabilities
1 | 定义用户的操作权限 |
用户管理
1 | # 创建用户 |