全部产品
Search
文档中心

密钥管理服务:GetSecretValue

更新时间:Nov 17, 2023

调用GetSecretValue接口获取凭据值。

如果不指定版本号或版本状态,则KMS默认返回被标记为ACSCurrent的版本凭据值。

如果凭据使用了用户指定的主密钥来保护凭据值,则需要调用者同时具备相应主密钥的kms:Decrypt权限。

本文将提供一个示例,获取一个名为secret001凭据的凭据值,返回结果显示凭据值SecretDatatestdata1

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称

类型

是否必选

示例值

描述

Action String GetSecretValue

要执行的操作。取值:GetSecretValue

SecretName String secret001

凭据名称。

VersionStage String ACSCurrent

版本状态。如果指定该参数,则KMS返回被标记为指定状态的版本的凭据值。

默认值:ACSCurrent。

说明 RDS凭据、RAM凭据和ECS凭据只能获取ACSPrevious和ACSCurrent对应版本的凭据值。
VersionId String 00000000000000000000000000000001

版本号。如果指定该参数,则KMS返回指定版本号的凭据值。

说明 RDS凭据、RAM凭据和ECS凭据不支持指定VersionId,设置该参数将被忽略。
FetchExtendedConfig Boolean true

是否获取凭据的拓展配置。取值:

  • true
  • false(默认值)
说明 通用凭据设置该参数将被忽略。

关于公共请求参数的详情,请参见公共参数

返回数据

名称

类型

示例值

描述

SecretDataType String binary

凭据值类型。取值:

  • text
  • binary
CreateTime String 2023-02-21T15:39:26Z

创建凭据的时间。

VersionId String 00000000000000000000000000000001

凭据版本的标识符。

NextRotationDate String 2023-07-06T18:22:03Z

下一次轮转的时间。

说明 当自动轮转开启时,返回该参数。
SecretData String testdata1

凭据值。KMS将存储的密文凭据值进行解密后返回该参数。

  • 通用凭据返回您指定的凭据值。
  • RDS凭据返回的凭据值满足格式:{"AccountName":"","AccountPassword":""}
  • RAM凭据返回的凭据值满足格式:{"AccessKeyId":"Adfdsfd","AccessKeySecret":"fdsfdsf","GenerateTimestamp": "2023-03-25T10:42:40Z"}
  • ECS凭据返回的凭据值满足以下格式:
    • 口令类型凭据:{"UserName":"ecs-user","Password":"H5asdasdsads****"}
    • 公私钥类型凭据(私钥格式为PEM):{"UserName":"ecs-user","PublicKey":"ssh-rsa ****mKwnVix9YTFY9Rs= imported-openssh-key","PrivateKey": "d6bee1cb-2e14-4277-ba6b-73786b21****"}
RotationInterval String 604800s

凭据自动轮转的周期。

格式为integer[unit],其中integer表示时间长度,unit表示时间单位。 unit取值:s(秒)。例如:7天的轮转周期为604800s。

说明 当自动轮转开启时,返回该参数。
ExtendedConfig String {\"SecretSubType\":\"SingleUser\", \"DBInstanceId\":\"rm-uf667446pc955****\", \"CustomData\":{} }

凭据的拓展配置。

说明 当FetchExtendedConfig取值为true时,仅RDS凭据、RAM凭据或ECS凭据返回该参数。
LastRotationDate String 2023-07-05T08:22:03Z

最近一次轮转的时间。

说明 当凭据发生过轮转时返回该参数。
RequestId String 6a3e9c36-1150-4881-84d3-eb8672fcafad

本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。

SecretName String secret001

凭据名称。

AutomaticRotation String Enabled

是否开启自动轮转。取值:

  • Enabled:开启自动轮转。
  • Disabled:不开启自动轮转。
  • Invalid:轮转状态异常,凭据管家无法为您自动轮转。
说明 仅RDS凭据、RAM凭据或ECS凭据返回该参数。
SecretType String Generic

凭据类型。取值:

  • Generic:通用凭据。
  • Rds:RDS凭据。
  • RAMCredentials:RAM凭据。
  • ECS:ECS凭据。
VersionStages Array of String { "VersionStage": [ "ACSCurrent" ] }

凭据版本的状态标记。

示例

请求示例

http(s)://[Endpoint]/?Action=GetSecretValue
&SecretName=secret001
&VersionStage=ACSCurrent
&VersionId=00000000000000000000000000000001
&FetchExtendedConfig=true
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<GetSecretValueResponse>
    <SecretDataType>binary</SecretDataType>
    <CreateTime>2023-02-21T15:39:26Z</CreateTime>
    <VersionId>00000000000000000000000000000001</VersionId>
    <NextRotationDate>2023-07-06T18:22:03Z</NextRotationDate>
    <SecretData>testdata1</SecretData>
    <RotationInterval>604800s</RotationInterval>
    <ExtendedConfig>{\"SecretSubType\":\"SingleUser\", \"DBInstanceId\":\"rm-uf667446pc955****\",  \"CustomData\":{} }</ExtendedConfig>
    <LastRotationDate>2023-07-05T08:22:03Z</LastRotationDate>
    <RequestId>6a3e9c36-1150-4881-84d3-eb8672fcafad</RequestId>
    <SecretName>secret001</SecretName>
    <AutomaticRotation>Enabled</AutomaticRotation>
    <SecretType>Generic</SecretType>
    <VersionStages>{ "VersionStage": [ 	"ACSCurrent" 	] }</VersionStages>
</GetSecretValueResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "SecretDataType" : "binary",
  "CreateTime" : "2023-02-21T15:39:26Z",
  "VersionId" : "00000000000000000000000000000001",
  "NextRotationDate" : "2023-07-06T18:22:03Z",
  "SecretData" : "testdata1",
  "RotationInterval" : "604800s",
  "ExtendedConfig" : "{\\\"SecretSubType\\\":\\\"SingleUser\\\", \\\"DBInstanceId\\\":\\\"rm-uf667446pc955****\\\",  \\\"CustomData\\\":{} }",
  "LastRotationDate" : "2023-07-05T08:22:03Z",
  "RequestId" : "6a3e9c36-1150-4881-84d3-eb8672fcafad",
  "SecretName" : "secret001",
  "AutomaticRotation" : "Enabled",
  "SecretType" : "Generic",
  "VersionStages" : [ "{ \"VersionStage\": [ \t\"ACSCurrent\" \t] }" ]
}

错误码

HttpCode

错误码

错误信息

描述

403 Forbidden.DKMSInstanceStateInvalid The DKMS instance state is invalid. 您的专属KMS状态为无效状态。
403 Forbidden.DKMSInstanceNotFound The specified DKMS Instance is not found. 您指定的专属kms实例未找到。
404 Forbidden.KeyNotFound The specified Key is not found. 指定的密钥不存在。
404 Forbidden.ResourceNotFound Resource not found. 资源找不到

访问错误中心查看更多错误码。