Updated on 2022-09-15 GMT+08:00

Querying the List of CMKs

Function

This API allows you to query the list of all CMKs.

URI

POST /v1.0/{project_id}/kms/list-keys

Table 1 Path parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token. The token can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

limit

No

String

Number of returned records. If the number of retrieved results is greater than this value, true is returned for the response parameter truncated, indicating that multiple pages of results are retrieved. The value cannot exceed the maximum number of keys. Example: 100

marker

No

String

Start position of pagination query. If truncated is true in the response, you can send consecutive requests to obtain more records. Set marker to the value of next_marker in the response. Example: 10

enterprise_project_id

No

String

Enterprise project ID.

  • If the enterprise project function is not enabled, you do not need to set this parameter.

  • If the enterprise project function is enabled, you can set this parameter when creating a resource. If this parameter is not specified, the resource you create will be put under the default enterprise project (whose project ID is 0).

  • If you do not have the permission to create resources under the default enterprise project, an error will be reported.

key_state

No

String

Key status, which matches the regular expression ^[1-5]{1}$. It can be:

  • 1: to be activated

  • 2: enabled

  • 3: disabled

  • 4: pending deletion

  • 5: pending import

sequence

No

String

36-byte sequence number of a request message. Example: 919c82d4-8046-4722-9094-35c3c6524cff

Response Parameters

Status code: 200

Table 4 Response body parameters

Parameter

Type

Description

keys

Array of strings

CMK ID list.

key_details

Array of KeyDetails objects

Key details list.

next_marker

String

Value of marker used for obtaining the next page of results. If truncated is false, next_marker is left blank.

truncated

String

Whether there is a next page of results:

  • true: There is a next page.

  • false: This is the last page.

total

Integer

Total number of keys.

Table 5 KeyDetails

Parameter

Type

Description

key_id

String

CMK ID.

domain_id

String

User domain ID.

key_alias

String

Key alias.

realm

String

Key realm.

key_usage

String

CMK usage。

  • ENCRYPT_DECRYPT

  • SIGN_VERIFY

key_description

String

Key description.

creation_date

String

Time when the key was created. The timestamp indicates the total seconds past the start of the epoch date (January 1, 1970).

scheduled_deletion_date

String

Time when the key was scheduled to be deleted. The timestamp indicates the total seconds past the start of the epoch date (January 1, 1970).

key_state

String

Key status, which matches the regular expression ^[1-5]{1}$. It can be:

  • 1: to be activated

  • 2: enabled

  • 3: disabled

  • 4: pending deletion

  • 5: pending import

default_key_flag

String

Master key identifier. The value is 1 for Default Master Keys and 0 for non-default master keys.

key_type

String

Key type.

expiration_time

String

Time when the key material expires. The timestamp indicates the total seconds past the start of the epoch date (January 1, 1970).

origin

String

Key source. It can be:

  • kms: The key material was generated by KMS.

  • external: The key material was imported.

key_rotation_enabled

String

Key rotation status. The default value is false, indicating that key rotation is disabled.

sys_enterprise_project_id

String

Enterprise project ID. Its default value is 0.

  • For users who have enabled the enterprise project function, this value indicates that resources are in the default enterprise project.

  • For users who have not enabled the enterprise project function, this value indicates that resources are not in the default enterprise project.

Status code: 400

Table 6 Response body parameters

Parameter

Type

Description

error

Object

Error message.

Table 7 ErrorDetail

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error information.

Status code: 403

Table 8 Response body parameters

Parameter

Type

Description

error

Object

Error message.

Table 9 ErrorDetail

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error information.

Example Requests

{
  "limit" : "2",
  "marker" : "1"
}

Example Responses

Status code: 200

Request processing succeeded.

{
  "keys" : [ "0d0466b0-e727-4d9c-b35d-f84bb474a37f", "2e258389-bb1e-4568-a1d5-e1f50adf70ea" ],
  "key_details" : [ {
    "key_id" : "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
    "domain_id" : "00074811d5c27c4f8d48bb91e4a1dcfd",
    "key_alias" : "test",
    "realm" : "cn-north-7",
    "key_description" : "key_description",
    "creation_date" : "1502799822000",
    "scheduled_deletion_date" : "",
    "key_spec" : "AES_256",
    "key_usage" : "ENCRYPT_DECRYPT",
    "key_state" : "2",
    "default_key_flag" : "0",
    "key_type" : "1",
    "expiration_time" : "1501578672000",
    "origin" : "kms",
    "key_rotation_enabled" : "true",
    "sys_enterprise_project_id" : "0",
    "partition_type" : "1"
  }, {
    "key_id" : "2e258389-bb1e-4568-a1d5-e1f50adf70ea",
    "domain_id" : "00074811d5c27c4f8d48bb91e4a1dcfd",
    "key_alias" : "test",
    "realm" : "realm",
    "key_description" : "key_description",
    "creation_date" : "1502799822000",
    "scheduled_deletion_date" : "",
    "key_spec" : "AES_256",
    "key_usage" : "ENCRYPT_DECRYPT",
    "key_state" : "2",
    "default_key_flag" : "0",
    "key_type" : "1",
    "expiration_time" : "1501578672000",
    "origin" : "kms",
    "key_rotation_enabled" : "true",
    "sys_enterprise_project_id" : "0",
    "partition_type" : "1"
  } ],
  "next_marker" : "",
  "truncated" : "false",
  "total" : "2"
}

Status code: 400

Invalid request parameters.

{
  "error" : {
    "error_code" : "KMS.XXX",
    "error_msg" : "XXX"
  }
}

Status code: 403

Authentication failed.

{
  "error" : {
    "error_code" : "KMS.XXX",
    "error_msg" : "XXX"
  }
}

Status Codes

Status Code

Description

200

Request processing succeeded.

400

Invalid request parameters.

403

Authentication failed.

Error Codes

See Error Codes.