1.6. 创建用户

创建新用户。默认情况下,将自动创建 S3 密钥对并在响应中返回。如果只提供了 access-keysecret-key 中的一个,则会自动生成忽略的密钥。默认情况下,生成的密钥会添加到密钥环中,而不替换现有的密钥对。如果指定了 access-key,并引用用户拥有的现有密钥,则会修改它。

功能

`users=write`

语法

PUT /admin/user?format=json HTTP/1.1
Host: FULLY_QUALIFIED_DOMAIN_NAME

表 1.3. 请求参数

名称描述Type示例必需

uid

要创建的用户 ID。

字符串

foo_user

display-name

要创建的用户的显示名称。

字符串

foo 用户

email

与用户关联的电子邮件地址。

字符串

foo@bar.com

key-type

要生成的密钥类型,选项为:swift、s3(默认)。

字符串

s3 [s3]

access-key

指定访问密钥。

字符串

ABCD0EF12GHIJ2K34LMN

secret-key

指定 secret 密钥。

字符串

0AbCDEFg1h2i34JklM5nop6QrSTUV+WxyzaBC7D8

user-caps

用户能力。

字符串

usage=read, write; users=read

generate-key

生成新密钥对,并将 添加到现有的密钥环中。

布尔值

True [True]

max-buckets

指定用户可以拥有的最大存储桶数。

整数

500 [1000]

暂停

指定是否应暂停用户。

布尔值

false [False]

表 1.4. 响应实体

名称描述Type

user

用于用户数据信息的容器。

Container

不适用

user_id

用户 ID。

字符串

user

display_name

显示用户的名称。

字符串

user

暂停

如果用户已被挂起,则为 true。

布尔值

user

max_buckets

用户所有的 bucket 的最大数量。

整数

user

子用户

与此用户帐户关联的子用户。

Container

user

keys

与这个用户帐户关联的 S3 密钥。

Container

user

swift_keys

与此用户帐户关联的 Swift 密钥。

Container

user

caps

用户能力。

Container

user

如果成功,响应将包含用户信息。

表 1.5. 特殊错误响应

名称描述代码

UserExists

尝试创建现有用户。

409 冲突

InvalidAccessKey

指定无效的访问密钥。

400 错误请求

InvalidKeyType

指定了无效的密钥类型。

400 错误请求

InvalidSecretKey

指定了无效的 secret key。

400 错误请求

InvalidKeyType

指定了无效的密钥类型。

400 错误请求

KeyExists

提供的访问密钥存在,但属于另一用户。

409 冲突

EmailExists

提供的电子邮件地址已存在。

409 冲突

InvalidCap

尝试授予无效的 admin 功能。

400 错误请求

其它资源