Red Hat Training

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

2.2. 配置 Civetweb

若要将 Ceph 对象网关配置为使用 Keystone,可在管理节点上打开 Ceph 配置文件,再导航到 [client.radosgw.{instance-name}],其中 {instance-name} 是要配置的网关实例的名称。对于每个网关实例,将 rgw_s3_auth_use_keystone 设置设置为 true,然后将 thenss_db_path 设置设置为 NSS 数据库存储的路径。

提供身份验证凭据。可以配置 Keystone 服务租户、适用于 OpenStack 身份 API 的 v2.0 版本的 Keystone 用户和密码,这与系统管理员倾向于配置 OpenStack 服务的方式类似。提供用户名和密码可避免向 rgw_keystone_admin_token 设置提供共享 secret。红帽建议在生产环境中通过 admin 令牌禁用身份验证。

服务租户凭据应当具有 admin 特权。如需了解更多详细信息,请参阅红帽 OpenStack 平台 13 的用户和身份管理指南。的必要配置选项有:

rgw_keystone_admin_user = {keystone service tenant user name}
rgw_keystone_admin_password = {keystone service tenant user password}
rgw_keystone_admin_tenant = {keystone service tenant name}

Ceph 对象网关用户映射到 Keystone 租户。Keystone 用户在 上分配有不同的角色,可能有多个租户。当 Ceph 对象网关获取票据时,它将查看租户,以及分配给该票据的用户角色,并根据可配置的 rgw_keystone_accepted_roles 接受/拒绝请求。

典型的配置可能具有以下设置:

[client.radosgw.gateway]
rgw_keystone_url = {keystone server url:keystone server admin port}
##Authentication using an admin token. Not preferred.
#rgw_keystone_admin_token = {keystone admin token}
##Authentication using username, password and tenant. Preferred.
rgw_keystone_admin_user = {keystone service tenant user name}
rgw_keystone_admin_password = {keystone service tenant user password}
rgw_keystone_admin_tenant = {keystone service tenant name}
rgw_keystone_accepted_roles = {accepted user roles}
##
rgw_keystone_token_cache_size = {number of tokens to cache}
rgw_keystone_revocation_interval = {number of seconds before checking revoked tickets}
rgw_keystone_make_new_tenants = {true for private tenant for each new user}
rgw_s3_auth_use_keystone = true
nss_db_path = {path to nss db}

保存对 Ceph 配置文件的更改。然后,将更新的 Ceph 配置文件复制到每个 Ceph 节点。例如:

# scp /etc/ceph/ceph.conf <node-name>:/etc/ceph/

有关可用 Keystone 集成配置选项的详细信息,请参见以下:

rgw_s3_auth_use_keystone

描述
如果设为 true,Ceph 对象网关将使用 Keystone 验证用户的身份。
类型
布尔值
默认
false

nss_db_path

描述
NSS 数据库的路径。
类型
字符串
默认
""

rgw_keystone_url

描述
Keystone 服务器上管理 RESTful API 的 URL。
类型
字符串
默认
""

rgw_keystone_admin_token

描述
Keystone 中为管理请求配置令牌或共享机密。
类型
字符串
默认
""

rgw_keystone_admin_user

描述
keystone admin 用户名。
类型
字符串
默认
""

rgw_keystone_admin_password

描述
keystone admin 用户密码.
类型
字符串
默认
""

rgw_keystone_admin_tenant

描述
keystone v2.0 的 Keystone admin 用户租户。
类型
字符串
默认
""

rgw_keystone_admin_project

描述
keystone v3 的 Keystone admin 用户项目。
类型
字符串
默认
""

rgw_keystone_admin_domain

描述
Keystone admin 用户域。
类型
字符串
默认
""

rgw_keystone_api_version

描述
要使用的 Keystone API 版本。有效选项为 23
类型
整数
默认
2

rgw_keystone_accepted_roles

描述
为请求提供服务所需的角色。
类型
字符串
默认
"Member、admin"

rgw_keystone_accepted_admin_roles

描述
角色列表,允许用户获取管理特权。
类型
字符串
默认
""

rgw_keystone_token_cache_size

描述
Keystone 令牌缓存中条目的最大数量。
类型
整数
默认
10000

rgw_keystone_revocation_interval

描述
令牌撤销检查之间的秒数。
类型
整数
默认
15 * 60

rgw_keystone_verify_ssl

描述
如果为 true,Ceph 将尝试验证 Keystone 的 SSL 证书。
类型
布尔值
默认
true

rgw_keystone_implicit_tenants

描述
在自己的租户中创建新用户,它们的名称相同。在大多数情况下,将它设置为 truefalse。若要与以前版本的红帽 Ceph 存储兼容,也可以将它设置为 s3swift。这意味着拆分身份空间,使得只有指定的协议才会使用隐式租户。些较早版本的红帽 Ceph 存储仅支持 Swift 的隐式租户。
类型
字符串
默认
false