创建凭据并存入凭据的初始版本。
您需要指定凭据名称、初始版本的凭据值和版本号。初始版本的状态被标记为ACSCurrent。凭据管家加密每个版本的凭据值,凭据名称、版本号、版本的状态标记等元数据不会被加密。
KMS使用您指定的密钥对凭据进行加密保护,密钥和凭据需要属于同一个KMS实例,且密钥必须为对称密钥。
您对凭据值进行加密前,需要具备密钥的kms:GenerateDataKey
权限。
本文将提供一个示例,创建一个名称为mydbconninfo
、初始版本号VersionId
为v1
、凭据值SecretData
为{"Accounts":[{"AccountName":"user1","AccountPassword":"****"}]}
的RDS凭据。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | CreateSecret | 系统规定参数。取值:CreateSecret。 |
SecretName | String | 是 | mydbconninfo | 凭据名称。 长度不超过192个字符,可包含中文、英文字母、数字、下划线(_)、正斜线(/)、加号(+)、等号(=)、半角句号(.)、短划线(-)和字符(@),其中中文的字符长度不超过64个。不同类型的凭据名称要求如下:
|
VersionId | String | 是 | v1 | 初始版本的版本号。长度不超过64个字符。 凭据对象内版本号唯一。 |
EncryptionKeyId | String | 否 | key-gzz63ff0db5hg3qje**** | 用于加密凭据值的密钥ID。 说明 密钥和凭据需要属于同一个KMS实例,且密钥必须为对称密钥。 |
SecretData | String | 是 | {"Accounts":[{"AccountName":"user1","AccountPassword":"****"}]} | 新创建凭据的凭据值。长度不超过8192个字符。凭据管家将其加密后,存入初始版本中。
|
SecretDataType | String | 否 | text | 凭据值类型。取值:
说明 当SecretType取值为Rds、RAMCredentials或ECS时,SecretDataType取值只能为text。 |
Description | String | 否 | mydbinfo | 凭据的描述信息。 |
Tags | String | 否 | [{\"TagKey\":\"key1\",\"TagValue\":\"val1\"},{\"TagKey\":\"key2\",\"TagValue\":\"val2\"}] | 凭据的标签。 |
SecretType | String | 否 | Rds | 凭据类型。取值:
|
ExtendedConfig | Map | 否 | {"SecretSubType":"SingleUser", "DBInstanceId":"rm-bp1b3dd3a506e****" ,"CustomData":{"Key1": "v1", "fds":"fdsf"}} | 凭据的拓展配置,用于指定特定凭据类型的属性。长度不超过1024个字符。
说明 当SecretType取值为Rds、RAMCredentials或ECS时,必须设置该参数。 |
EnableAutomaticRotation | Boolean | 否 | true | 是否开启自动轮转,取值:
说明 当SecretType取值为Rds、RAMCredentials或ECS时,该参数有效。 |
RotationInterval | String | 否 | 30d | 自动轮转的周期。取值范围:6小时~8,760小时(365天)。 格式为 unit取值:d(天)、h(小时)、m(分钟)、s(秒)。例如:7d或者604,800s均表示7天的周期。 说明 当EnableAutomaticRotation取值为true时,必须设置该参数。反之,将忽略该参数。 |
DKMSInstanceId | String | 否 | kst-bjj62d8f5e0sgtx8h**** | KMS实例的实例ID。 |
关于公共请求参数的详情,请参见公共参数。
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
RequestId | String | 3bf02f7a-015b-4f93-be0f-cc043fda2dd3 | 本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。 |
AutomaticRotation | String | Enabled | 是否开启自动轮转。取值:
说明 SecretType取值为Rds、RAMCredentials或ECS时,返回该参数。 |
SecretName | String | mydbconninfo | 凭据名称。 |
VersionId | String | v1 | 凭据版本号。 |
NextRotationDate | String | 2022-07-06T18:22:03Z | 下一次轮转的时间。 说明 当自动轮转开启时,返回该参数。 |
SecretType | String | Rds | 凭据类型。取值:
|
RotationInterval | String | 604800s | 凭据自动轮转的周期。 格式为 说明 当自动轮转开启时,返回该参数。 |
Arn | String | acs:kms:cn-hangzhou:154035569884****:secret/mydbconninfo | 阿里云资源名称。 |
ExtendedConfig | String | {\"SecretSubType\":\"SingleUser\", \"DBInstanceId\":\"rm-uf667446pc955****\", \"CustomData\":"Key1": "v1", "fds":"fdsf"} } | 凭据的拓展配置。 说明 当SecretType取值为Rds、RAMCredentials或ECS时,返回该参数。 |
DKMSInstanceId | String | kst-bjj62d8f5e0sgtx8h**** | KMS实例的实例ID。 |
示例
请求示例
http(s)://[Endpoint]/?Action=CreateSecret
&SecretName=mydbconninfo
&VersionId=v1
&EncryptionKeyId=key-gzz63ff0db5hg3qje****
&SecretData={"Accounts":[{"AccountName":"user1","AccountPassword":"****"}]}
&SecretDataType=text
&Description=mydbinfo
&Tags=[{\"TagKey\":\"key1\",\"TagValue\":\"val1\"},{\"TagKey\":\"key2\",\"TagValue\":\"val2\"}]
&SecretType=Rds
&EnableAutomaticRotation=true
&RotationInterval=30d
&DKMSInstanceId=kst-bjj62d8f5e0sgtx8h****
&公共请求参数
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateSecretResponse>
<RequestId>3bf02f7a-015b-4f93-be0f-cc043fda2dd3</RequestId>
<AutomaticRotation>Enabled</AutomaticRotation>
<SecretName>mydbconninfo</SecretName>
<VersionId>v1</VersionId>
<NextRotationDate>2022-07-06T18:22:03Z</NextRotationDate>
<SecretType>Rds</SecretType>
<RotationInterval>604800s</RotationInterval>
<Arn>acs:kms:cn-hangzhou:154035569884****:secret/mydbconninfo</Arn>
<ExtendedConfig>{\"SecretSubType\":\"SingleUser\", \"DBInstanceId\":\"rm-uf667446pc955****\", \"CustomData\":"Key1": "v1", "fds":"fdsf"} }</ExtendedConfig>
<DKMSInstanceId>kst-bjj62d8f5e0sgtx8h****</DKMSInstanceId>
</CreateSecretResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "3bf02f7a-015b-4f93-be0f-cc043fda2dd3",
"AutomaticRotation" : "Enabled",
"SecretName" : "mydbconninfo",
"VersionId" : "v1",
"NextRotationDate" : "2022-07-06T18:22:03Z",
"SecretType" : "Rds",
"RotationInterval" : "604800s",
"Arn" : "acs:kms:cn-hangzhou:154035569884****:secret/mydbconninfo",
"ExtendedConfig" : "{\\\"SecretSubType\\\":\\\"SingleUser\\\", \\\"DBInstanceId\\\":\\\"rm-uf667446pc955****\\\", \\\"CustomData\\\":\"Key1\": \"v1\", \"fds\":\"fdsf\"} }",
"DKMSInstanceId" : "kst-bjj62d8f5e0sgtx8h****"
}
错误码
HttpCode | 错误码 | 错误信息 | 描述 |
---|---|---|---|
400 | Rejected.LimitExceeded | The secret quota is exceeded. | 凭据超出配额。 |
400 | InvalidParameter | The specified parameter is not valid. | 参数非法。 |
403 | Forbidden.NoPermission | You are not authorized to perform the operation. | 操作无权限。 |
404 | Forbidden.ResourceNotFound | The resource is not found. | 资源不存在。 |
409 | Rejected.ResourceInDeleteWindow | The secret is planned to be deleted. | 此凭据在计划删除中 |
429 | Rejected.Throttling | The QPS upper limit is exceeded. | 限流达到上限。 |
500 | InternalFailure | An internal error occurred. | 内部错误。 |
访问错误中心查看更多错误码。