BatchGetSecretValue - 批量获取凭据值

更新时间:
复制 MD 格式

批量获取凭据。

接口说明

  • RAM 用户或 RAM 角色调用该 OpenAPI 需要被授予的权限策略详情,请参见访问控制

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

  • 调用者同时应具备所有批量凭据的kms:GetSecretValue权限。

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

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

调试

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

调试

授权信息

当前API暂无授权信息透出。

请求语法

GET  HTTP/1.1

请求参数

名称

类型

必填

描述

示例值

SecretsList

array<object>

凭据信息列表(最多同时查询 20 组不同的凭据信息)

object

SecretName

string

凭据名称或凭据资源名称(ARN)。

说明

访问其他阿里云账号下的凭据时,必须输入凭据 ARN。凭据 ARN 的格式为acs:kms:${region}:${account}:secret/${secret-name}

secret001

VersionStage

string

版本状态。默认值:ACSCurrent。

输入该参数时返回指定版本状态的凭据值,不输入该参数时返回 ACSCurrent 版本状态的凭据值。

说明

RDS 凭据、PolarDB 凭据、Redis/Tair 凭据、RAM 凭据和 ECS 凭据只能获取 ACSPrevious 和 ACSCurrent 对应版本的凭据值。

ACSCurrent

VersionId

string

版本号。

v1

FetchExtendedConfig

string

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

  • true:获取

  • false(默认值):不获取

说明

通用凭据不支持拓展配置,设置该参数将被忽略。

枚举值:

  • true :

    获取

  • false :

    不获取

true

返回参数

名称

类型

描述

示例值

object

Schema of Response

RequestId

string

请求 ID。

8252db58-2036-408c-a3d5-56e656dc2551

SecretValues

array<object>

获取成功凭据列表。

array<object>

SecretDataType

string

凭据值类型。取值:

  • text

  • binary

binary

CreateTime

string

创建凭据的时间(UTC)。

2024-02-21T15:39:26Z

VersionId

string

凭据的版本号。

v1

NextRotationDate

string

下一次轮转的时间(UTC)。

说明

当自动轮转开启时,返回该参数。

2024-07-06T18:22:03Z

SecretData

string

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

  • 通用凭据返回您指定的凭据值。

  • RDS 凭据、Redis/Tair 凭据返回的凭据值满足格式:{"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****"}

  • PolarDB 凭据返回的凭据值满足格式:{"AccountName":"","AccountPassword":""}

testdata1

RotationInterval

string

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

说明

当自动轮转开启时,返回该参数。

604800s

ExtendedConfig

string

凭据的拓展配置。

说明

当 FetchExtendedConfig 取值为 true 时,仅 RDS 凭据、PolarDB 凭据、Redis/Tair 凭据、RAM 凭据或 ECS 凭据返回该参数。

{\"SecretSubType\":\"SingleUser\", \"DBInstanceId\":\"rm-uf667446pc955****\", \"CustomData\":{} }

LastRotationDate

string

最近一次轮转的时间(UTC)。

说明

当凭据发生过轮转时返回该参数。

2023-07-05T08:22:03Z

RequestId

string

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

8252db58-2036-408c-a3d5-56e656dc2551

SecretName

string

凭据名称。

secret001

AutomaticRotation

string

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

  • Enabled:开启了自动轮转。

  • Disabled:未开启自动轮转。

  • Invalid:轮转状态异常,KMS 无法为您自动轮转。

说明

仅 RDS 凭据、PolarDB 凭据、Redis/Tair 凭据、RAM 凭据或 ECS 凭据返回该参数。

Enabled

SecretType

string

凭据类型。取值:

  • Generic:通用凭据。

  • Rds:RDS 凭据。

  • Redis:Redis/Tair 凭据。

  • RAMCredentials:RAM 凭据。

  • ECS:ECS 凭据。

  • PolarDB:PolarDB 凭据。

Generic

VersionStages

object

凭据版本的状态标记。

VersionStage

array

凭据版本的状态标记。

string

凭据版本的状态标记。

{ "VersionStage": [ "ACSCurrent" ] }

Errors

array<object>

获取失败凭据错误列表。

object

SecretName

string

凭据名称。

secret002

HttpStatus

integer

返回错误页面时的 HTTP 状态码。

404

Code

string

服务错误码。

Forbidden.ResourceNotFound

Message

string

获取凭据失败错误信息。

Resource not found.

示例

正常返回示例

JSON格式

{
  "RequestId": "8252db58-2036-408c-a3d5-56e656dc2551",
  "SecretValues": [
    {
      "SecretDataType": "binary",
      "CreateTime": "2024-02-21T15:39:26Z",
      "VersionId": "v1",
      "NextRotationDate": "2024-07-06T18:22:03Z",
      "SecretData": "testdata1",
      "RotationInterval": "604800s",
      "ExtendedConfig": "{\\\"SecretSubType\\\":\\\"SingleUser\\\", \\\"DBInstanceId\\\":\\\"rm-uf667446pc955****\\\",  \\\"CustomData\\\":{} }",
      "LastRotationDate": "2023-07-05T08:22:03Z",
      "RequestId": "8252db58-2036-408c-a3d5-56e656dc2551",
      "SecretName": "secret001",
      "AutomaticRotation": "Enabled",
      "SecretType": "Generic",
      "VersionStages": {
        "VersionStage": [
          "{ \"VersionStage\": [ \"ACSCurrent\" ] }"
        ]
      }
    }
  ],
  "Errors": [
    {
      "SecretName": "secret002",
      "HttpStatus": 404,
      "Code": "Forbidden.ResourceNotFound",
      "Message": "Resource not found."
    }
  ]
}

错误码

HTTP status code

错误码

错误信息

描述

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. 资源找不到

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

变更历史

更多信息,参考变更详情