四、Ceph的认证

1、Ceph的认证

Ceph作为一个分布式存储系统,支持对象存储、块设备和文件系统。为了在网络传输中防止数据被篡改,做到较高程度的安全性,加入了Cephx加密认证协议。其目的是识别身份,加密、验证传输中的数据。

cephx 用于对ceph 保存的数据进行认证访问和授权,用于对访问ceph 的请求进行认证和授权检测,与mon 通信的请求都要经过ceph 认证通过,但是也可以在mon 节点关闭cephx认证,但是关闭认证之后任何访问都将被允许,因此无法保证数据的安全性。

Client与OSD必须先连接到mon上完成认证,Client才能读写数据。

下面为ceph.conf中的cephx的配置:

$ vim /etc/ceph/ceph.conf
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx

 2、Ceph的授权流程

每个mon节点都可以对客户端进行身份认证并分发秘钥,因此多个mon节点就不存在单点故障和认证性能瓶颈。
mon节点会返回用于身份认证的数据结构,其中包含获取ceph服务时用到的session key,session key通过客户端秘钥进行加密,秘钥是在客户端提前配置好的, /etc/ceph/ceph.client.admin.keying
客户端使用session key向mon请求所需的服务,mon向客户端提供一个tiket,用户向实际处理数据的OSD等服务验证客户端身份,mon和OSD共享一个secret,因此OSD会信息所有mon发放的tiket。 tiket存在有效期。
cephx身份验证功能仅限制在ceph的各组件之间,不能扩展到其它非ceph组件,ceph只负责认证授权,不能解决数据传输的加密问题。

1.客户端向mon请求认证;
2.mon生成session key,用key加密后发送给客户端;
3.客户端收到后解密key得到session key,向mon申请tikey;
4.mon收到请求后验证session key,并向客户端发送tikey;
5.客户端收到tiket后,用tikey访问OSD;
6.OSD验证tiket并返回数据。

 3、Ceph的访问流程

无论ceph 客户端是哪种类型,例如块设备、对象存储、文件系统,ceph 都会在存储池中将所有数据存储为对象。

ceph 用户需要拥有存储池pool访问权限,才能读取和写入数据。

ceph 用户必须拥有执行权限才能使用ceph 的管理命令。

(1)Client向mon申请一个有权限可以访问osd的用户,client和mon共享该用户权限信息。

(2)同时该用户也会给mon、mds和osd共享。

(3)Client拿到了授权用户开始向mon认证。

(4)mon通过认证后,会生成一个随机并加密的session key发送给Client.

(5)Client收到mon发送过来的session key并解密后,再向mon发起ticket申请请求。

(6)mon将ticket信息发送给client。

(7)Client接受到mon发来的ticke后,下面开始请求数据。

(8)如果Client访问的是cephfs,client会向mds发送请求;如果Client访问是块存储等设备,则直接向osd发送请求。

4、Ceph的用户

用户是指个人(ceph 管理者)或系统参与者(MON/OSD/MDS)。 通过创建用户,可以控制用户或哪个参与者能够访问ceph 存储集群、以及可访问的存储池及存储池中的数据。 ceph 支持多种类型的用户,但可管理的用户都属于client 类型区分用户类型的原因在于,MON/OSD/MDS 等系统组件特使用cephx 协议,但是它们为非客户端。

通过点号来分割用户类型和用户名,格式为TYPE.ID,例如client.admin。client.admin:用户命名遵循 <TYPE.ID> 的命名规则,也就是<用户类型.用户名>。其中 Type 有 mon、osd、mgr 为守护进程,client为客户端用户

cephadmin@ceph-deploy:~/ceph-cluster$ cat /etc/ceph/ceph.client.admin.keyring
[client.admin]
	key = AQCUWkliobKPDBAAdm1pKdIMWaBsDhIv5naUSQ==    #admin用户的加密密钥
        #下面为admin用户对ceph集群各个组件的管理权限
	caps mds = "allow *"
	caps mgr = "allow *"
	caps mon = "allow *"
	caps osd = "allow *"

查看指定用户信息:

cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth get osd.10
[osd.10]
	key = AQDqXEliQoGVKxAAa6rFYOqfThiFFGz/kbfLjg==
	caps mgr = "allow profile osd"
	caps mon = "allow profile osd"
	caps osd = "allow *"
exported keyring for osd.10
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth get client.admin
[client.admin]
	key = AQCUWkliobKPDBAAdm1pKdIMWaBsDhIv5naUSQ==
	caps mds = "allow *"
	caps mgr = "allow *"
	caps mon = "allow *"
	caps osd = "allow *"
exported keyring for client.admin

5、Ceph授权及使能

用户的授权,只有在授权之后,用户才可以使用权限范围内的 MON、OSD、MDS 的功能。

ceph 基于使能/能力(Capabilities,简称caps )来描述用户可针对MON/OSD 或MDS 使用的授权范围或级别。

通用的语法格式:daemon-type ‘allow caps’ [...]

能力一览表:

授权阶段分2种:访问授权和能力授权
访问授权:
allow:在守护进程进行访问设置之前就已经具有特定权限,仅对 MDS 隐含 rw
r:向用户授予读取权限。访问监视器(mon)以检索CRUSH 运行图时需具有此能力。
w:向用户授予针对对象的写入权限。
x:授予用户调用类方法(包括读取和写入)的能力,以及在监视器中执行auth 操作的能力。
*,all:授予用户对特定守护进程/存储池的读取、写入和执行权限,以及执行管理命令的能力
class-read:授予用户调用类读取方法的能力, x 的子集
class-write:授予用户调用类写入方法的能力, x 的子集
 
能力授权:
profile osd :授予用户以某个OSD 身份连接到其他OSD 或监视器的权限。授予OSD 权限,使OSD 能够处理复制检测信号流量和状态报告(获取OSD 的状态信息)。
profile mds :授予用户以某个MDS 身份连接到其他MDS 或监视器的权限。
profile bootstrap-osd:授予用户引导OSD 的权限(初始化OSD 并将OSD 加入ceph 集群),授权给部署工具,使其在引导OSD 时有权添加密钥。通常授予部署工具ceph-deploy,让它们在引导 OSD 时就有增加密钥的权限了.
profile bootstrap-mds:授予用户引导元数据服务器的权限,授权部署工具权限,使其在引导元数据服务器时有权添加密钥。
profile bootstrap-rbd:授权用户引导 RBD 守护进程的能力,同上
profile bootstrap-rbd-mirror:授权用户引导 rbd-mirror守护进程的能力,同上
profile rbd:授权一个用户可以操作rbd image的权限
profile rbd-mirror:授权一个用户可以操作rbd image的权限和获得osd Mirroring配置秘钥
profile rbd-read-only:授权一个用户只读rbd image的权限

MON 能力:

包括r/w/x 和allow profile cap(ceph 的运行图)
例如:
mon 'allow rwx'
mon 'allow profile osd'

OSD 能力:

包括r、w、x、class-read、class-write(类读取))和profile osd(类写入),另外OSD 能力还允
许进行存储池和名称空间设置。
osd 'allow capability' [pool=poolname] [namespace=namespace-name]

MDS 能力:

只需要allow 或空都表示允许。
mds 'allow'

6、Ceph用户管理

用户管理功能可让Ceph 集群管理员能够直接在Ceph 集群中创建、更新和删除用户。 在Ceph 集群中创建或删除用户时,可能需要将密钥分发到客户端,以便将密钥添加到密钥环中/etc/ceph/ceph.client.admin.keyring,此文件中可以包含一个或者多个用户认证信息,凡是拥有此文件的节点,将具备访问ceph 的权限,而且可以使用其中任何一个账户的权限,此文件类似于linux 系统的中的/etc/passwd 文件

6.1、创建用户的步骤

要使用 Cephx,集群的管理员(administrator),也就是 client.admin,需要在集群中创建一个用户账号(user account)。要创建用户账号,client.admin 需要调用 ceph auth get-or-create 命令。Ceph 用户验证子系统会产生一 个用户名(username)和一个密钥(secret key),并将它们保存在Ceph monitor 上,再将用户密钥返回给client.admin。Ceph 系统管理员需要将用户名和密码提供给需要安全地访问 Ceph 存储服务的客户端

6.2、列出用户

cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth list
mds.ceph-mds1
	key: AQDfX0liXd/WARAAccF0HZaVC42esfDs0qtMdg==
	caps: [mds] allow
	caps: [mon] allow profile mds
	caps: [osd] allow rwx
mds.ceph-mds2
	key: AQDjX0lilsxaLhAALVkJGvdmgeI0vJnJo9kujQ==
	caps: [mds] allow
	caps: [mon] allow profile mds
	caps: [osd] allow rwx
mds.ceph-mds3
	key: AQDnX0liZ9O6MhAAZq2t2iQ0XyGU+Wk8PoojfA==
	caps: [mds] allow
	caps: [mon] allow profile mds
	caps: [osd] allow rwx
osd.0
	key: AQBcXEliBlclBhAAaYYQww5O/+KjKIUYggCl0Q==
	caps: [mgr] allow profile osd
	caps: [mon] allow profile osd
	caps: [osd] allow *
osd.1
	key: AQBmXElifUe/OBAABA9P8srkclUbB3WKwZtfHg==
	caps: [mgr] allow profile osd
	caps: [mon] allow profile osd
	caps: [osd] allow *
osd.10
	key: AQDqXEliQoGVKxAAa6rFYOqfThiFFGz/kbfLjg==
	caps: [mgr] allow profile osd
	caps: [mon] allow profile osd
	caps: [osd] allow *
osd.11
	key: AQDzXklixbQJGBAAXuv+zwH8BJZVogDklrFVzg==
	caps: [mgr] allow profile osd
	caps: [mon] allow profile osd
	caps: [osd] allow *
osd.2
	key: AQB1XEli7GfXNRAAOUKHy3Hm14yfJjafr4d7Hg==
	caps: [mgr] allow profile osd
	caps: [mon] allow profile osd
	caps: [osd] allow *
osd.3
	key: AQCAXEli60CnNhAAlXVRQR45SfLQA2wELwnL8w==
	caps: [mgr] allow profile osd
	caps: [mon] allow profile osd
	caps: [osd] allow *
osd.4
	key: AQCLXEli6YOKIBAAvfuantUZZxiqy4SSGCRN7g==
	caps: [mgr] allow profile osd
	caps: [mon] allow profile osd
	caps: [osd] allow *
osd.5
	key: AQCWXEliopAACxAAN6ECsRxkhEgdSC5opqb71w==
	caps: [mgr] allow profile osd
	caps: [mon] allow profile osd
	caps: [osd] allow *
osd.6
	key: AQChXEliMtMLCBAAJetz/IxQ6wgSdd4Ofb5+4w==
	caps: [mgr] allow profile osd
	caps: [mon] allow profile osd
	caps: [osd] allow *
osd.7
	key: AQCrXEliqwyVMBAA16AeJ3AX/GipTri37zhYUQ==
	caps: [mgr] allow profile osd
	caps: [mon] allow profile osd
	caps: [osd] allow *
osd.8
	key: AQC2XElircbZIBAAP6tSQYKSPwjuUN1J1yoeXg==
	caps: [mgr] allow profile osd
	caps: [mon] allow profile osd
	caps: [osd] allow *
osd.9
	key: AQDBXElidGi4GxAA1QbwtOTESs03MbKdkBeDQA==
	caps: [mgr] allow profile osd
	caps: [mon] allow profile osd
	caps: [osd] allow *
client.admin
	key: AQCUWkliobKPDBAAdm1pKdIMWaBsDhIv5naUSQ==
	caps: [mds] allow *
	caps: [mgr] allow *
	caps: [mon] allow *
	caps: [osd] allow *
client.bootstrap-mds
	key: AQCUWkli4r6PDBAAjR5gJt56w1CrKOdixzR0wg==
	caps: [mon] allow profile bootstrap-mds
client.bootstrap-mgr
	key: AQCUWkliDsaPDBAAkrEcvwKgXB6Ur3Qq3oJaEQ==
	caps: [mon] allow profile bootstrap-mgr
client.bootstrap-osd
	key: AQCUWkliP8yPDBAAKK00MZy9tI0JKC0Pc4SG8w==
	caps: [mon] allow profile bootstrap-osd
client.bootstrap-rbd
	key: AQCUWkliSdKPDBAAku8bxvTQeWzS8wf1xa6sEg==
	caps: [mon] allow profile bootstrap-rbd
client.bootstrap-rbd-mirror
	key: AQCUWklildiPDBAAa+zIlOLBM6Ww09g/M7QxHg==
	caps: [mon] allow profile bootstrap-rbd-mirror
client.bootstrap-rgw
	key: AQCUWklitd6PDBAAStc0u7rJqahMSVooCKy9kw==
	caps: [mon] allow profile bootstrap-rgw
client.rgw.ceph-rgw1
	key: AQBqYEli4Q4yMhAAhS4J/NSb1/x4NATGZz8V5Q==
	caps: [mon] allow rw
	caps: [osd] allow rwx
client.rgw.ceph-rgw2
	key: AQB0YElihqT0CRAAPsw6RRkmxW9Lsz5eVc8vBA==
	caps: [mon] allow rw
	caps: [osd] allow rwx
mgr.ceph-mgr1
	key: AQB2W0liEgdcFhAAn+oSf1Je9mVLcgLyefjF6Q==
	caps: [mds] allow *
	caps: [mon] allow profile mgr
	caps: [osd] allow *
mgr.ceph-mgr2
	key: AQCpX0lit/OQIxAAtnW/JFJ2cZXWLfuhiGFm/A==
	caps: [mds] allow *
	caps: [mon] allow profile mgr
	caps: [osd] allow *
installed auth entries:

注意:TYPE.ID 表示法 针对用户采用TYPE.ID 表示法,例如osd.0 指定是osd 类并且ID 为0 的用户(节点),client.admin是client 类型的用户,其ID 为admin。

注意,每个项包含一个key=xxxx 项,以及一个或多个caps 项。 可以结合使用-o 文件名选项和ceph auth list 将输出保存到某个文件。

ceph@ceph-deploy:~$ ceph auth list -o /tmp/ceph_user.key

6.3、用户的管理命令

添加一个用户会创建用户名(TYPE.ID)、机密密钥,以及包含在命令中用于创建该用户的所有能力,用户可使用其密钥向Ceph 存储集群进行身份验证。用户的能力授予该用户在Ceph monitor (mon)、Ceph OSD (osd) 或Ceph 元数据服务器(mds) 上进行读取、写入或执行的能力,可以使用以下几个命令来添加用户

6.3.1、创建用户及获取用户信息

6.3.1.1、ceph auth add

此命令是添加用户的规范方法。它会创建用户、生成密钥,并添加所有指定的能力

ceph@ceph-deploy:~$ ceph auth add -h
auth add <entity> {<caps> [<caps>...]}
 
ceph@ceph-deploy:~$ ceph osd pool ls
device_health_metrics
myrbd1
#给pool=myrbd1创建一个client的jack用户,对mon有r权限,对myrbd1地址池有rwx权限
ceph@ceph-deploy:~$ ceph auth add client.jack mon 'allow r' osd 'allow rwx pool=myrbd1'
added key for client.ywx
ceph@ceph-deploy:~$ ceph auth get client.jack
[client.ywx]
    key = AQBkbkliYQXAARAADTGxDU9GyX9HI+sDDu861w==
    caps mon = "allow r"
    caps osd = "allow rwx pool=myrbd1"
exported keyring for client.jack

6.3.1.2、ceph auth get-or-create

ceph auth get-or-create 此命令是创建用户较为常见的方式之一,它会返回包含用户名(在方括号中)和密钥的密钥文,如果该用户已存在,此命令只以密钥文件格式返回用户名和密钥,还可以使用-o 指定文件名选项将输出保存到某个文件

# 创建zhai用户
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth get-or-create client.zhai mon 'allow r' osd 'allow rwx pool=myrbd1'
[client.zhai]
	key = AQDsbklip1svBxAANOlZh3MEA7jE3/0FMBlDGQ==
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth get client.zhai
[client.zhai]
	key = AQDsbklip1svBxAANOlZh3MEA7jE3/0FMBlDGQ==
	caps mon = "allow r"
	caps osd = "allow rwx pool=myrbd1"
exported keyring for client.zhai
# 再次创建client.zhai用户
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth get-or-create client.zhai mon 'allow r' osd 'allow rwx pool=myrbd1'
[client.zhai]
	key = AQDsbklip1svBxAANOlZh3MEA7jE3/0FMBlDGQ==
#注意:该命令为没有创建的用户,则创建用户并显示用户名(在方括号中)和密钥的密钥文;创建的用户已存在,则直接显示用户名(在方括号中)和密钥的密钥文。

6.3.1.3、ceph auth get-or-create-key

此命令是创建用户并仅返回用户密钥,对于只需要密钥的客户端(例如libvirt),此命令非常有用。如果该用户已存在,此命令只返回密钥。您可以使用-o 文件名选项将输出保存到某个文件。 创建客户端用户时,可以创建不具有能力的用户。不具有能力的用户可以进行身份验证,但不能执行其他操作,此类客户端无法从监视器检索集群地图,但是,如果希望稍后再添加能力,可以使用ceph auth caps 命令创建一个不具有能力的用户。典型的用户至少对Ceph monitor 具有读取功能,并对Ceph OSD 具有读取和写入功能。此外,用户的OSD 权限通常限制为只能访问特定的存储池。

cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth get-or-create-key client.zhai mon 'allow r' osd 'allow rwx pool=myrbd1'
AQDsbklip1svBxAANOlZh3MEA7jE3/0FMBlDGQ==
#1、仅仅只显示用户密钥key
#2、用户有key就显示,没有key就创建

6.3.1.4、ceph auth print-key

获取单个指定用户的key 信息

cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth print-key client.zhai
AQDsbklip1svBxAANOlZh3MEA7jE3/0FMBlDGQ==

6.3.2、修改用户权限能力

使用ceph auth caps 命令可以指定用户以及更改该用户的能力,设置新能力会完全覆盖当前的能力,因此要加上之前的用户已经拥有的能和新的能力,如果看当前能力,可以运行ceph auth get USERTYPE.USERID,如果要添加能力,使用以下格式时还需要指定现有能力:

案例:

#查看上面创建的zhai用户权限
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth get client.zhai
[client.zhai]
	key = AQDsbklip1svBxAANOlZh3MEA7jE3/0FMBlDGQ==
	caps mon = "allow r"
	caps osd = "allow rwx pool=myrbd1"
exported keyring for client.zhai
#将mon权限改为rw,osd权限改为rw

cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth caps client.zhai mon 'allow rw' osd 'allow rw pool=myrbd1'
updated caps for client.zhai
# 验证权限
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth get client.zhai
[client.zhai]
	key = AQDsbklip1svBxAANOlZh3MEA7jE3/0FMBlDGQ==
	caps mon = "allow rw"
	caps osd = "allow rw pool=myrbd1"
exported keyring for client.zhai

6.3.3、删除用户

要删除用户使用ceph auth del TYPE.ID,其中TYPE 是client、osd、mon 或mds 之一,ID 是用户名或守护进程的ID。

#删除zhai用户
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth del client.zhai
updated
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth del client.zhai
entity client.zhai does not exist

7、密钥环管理

ceph 的秘钥环是一个保存了secrets、keys、certificates 并且能够让客户端通认证访问ceph的keyring file(集合文件),一个keyring file 可以保存一个或者多个认证信息,每一个key 都有一个实体名称加权限,类型为:

{client、mon、mds、osd}.name

当客户端访问ceph 集群时,ceph 会使用以下四个密钥环文件预设置密钥环设置:

/etc/ceph/<$cluster name>.<user $type>.<user $id>.keyring #保存单个用户的keyring
/etc/ceph/cluster.keyring #保存多个用户的keyring
/etc/ceph/keyring #未定义集群名称的多个用户的keyring
/etc/ceph/keyring.bin #编译后的二进制文件

7.1、创建密钥环文件

密钥环文件的创建分为:用户创建--->空的keyring文件创建--->把用户信息导入keyring文件。

#1、创建一个user1的用户文件
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth get-or-create client.user1 mon 'allow r' osd 'allow rwx pool=myrbd1'
[client.user1]
	key = AQBjcUliZ2xDLhAAG1GlWFuj07PXrGCegvFmiQ==
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth get client.user1
[client.user1]
	key = AQBjcUliZ2xDLhAAG1GlWFuj07PXrGCegvFmiQ==
	caps mon = "allow r"
	caps osd = "allow rwx pool=myrbd1"
exported keyring for client.user1
cephadmin@ceph-deploy:~/ceph-cluster$


# 2、创建一个名为ceph.client.user1.keyring的空的密钥环文件
cephadmin@ceph-deploy:~/ceph-cluster$ ceph-authtool --create-keyring ceph.client.user1.keyring
creating ceph.client.user1.keyring  #是个空文件

cephadmin@ceph-deploy:~/ceph-cluster$ file ceph.client.user1.keyring
ceph.client.user1.keyring: empty


# 3、导出user1信息之指定keyring文件
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth get client.user1 -o ceph.client.user1.keyring 
exported keyring for client.user1
cephadmin@ceph-deploy:~/ceph-cluster$ cat ceph.client.user1.keyring
[client.user1]
	key = AQBjcUliZ2xDLhAAG1GlWFuj07PXrGCegvFmiQ==
	caps mon = "allow r"
	caps osd = "allow rwx pool=myrbd1"

在创建包含单个用户的密钥环时,通常建议使用ceph 集群名称、用户类型和用户名及keyring来命名, 并将其保存在/etc/ceph 目录中。例如为client.user1 用户创建ceph.client.user1.keyring

7.2、从keyring文件恢复删除的用户认证信息

# 1、删除client.user1用户
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth get client.user1
[client.user1]
	key = AQBjcUliZ2xDLhAAG1GlWFuj07PXrGCegvFmiQ==
	caps mon = "allow r"
	caps osd = "allow rwx pool=myrbd1"
exported keyring for client.user1
# 删除client.user1
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth del client.user1
updated
# 验证client.user1用户被删除
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth get client.user1
Error ENOENT: failed to find client.user1 in keyring

# 2、使用client.user1的keyring恢复用户client.user1的认证信息
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth import -i ceph.client.user1.keyring 
imported keyring
# client.user1信息被恢复
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth get client.user1
[client.user1]
	key = AQBjcUliZ2xDLhAAG1GlWFuj07PXrGCegvFmiQ==
	caps mon = "allow r"
	caps osd = "allow rwx pool=myrbd1"
exported keyring for client.user1

7.3、将多个用户信息导入一个keyring

#1、创建一个空的keyring 文件:
ceph@ceph-deploy:~$ ceph-authtool --create-keyring ceph.client.user.keyring
creating ceph.client.user.keyring
#2、将admin用户keyring文件内容导入到user的keyring文件
ceph@ceph-deploy:~$ ceph-authtool --create-keyring ceph.client.user.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring 
creating ceph.client.user.keyring
importing contents of /etc/ceph/ceph.client.admin.keyring into ceph.client.user.keyring
#3、验证ceph.client.user.keyring文件
ceph@ceph-deploy:~$ ceph-authtool -l ./ceph.client.user.keyring 
[client.admin]
    key = AQAKyxthqvTaORAA/aUa9o2vAcfalDI+nWaoqg==
    caps mds = "allow *"
    caps mgr = "allow *"
    caps mon = "allow *"
    caps osd = "allow *"
#4、再把ceph.client.user1.keyring文件内容信息导入到user的keyrig文件中
ceph@ceph-deploy:~$ ceph-authtool ./ceph.client.user.keyring --import-keyring ./ceph.client.user1.keyring 
importing contents of ./ceph.client.user1.keyring into ./ceph.client.user.keyring
#5、验证ceph.client.user.keyring文件信息
ceph@ceph-deploy:~$ ceph-authtool -l ./ceph.client.user.keyring 
[client.admin]
    key = AQAKyxthqvTaORAA/aUa9o2vAcfalDI+nWaoqg==
    caps mds = "allow *"
    caps mgr = "allow *"
    caps mon = "allow *"
    caps osd = "allow *"
[client.user1]
    key = AQCbOyJhNlfvKhAAQz3KBvxKKbOMQi8PJKX3lw==
    caps mon = "allow r"
    caps osd = "allow rwx pool=myrbd1"

  

 

posted @ 2022-04-03 18:12  zhrx  阅读(747)  评论(0编辑  收藏  举报