3.6. 用户管理
Ceph 对象存储用户管理是指属于 Ceph 对象存储服务的客户端应用的用户,而不是 Ceph 对象网关作为 Ceph 存储群集的客户端应用。您必须创建用户、访问密钥和机密,以使客户端应用能够与 Ceph 对象网关服务交互。
用户类型有两种:
- 用户: 术语"用户"反映了 S3 接口的用户。
- 子用户: 术语"子用户"反映了 Swift 界面的用户。子用户 与用户 关联.
您可以创建、修改、查看、暂停和删除用户及子用户。
在多站点部署中管理用户时,ALWAYS 对 master zone group master zone 中的 Ceph 对象网关节点执行 radosgw-admin 命令,以确保用户在整个多站点集群中同步。不要从 second zone 或 second zone group 创建、修改或删除多站点群集上的用户。本文档使用 [root@master-zone]# 作为 master zone group 的 master zone 中主机的命令行惯例。
除了创建用户和子用户 ID 外,您还可以为用户添加显示名称和电子邮件地址。您可以指定一个密钥和 secret,或者自动生成密钥和 secret。在生成或指定密钥时,请注意用户 ID 与 S3 密钥类型对应,子用户 ID 对应于 swift 密钥类型。Swift 密钥也具有 读取、写入、读写 和 完全 的访问权限级别。
用户管理命令行语法通常遵循 用户 <command> <user-id> 模式,其中 <user-id> 是 --uid= 选项,后跟用户的 ID(S3)或 --subuser= 选项,后跟用户名(Swift)。例如:
radosgw-admin user <create|modify|info|rm|suspend|enable|check|stats> <--uid={id}|--subuser={name}> [other-options]
[root@master-zone]# radosgw-admin user <create|modify|info|rm|suspend|enable|check|stats> <--uid={id}|--subuser={name}> [other-options]
可能需要其他选项,具体取决于您执行的命令。
3.6.1. multi Tenancy 复制链接链接已复制到粘贴板!
在 Red Hat Ceph Storage 2 及更高版本中,Ceph 对象网关支持 S3 和 Swift API 的多租户,其中每个用户和 bucket 都位于"租户"。 当多个租户使用通用 bucket 名称(如"test"、"main" 等)时,多租户可防止命名空间冲突。
每个用户和 bucket 位于租户下。为向后兼容,将添加带有空名称的"传统"租户。每当不指定租户的情况下引用存储桶时,Swift API 将假定为"传统"租户。现有用户也存储在传统租户下,因此他们将像之前的版本一样访问 bucket 和对象。
租户对其没有任何操作。在管理用户时,它们根据需要显示和消失。为了创建、修改和删除具有显式租户的用户,提供了一个额外的选项 --tenant,或者在 >"。
radosgw-admin 命令的参数中使用了语法"<tenant>$<user
要为 S3 创建用户 testx$tester,请执行以下操作:
radosgw-admin --tenant testx --uid tester \
--display-name "Test User" --access_key TESTER \
--secret test123 user create
[root@master-zone]# radosgw-admin --tenant testx --uid tester \
--display-name "Test User" --access_key TESTER \
--secret test123 user create
要为 Swift 创建用户 testx$tester,请执行以下任一操作:
shell 中必须用引号括起具有显式租户的子用户。