1.14. 创建密钥

创建新密钥。如果指定了 subuser,那么默认创建的密钥将是 swift 类型。如果只提供一个 access-keysecret-key,则会自动生成提交的密钥,如果只指定了 secret-key,则会自动生成 access-key。默认情况下,生成的密钥会添加到密钥环中,而不替换现有的密钥对。如果指定了 access-key,并引用用户拥有的现有密钥,则会修改它。响应是一个容器,它列出了与创建的密钥相同的所有类型。

注意

在创建 swift 密钥时,指定 access-key 选项将无效。另外,每个用户或子用户只能保留一个 swift 密钥。

功能

`users=write`

语法

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

表 1.23. 请求参数

名称描述Type示例必需

uid

用于接收新密钥的用户 ID。

字符串

foo_user

subuser

用于接收新密钥的子用户 ID。

字符串

sub_foo

key-type

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

字符串

s3 [s3]

access-key

指定 access key。

字符串

AB01C2D3EF45G6H7IJ8K

secret-key

指定 secret 密钥。

字符串

0ab/CdeFGhij1klmnopqRSTUv1WxyZabcDEFgHij

generate-key

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

布尔值

True [True]

表 1.24. 响应实体

名称描述Type

keys

与此用户帐户关联的类型密钥。

Container

不适用

user

与密钥关联的用户帐户。

字符串

keys

access-key

access key。

字符串

keys

secret-key

secret 密钥

字符串

keys

表 1.25. 特殊错误响应

名称描述代码

InvalidAccessKey

指定无效的访问密钥。

400 错误请求

InvalidKeyType

指定了无效的密钥类型。

400 错误请求

InvalidSecretKey

指定了无效的 secret key。

400 错误请求

InvalidKeyType

指定了无效的密钥类型。

400 错误请求

KeyExists

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

409 冲突