Menu Close

Red Hat Training

A Red Hat training course is available for Red Hat Ceph Storage

5.2.3. 添加用户

添加用户会创建一个用户名,即 TYPE.ID,这是 secret 密钥以及您用来创建用户的命令中包含的任何功能。

用户的密钥使用户能够通过 Ceph 存储群集进行身份验证。用户的功能授权用户读取、写入或执行 Ceph 监视器(mon)、Ceph OSD(osd)或 Ceph 元数据服务器(mds)。

添加用户有几个方法:

  • ceph auth add:此命令是添加用户的规范方式。它将创建用户,生成密钥并添加任何指定的功能。
  • ceph auth get-or-create:此命令通常是创建用户的最简便方式,因为它返回了含有用户名(括在方括号中)和密钥的密钥文件格式。如果用户已存在,此命令只需以 keyfile 格式返回用户名和密钥。您可以使用 -o <file_name> 选项将输出保存到文件中。
  • ceph auth get-or-create-key: 此命令是创建用户并仅返回用户的密钥的一种便捷方式。这只对只需要密钥的客户端有用,例如 libvirt。如果用户已存在,此命令只需返回密钥。您可以使用 -o <file_name> 选项将输出保存到文件中。

在创建客户端用户时,您可以创建没有能力的用户。除了仅仅通过身份验证外,没有功能的用户是无用的,因为客户端无法从监控器检索集群映射。但是,如果您希望以后使用 ceph auth caps 命令延迟添加功能,您可以创建没有功能的用户。

典型的用户至少具有 Ceph 监控器的读取功能,以及 Ceph OSD 的读取和写入功能。此外,用户的 OSD 权限通常仅限于访问特定的池。

# 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 的功能,但您不限制对特定池的访问,该用户将有权访问集群中的 ALL 池!