创建凭据
功能介绍
创建新的凭据,并将凭据值存入凭据的初始版本。
凭据管理服务将凭据值加密后,存储在凭据对象下的版本中。每个版本可与多个凭据版本状态相关联,凭据版本状态用于标识凭据版本处于的阶段,没有版本状态标记的版本视为已弃用,可用凭据管理服务自动删除。
初始版本的状态被标记为SYSCURRENT。
接口约束
您可以指定一个对称密钥类型的用户主密钥作为保护凭据的加密密钥。当不指定kms_key_id参数时,凭据管理服务将默认使用名为csms/default的默认主密钥,用于加密您账号在本项目中创建的凭据。如果用户账号下不存在该名称的主密钥,则凭据管理服务会自动为您创建该名称的密钥。
如果您指定主密钥,则需要同时具备相应主密钥的kms:dek:create权限,用于凭据值进行加密。
URI
POST /v1/{project_id}/secrets
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| project_id | 是 | String | 项目ID。 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| X-Auth-Token | 是 | String | 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| name | 是 | String | 凭据名称。 约束:取值范围为1到64个字符,满足正则匹配“^[a-zA-Z0-9._-]{1,64}$”。 |
| kms_key_id | 否 | String | 用于加密保护凭据值的KMS主密钥ID,如果您未指定此参数,凭据管理服务将默认使用名为csms/default的默认主密钥,用于加密您账号在本项目中创建的凭据值。如果用户账号下不存在该名称的主密钥,则凭据管理服务自动为您创建该名称的密钥。 |
| description | 否 | String | 凭据的描述信息。 约束:2048字节。 |
| secret_binary | 否 | String | 二进制类型凭据在base64编码后的明文,凭据管理服务将其加密后,存入凭据的初始版本中。 类型:base64编码的二进制数据对象。 约束:secret_binary和secret_string必须且只能设置一个,最大32K。 |
| secret_string | 否 | String | 文本类型凭据的明文,凭据管理服务将其加密后,存入凭据的初始版本中。 约束:secret_binary和secret_string必须且只能设置一个,最大32K。 |
响应参数
状态码: 200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| secret | Secret object | 凭据对象。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| id | String | 凭据的资源标识符。 |
| name | String | 凭据名称。 |
| state | String | 凭据状态,取值如下: ENABLED:表示启用状态 DISABLED:表示禁用状态 PENDING_DELETE:表示待删除状态 FROZEN:表示冻结状态 |
| kms_key_id | String | 用于加密凭据值的KMS主密钥的ID值。 |
| description | String | 凭据的描述信息。 |
| create_time | Long | 凭据创建时间,时间戳,即从1970年1月1日至该时间的总秒数。 |
| update_time | Long | 凭据上次更新时间,时间戳,即从1970年1月1日至该时间的总秒数。 |
| scheduled_delete_time | Long | 凭据计划删除时间,时间戳,即从1970年1月1日至该时间的总秒数。 凭据不在删除计划中时,本项值为null。 |
状态码: 400
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 错误码 |
| error_msg | String | 错误描述 |
状态码: 401
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 错误码 |
| error_msg | String | 错误描述 |
状态码: 403
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 错误码 |
| error_msg | String | 错误描述 |
状态码: 404
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 错误码 |
| error_msg | String | 错误描述 |
状态码: 500
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 错误码 |
| error_msg | String | 错误描述 |
状态码: 502
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 错误码 |
| error_msg | String | 错误描述 |
状态码: 504
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 错误码 |
| error_msg | String | 错误描述 |
请求示例
创建一个名字为demo的凭据,使用kms密钥ID为0d0466b0-e727-4d9c-b35d-f84bb474a37f对“this is a demo secret string”凭据值加密。
{
"name" : "demo",
"kms_key_id" : "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
"secret_string" : "this is a demo secret string"
} 响应示例
状态码: 200
请求已成功
{
"secret" : {
"id" : "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e",
"name" : "test",
"state" : "ENABLED",
"kms_key_id" : "b168fe00ff56492495a7d22974df2d0b",
"description" : "description",
"create_time" : 1581507580000,
"update_time" : 1581507580000,
"scheduled_delete_time" : 1581507580000
}
} 状态码
| 状态码 | 描述 |
|---|---|
| 200 | 请求已成功 |
| 400 | 请求参数有误 |
| 401 | 被请求的页面需要用户名和密码 |
| 403 | 认证失败 |
| 404 | 资源不存在,资源未找到 |
| 500 | 服务内部错误 |
| 502 | 请求未完成。服务器从上游服务器收到一个无效的响应 |
| 504 | 网关超时 |
错误码
请参见错误码。