注意

本文档适用于 Ceph 的开发版本。

认证

需要身份验证的 Swift API 请求必须在请求头中包含 X-Storage-Token 身份验证令牌。该令牌可以从 RADOS Gateway 或其他身份验证器获取。要从 RADOS Gateway 获取令牌,您必须创建一个用户。例如

sudo radosgw-admin user create --subuser="{username}:{subusername}" --uid="{username}"
--display-name="{Display Name}" --key-type=swift --secret="{password}" --access=full

有关 RADOS Gateway 管理的详细信息,请参阅 radosgw-admin

注意

对于那些习惯于 Swift API 的人来说,这实现了 Swift auth v1.0 API,因此上面的 {username} 通常等同于 Swift account,而 {subusername} 是该帐户下的一个用户。

身份验证获取

要对用户进行身份验证,请发出一个请求,在请求头中包含 X-Auth-UserX-Auth-Key

语法

GET /auth HTTP/1.1
Host: swift.radosgwhost.com
X-Auth-User: johndoe
X-Auth-Key: R7UUOLFDI2ZI9PRCQ53K

请求头

X-Auth-User

描述:

要进行身份验证的关键 RADOS GW 用户名。

类型:

String

必需:

X-Auth-Key

描述:

与 RADOS GW 用户名关联的密钥。

类型:

String

必需:

响应头

来自服务器的响应应包含一个 X-Auth-Token 值。响应还可能包含一个 X-Storage-Url,它提供 API 文档中其他请求中指定的 {api version}/{account} 前缀。

X-Storage-Token

描述:

为请求中指定的 X-Auth-User 提供的授权令牌。

类型:

String

X-Storage-Url

描述:

用户的 URL 和 {api version}/{account} 路径。

类型:

String

典型的响应如下所示

    HTTP/1.1 204 No Content
    Date: Mon, 16 Jul 2012 11:05:33 GMT
    Server: swift
    X-Storage-Url: https://swift.radosgwhost.com/v1/ACCT-12345
    X-Auth-Token: UOlCCC8TahFKlWuv9DB09TWHF0nDjpPElha0kAa
    Content-Length: 0
Content-Type: text/plain; charset=UTF-8

由 Ceph 基金会为您呈现

Ceph 文档是由非营利性 Ceph 基金会 资助和托管的社区资源。如果您希望支持这项工作和我们的其他努力,请考虑 立即加入