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