创建凭据并存入凭据的初始版本。
接口说明
-
RAM 用户或 RAM 角色调用该 OpenAPI 需要被授予的权限策略详情,请参见访问控制。
-
您需要指定凭据名称、初始版本的凭据值和版本号。初始版本的状态被标记为 ACSCurrent。
-
KMS 使用您指定的密钥对凭据值进行加密保护,密钥和凭据需要属于同一个 KMS 实例,且密钥必须为对称密钥。
说明KMS 对每个版本的凭据值进行加密,凭据名称、版本号、版本的状态标记等元数据不会被加密。
-
您对凭据值进行加密前,需要具备密钥的
kms:GenerateDataKey
权限。
本文将提供一个示例,创建一个名称为mydbconninfo
、初始版本号VersionId
为v1
、凭据值SecretData
为{"Accounts":[{"AccountName":"user1","AccountPassword":"****"}]}
的 RDS 凭据。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息
请求参数
名称 |
类型 |
必填 |
描述 |
示例值 |
SecretName |
string |
是 |
凭据名称。 凭据名称在当前地域下唯一。 长度不超过 192 个字符,可包含英文字母、数字、下划线(_)、正斜线(/)、加号(+)、等号(=)、半角句号(.)、短划线(-)和字符(@)。不同类型的凭据名称要求如下:
|
mydbconninfo |
VersionId |
string |
是 |
初始版本的版本号,版本号在该凭据内唯一。 长度不超过 64 个字符。 |
v1 |
EncryptionKeyId |
string |
否 |
用于加密凭据值的密钥 ID。 说明
密钥和凭据需要属于同一个 KMS 实例,且密钥必须为对称密钥。 |
key-gzz63ff0db5hg3qje**** |
SecretData |
string |
是 |
凭据值。长度不超过 30720 字节(30KB)。KMS 使用指定的密钥对其加密后,存入初始版本中。
|
{"Accounts":[{"AccountName":"user1","AccountPassword":"****"}]} |
SecretDataType |
string |
否 |
凭据值类型。取值:
说明
当 SecretType 取值为 Rds、Redis、PolarDB、RAMCredentials 或 ECS 时,SecretDataType 取值只能为 text。 |
text |
Description |
string |
否 |
凭据的描述信息。 |
mydbinfo |
Tags |
string |
否 |
凭据的标签。每个标签由一个键值对(Key:Value)组成,包含标签键(Key)、标签值(Value)。 标签建和标签值的格式:最多支持 128 个字符,可以包含英文大小写字母、数字、正斜线(/)、反斜线(\)、下划线(_)、短划线(-)、半角句号(.)、加号(+)、等于号(=)、半角冒号(:)、字符 at(@)。
|
[{\"TagKey\":\"key1\",\"TagValue\":\"val1\"},{\"TagKey\":\"key2\",\"TagValue\":\"val2\"}] |
SecretType |
string |
否 |
凭据类型。取值:
|
Rds |
ExtendedConfig |
object |
否 |
凭据的拓展配置,用于指定特定凭据类型的属性。长度不超过 1024 个字符。
说明
当 SecretType 取值为 Rds、Redis、PolarDB、RAMCredentials 或 ECS 时,必须设置该参数。 |
{"SecretSubType":"SingleUser", "DBInstanceId":"rm-bp1b3dd3a506e****" ,"CustomData":{"Key1": "v1", "fds":"fdsf"}} |
EnableAutomaticRotation |
boolean |
否 |
是否开启自动轮转,取值:
说明
当 SecretType 取值为 Rds(RDS 凭据)、PolarDB(PolarDB 凭据)、Redis(Redis 凭据)、RAMCredentials(RAM 凭据)或 ECS(ECS 凭据)时,该参数有效。当 SecretType 取值为 Generic(通用凭据)时,不支持自动轮转,您可通过 PutSecretValue 操作手工轮转。 |
true |
RotationInterval |
string |
否 |
自动轮转的周期。取值范围:6 小时~8,760 小时(365 天)。 说明
仅当 EnableAutomaticRotation 取值为 true 时,必须设置该参数,否则无需设置。 |
30d |
DKMSInstanceId |
string |
否 |
KMS 实例的实例 ID。 |
kst-bjj62d8f5e0sgtx8h**** |
Policy |
string |
否 |
凭据策略的具体内容,JSON 格式。最大长度为 32768 个字节。 关于凭据策略的详细介绍,请参见凭据策略概述。不输入该参数时,使用默认凭据策略。 凭据策略内容包含:
凭据策略格式为:
Statement 详细介绍:
说明
授权给其他阿里云账号下的 RAM 用户、RAM 角色后,您仍需在访问控制 RAM 侧,使用该 RAM 用户、RAM 角色的阿里云账号为其授权使用该凭据,RAM 用户、RAM 角色才能使用该凭据。集体操作,请参见密钥管理服务自定义权限策略参考、为 RAM 用户授权、为 RAM 角色授权。 |
{"Version":"1","Statement": [{"Sid":"kms default secret policy","Effect":"Allow","Principal":{"RAM": ["acs:ram::119285303511****:*"]},"Action":["kms:*"],"Resource": ["*"] }] } |
关于公共请求参数的详情,请参见公共参数。
返回参数
名称 |
类型 |
描述 |
示例值 |
object |
|||
RequestId |
string |
本次调用请求的 ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。 |
3bf02f7a-015b-4f93-be0f-cc043fda2dd3 |
AutomaticRotation |
string |
是否开启自动轮转。取值:
说明
SecretType 取值为 Rds、Redis、PolarDB、RAMCredentials 或 ECS 时,返回该参数。 |
Enabled |
SecretName |
string |
凭据名称。 |
mydbconninfo |
VersionId |
string |
凭据版本号。 |
v1 |
NextRotationDate |
string |
下一次轮转的时间。 说明
当自动轮转开启时,返回该参数。 |
2023-07-06T18:22:03Z |
SecretType |
string |
凭据类型。取值:
|
Rds |
RotationInterval |
string |
凭据自动轮转的周期。 说明
当自动轮转开启时,返回该参数。 |
604800s |
Arn |
string |
阿里云资源名称。 |
acs:kms:cn-hangzhou:154035569884****:secret/mydbconninfo |
ExtendedConfig |
string |
凭据的拓展配置。 说明
当 SecretType 取值为 Rds、Redis、PolarDB、RAMCredentials 或 ECS 时,返回该参数。 |
{\"SecretSubType\":\"SingleUser\", \"DBInstanceId\":\"rm-uf667446pc955****\", \"CustomData\":"Key1": "v1", "fds":"fdsf"} } |
DKMSInstanceId |
string |
KMS 实例的实例 ID。 |
kst-bjj62d8f5e0sgtx8h**** |
示例
正常返回示例
JSON
格式
{
"RequestId": "3bf02f7a-015b-4f93-be0f-cc043fda2dd3",
"AutomaticRotation": "Enabled",
"SecretName": "mydbconninfo",
"VersionId": "v1",
"NextRotationDate": "2023-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****"
}
错误码
HTTP status code |
错误码 |
错误信息 |
描述 |
---|---|---|---|
400 | UnsupportedOperation | This action is not supported. | 不支持的操作 |
400 | Rejected.LimitExceeded | The request was rejected because user create resource limit was exceeded | 创建的资源达到上限,请求被拒绝。 |
400 | InvalidParameter | The specified parameter is not valid. | 参数非法。 |
400 | Rejected.ShareQuotaExceedLimit | Instance Share Quota Exceed Limit. | 实例份额配额超过限制。 |
500 | InternalFailure | Internal Failure | 内部错误 |
403 | Forbidden.DKMSInstanceNotFound | The specified DKMS Instance is not found. | 您指定的专属kms实例未找到。 |
404 | Forbidden.ResourceNotFound | The resource is not found. | 资源不存在。 |
409 | Rejected.ResourceExist | The resource already exists. | 资源已存在。 |
409 | Rejected.ResourceInDeleteWindow | The secret is planned to be deleted. | 此凭据在计划删除中 |
访问错误中心查看更多错误码。
变更历史
更多信息,参考变更详情。