5.3. 密钥环管理
当您使用 Ceph 客户端访问 Ceph 时,Ceph 客户端将查找本地密钥环。Ceph 默认使用以下四个密钥环名称预设置 keyring
设置,因此您不必在 Ceph 配置文件中设置它们,除非您要覆盖默认值,我们不建议这样做:
-
/etc/ceph/$cluster.$name.keyring
-
/etc/ceph/$cluster.keyring
-
/etc/ceph/keyring
-
/etc/ceph/keyring.bin
$cluster
metavariable 是 Ceph 存储集群名称(由 Ceph 配置文件的名称定义),即 ceph.conf
表示集群名称为 ceph
,因此 ceph.keyring
。$name
metavariable 是用户类型和用户 ID,如 client.admin
,因此为 ceph.client.admin.keyring
。
当执行读取或写入 /etc/ceph
的命令时,您可能需要使用 sudo
以 root
身份执行该命令。
在创建用户后,例如 client.ringo
,您必须获取密钥并将其添加到 Ceph 客户端的密钥环中,以便用户可以访问 Ceph 存储集群。
如需有关如何直接在 Ceph 存储集群中列出、获取、添加、修改和删除用户的详细信息,请参阅 第 5 章 用户管理。但是,Ceph 也提供 ceph-authtool
实用程序,供您从 Ceph 客户端管理密钥环。
5.3.1. 创建密钥环
当您使用管理用户_ 部分中的步骤创建用户时,您需要向 Ceph 客户端提供用户密钥,以便 Ceph 客户端能够检索指定用户的密钥并与 Ceph 存储集群进行身份验证。Ceph 客户端通过访问密钥环来查找用户名并检索用户的密钥。
ceph-authtool
工具允许您创建密钥环。要创建空密钥环,请使用 --create-keyring
或 -C
。例如:
# ceph-authtool --create-keyring /path/to/keyring
当使用多个用户创建密钥环时,我们建议使用集群名称,例如 $cluster.keyring
作为密钥环文件名,并将其保存到 /etc/ceph/
目录中,以便 keyring
配置默认设置选取文件名,而无需您在 Ceph 配置文件的本地副本中指定它。例如,使用以下命令创建 ceph.keyring
:
# ceph-authtool -C /etc/ceph/ceph.keyring
当使用单个用户创建密钥环时,我们建议使用集群名称、用户类型和用户名,并将其保存在 /etc/ceph/
目录中。例如,client.admin
用户的 ceph.client.admin.keyring
。
要在 /etc/ceph/
中创建密钥环,您必须使用 root
。这意味着该文件将只为 root
用户具有 rw
权限,这在密钥环包含管理员密钥时适用。但是,如果您要为特定用户或用户组使用密钥环,请确保执行 chown
或 chmod
来建立适当的密钥环所有权和访问权限。