diff --git a/docs/kms/api-ref/.placeholder b/docs/kms/api-ref/.placeholder deleted file mode 100644 index e69de29bb..000000000 diff --git a/docs/kms/api-ref/ALL_META.TXT.json b/docs/kms/api-ref/ALL_META.TXT.json new file mode 100644 index 000000000..0ed2b96ea --- /dev/null +++ b/docs/kms/api-ref/ALL_META.TXT.json @@ -0,0 +1,482 @@ +[ + { + "uri":"en-us_topic_00384375969.html", + "product_code":"kms", + "code":"1", + "des":"Public cloud APIs comply with the RESTful API design principles. REST-based Web services are organized into resources. Each resource is identified by one or more Uniform ", + "doc_type":"api", + "kw":"API Usage Guidelines,API Reference", + "title":"API Usage Guidelines", + "githuburl":"" + }, + { + "uri":"kms_02_0010.html", + "product_code":"kms", + "code":"2", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"APIs", + "title":"APIs", + "githuburl":"" + }, + { + "uri":"kms_02_0012.html", + "product_code":"kms", + "code":"3", + "des":"This API is used to create customer master keys (CMKs) used to encrypt data encryption keys (DEKs).Default Master Keys are created by services integrated with KMS. Names ", + "doc_type":"api", + "kw":"Creating a CMK,APIs,API Reference", + "title":"Creating a CMK", + "githuburl":"" + }, + { + "uri":"kms_02_0013.html", + "product_code":"kms", + "code":"4", + "des":"This API allows you to enable a CMK. Only an enabled CMK can be used.Only a disabled CMK can be enabled.URI formatPOST /v1.0/{project_id}/kms/enable-keyPOST /v1.0/{projec", + "doc_type":"api", + "kw":"Enabling a CMK,APIs,API Reference", + "title":"Enabling a CMK", + "githuburl":"" + }, + { + "uri":"kms_02_0014.html", + "product_code":"kms", + "code":"5", + "des":"This API allows you to disable a CMK. A disabled CMK cannot be used.Only an enabled CMK can be disabled.URI formatPOST /v1.0/{project_id}/kms/disable-keyPOST /v1.0/{proje", + "doc_type":"api", + "kw":"Disabling a CMK,APIs,API Reference", + "title":"Disabling a CMK", + "githuburl":"" + }, + { + "uri":"kms_02_0015.html", + "product_code":"kms", + "code":"6", + "des":"This API enables you to schedule the deletion of a CMK. A CMK can be scheduled to be deleted after 7 to 1096 days.URI formatPOST /v1.0/{project_id}/kms/schedule-key-delet", + "doc_type":"api", + "kw":"Scheduling the Deletion of a CMK,APIs,API Reference", + "title":"Scheduling the Deletion of a CMK", + "githuburl":"" + }, + { + "uri":"kms_02_0016.html", + "product_code":"kms", + "code":"7", + "des":"This API enables you to cancel the scheduled deletion of a CMK.You can cancel the scheduled deletion for a CMK only when the CMK's status is Scheduled deletion.URI format", + "doc_type":"api", + "kw":"Canceling the Scheduled Deletion of a CMK,APIs,API Reference", + "title":"Canceling the Scheduled Deletion of a CMK", + "githuburl":"" + }, + { + "uri":"kms_02_0017.html", + "product_code":"kms", + "code":"8", + "des":"This API allows you to query the list of all CMKs.URI formatPOST /v1.0/{project_id}/kms/list-keysPOST /v1.0/{project_id}/kms/list-keysParameter descriptionParametersParam", + "doc_type":"api", + "kw":"Querying the List of CMKs,APIs,API Reference", + "title":"Querying the List of CMKs", + "githuburl":"" + }, + { + "uri":"kms_02_0018.html", + "product_code":"kms", + "code":"9", + "des":"This API allows you to query the details about a CMK.By default, the performance threshold for querying CMK details is 1000 TPS per customer. To apply for higher performa", + "doc_type":"api", + "kw":"Querying the Information About a CMK,APIs,API Reference", + "title":"Querying the Information About a CMK", + "githuburl":"" + }, + { + "uri":"kms_02_0019.html", + "product_code":"kms", + "code":"10", + "des":"This API generates a 512-bit random number.URI formatPOST /v1.0/{project_id}/kms/gen-randomPOST /v1.0/{project_id}/kms/gen-randomParameter descriptionParameter descriptio", + "doc_type":"api", + "kw":"Creating a Random Number,APIs,API Reference", + "title":"Creating a Random Number", + "githuburl":"" + }, + { + "uri":"kms_02_0020.html", + "product_code":"kms", + "code":"11", + "des":"This API allows you to create a DEK. A returned result includes the plaintext and the ciphertext of a DEK.By default, the performance threshold for creating DEKs is 1000 ", + "doc_type":"api", + "kw":"Creating a DEK,APIs,API Reference", + "title":"Creating a DEK", + "githuburl":"" + }, + { + "uri":"kms_02_0021.html", + "product_code":"kms", + "code":"12", + "des":"This API allows you to create a plaintext-free DEK, that is, the returned result of this API includes only the ciphertext of the DEK.By default, the performance threshold", + "doc_type":"api", + "kw":"Creating a Plaintext-Free DEK,APIs,API Reference", + "title":"Creating a Plaintext-Free DEK", + "githuburl":"" + }, + { + "uri":"kms_02_0022.html", + "product_code":"kms", + "code":"13", + "des":"This API enables you to encrypt a DEK using a specified CMK.By default, the performance threshold for encrypting DEKs is 1000 TPS per customer. To apply for higher perfor", + "doc_type":"api", + "kw":"Encrypting a DEK,APIs,API Reference", + "title":"Encrypting a DEK", + "githuburl":"" + }, + { + "uri":"kms_02_0023.html", + "product_code":"kms", + "code":"14", + "des":"This API enables you to decrypt a DEK using a specified CMK.Data encryption results are used for decryption.By default, the performance threshold for decrypting DEKs is 1", + "doc_type":"api", + "kw":"Decrypting a DEK,APIs,API Reference", + "title":"Decrypting a DEK", + "githuburl":"" + }, + { + "uri":"kms_02_0024.html", + "product_code":"kms", + "code":"15", + "des":"This API is used to query the number of instances, that is, the number of CMKs created.Default Master Keys are automatically created by services and are not included in t", + "doc_type":"api", + "kw":"Querying the Number of Instances,APIs,API Reference", + "title":"Querying the Number of Instances", + "githuburl":"" + }, + { + "uri":"kms_02_0025.html", + "product_code":"kms", + "code":"16", + "des":"This API is used to query the quota of a user, that is, the allocated total number of CMKs that can be created by a user and the number of CMKs that has been created by t", + "doc_type":"api", + "kw":"Querying the Quota of a User,APIs,API Reference", + "title":"Querying the Quota of a User", + "githuburl":"" + }, + { + "uri":"kms_02_0026.html", + "product_code":"kms", + "code":"17", + "des":"This API enables you to change the alias of a CMK.A Default Master Key (the alias suffix of which is /default) does not allow alias changes.A CMK in Scheduled deletion st", + "doc_type":"api", + "kw":"Changing the Alias of a CMK,APIs,API Reference", + "title":"Changing the Alias of a CMK", + "githuburl":"" + }, + { + "uri":"kms_02_0027.html", + "product_code":"kms", + "code":"18", + "des":"This API enables you to change the description of a CMK.A Default Master Key (the alias suffix of which is /default) does not allow alias changes.A CMK in Scheduled delet", + "doc_type":"api", + "kw":"Changing the Description of a CMK,APIs,API Reference", + "title":"Changing the Description of a CMK", + "githuburl":"" + }, + { + "uri":"kms_02_0028.html", + "product_code":"kms", + "code":"19", + "des":"This API enables you to create a grant to grant permissions on a CMK to a user so that the user can perform operations on the CMK.A Default Master Key (the alias suffix o", + "doc_type":"api", + "kw":"Creating a Grant,APIs,API Reference", + "title":"Creating a Grant", + "githuburl":"" + }, + { + "uri":"kms_02_0029.html", + "product_code":"kms", + "code":"20", + "des":"This API allows you to revoke a grant.Only the user who created the CMK can revoke a grant.URI formatPOST /v1.0/{project_id}/kms/revoke-grantPOST /v1.0/{project_id}/kms/r", + "doc_type":"api", + "kw":"Revoking a Grant,APIs,API Reference", + "title":"Revoking a Grant", + "githuburl":"" + }, + { + "uri":"kms_02_0030.html", + "product_code":"kms", + "code":"21", + "des":"This API enables users to retire a grant.For example, user A grants operation permissions on CMK A/key to user B and authorizes user C to retire the grant. By doing this,", + "doc_type":"api", + "kw":"Retiring a Grant,APIs,API Reference", + "title":"Retiring a Grant", + "githuburl":"" + }, + { + "uri":"kms_02_0031.html", + "product_code":"kms", + "code":"22", + "des":"This API enables you to query grants on a CMK.URI formatPOST /v1.0/{project_id}/kms/list-grantsPOST /v1.0/{project_id}/kms/list-grantsParameter descriptionParameter descr", + "doc_type":"api", + "kw":"Querying Grants on a CMK,APIs,API Reference", + "title":"Querying Grants on a CMK", + "githuburl":"" + }, + { + "uri":"kms_02_0032.html", + "product_code":"kms", + "code":"23", + "des":"This API enables you to query grants that can be retired.URI formatPOST /v1.0/{project_id}/kms/list-retirable-grantsPOST /v1.0/{project_id}/kms/list-retirable-grantsParam", + "doc_type":"api", + "kw":"Querying Grants That Can Be Retired,APIs,API Reference", + "title":"Querying Grants That Can Be Retired", + "githuburl":"" + }, + { + "uri":"kms_02_0035.html", + "product_code":"kms", + "code":"24", + "des":"This API enables you to obtain necessary parameters to import a CMK, including a CMK import token and a CMK encryption public key.The returned public key type is RSA_2048", + "doc_type":"api", + "kw":"Obtaining CMK Import Parameters,APIs,API Reference", + "title":"Obtaining CMK Import Parameters", + "githuburl":"" + }, + { + "uri":"kms_02_0036.html", + "product_code":"kms", + "code":"25", + "des":"This API allows you to import CMK material.URI formatPOST /v1.0/{project_id}/kms/import-key-materialPOST /v1.0/{project_id}/kms/import-key-materialParameter descriptionPa", + "doc_type":"api", + "kw":"Importing CMK Material,APIs,API Reference", + "title":"Importing CMK Material", + "githuburl":"" + }, + { + "uri":"kms_02_0037.html", + "product_code":"kms", + "code":"26", + "des":"This API allows you to delete CMK material.URI formatPOST /v1.0/{project_id}/kms/delete-imported-key-materialPOST /v1.0/{project_id}/kms/delete-imported-key-materialParam", + "doc_type":"api", + "kw":"Deleting CMK Material,APIs,API Reference", + "title":"Deleting CMK Material", + "githuburl":"" + }, + { + "uri":"kms_02_0038.html", + "product_code":"kms", + "code":"27", + "des":"This API allows you to enable rotation for a CMK.The default rotation interval is 365 days.CMKs created using imported key materials and Default Master Keys do not suppor", + "doc_type":"api", + "kw":"Enabling Rotation for a CMK,APIs,API Reference", + "title":"Enabling Rotation for a CMK", + "githuburl":"" + }, + { + "uri":"kms_02_0039.html", + "product_code":"kms", + "code":"28", + "des":"This API enables you to change the rotation interval for a CMK.URI formatPOST /v1.0/{project_id}/kms/update-key-rotation-intervalPOST /v1.0/{project_id}/kms/update-key-ro", + "doc_type":"api", + "kw":"Changing the Rotation Interval for a CMK,APIs,API Reference", + "title":"Changing the Rotation Interval for a CMK", + "githuburl":"" + }, + { + "uri":"kms_02_0040.html", + "product_code":"kms", + "code":"29", + "des":"This API allows you to disable rotation for a CMK.URI formatPOST /v1.0/{project_id}/kms/disable-key-rotationPOST /v1.0/{project_id}/kms/disable-key-rotationParameter desc", + "doc_type":"api", + "kw":"Disabling Rotation for a CMK,APIs,API Reference", + "title":"Disabling Rotation for a CMK", + "githuburl":"" + }, + { + "uri":"kms_02_0041.html", + "product_code":"kms", + "code":"30", + "des":"This API enables you to query the rotation status of a CMK.URI formatPOST /v1.0/{project_id}/kms/get-key-rotation-statusPOST /v1.0/{project_id}/kms/get-key-rotation-statu", + "doc_type":"api", + "kw":"Querying the Rotation Status of a CMK,APIs,API Reference", + "title":"Querying the Rotation Status of a CMK", + "githuburl":"" + }, + { + "uri":"kms_02_0042.html", + "product_code":"kms", + "code":"31", + "des":"This API allows you to query CMK instances.You can use the tag filtering function to query the detailed information about a specified CMK.URI formatPOST /v1.0/{project_id", + "doc_type":"api", + "kw":"Querying CMK Instances,APIs,API Reference", + "title":"Querying CMK Instances", + "githuburl":"" + }, + { + "uri":"kms_02_0043.html", + "product_code":"kms", + "code":"32", + "des":"This API allows you to query tags of a specified CMK.TMS may use this API to query all tags of a specified CMK.URI formatGET /v1.0/{project_id}/kms/{key_id}/tagsGET /v1.0", + "doc_type":"api", + "kw":"Querying CMK Tags,APIs,API Reference", + "title":"Querying CMK Tags", + "githuburl":"" + }, + { + "uri":"kms_02_0044.html", + "product_code":"kms", + "code":"33", + "des":"This API enables you to query all tag sets of a specified project.URI formatGET /v1.0/{project_id}/kms/tagsGET /v1.0/{project_id}/kms/tagsParameter descriptionParameter d", + "doc_type":"api", + "kw":"Querying Project Tags,APIs,API Reference", + "title":"Querying Project Tags", + "githuburl":"" + }, + { + "uri":"kms_02_0045.html", + "product_code":"kms", + "code":"34", + "des":"This API enables you to add or delete CMK tags in batches.URI formatPOST /v1.0/{project_id}/kms/{key_id}/tags/actionPOST /v1.0/{project_id}/kms/{key_id}/tags/actionParame", + "doc_type":"api", + "kw":"Adding or Deleting CMK Tags in Batches,APIs,API Reference", + "title":"Adding or Deleting CMK Tags in Batches", + "githuburl":"" + }, + { + "uri":"kms_02_0046.html", + "product_code":"kms", + "code":"35", + "des":"This API allows you to add a CMK tag.URI formatPOST /v1.0/{project_id}/kms/{key_id}/tagsPOST /v1.0/{project_id}/kms/{key_id}/tagsParameter descriptionParameter descriptio", + "doc_type":"api", + "kw":"Adding a CMK Tag,APIs,API Reference", + "title":"Adding a CMK Tag", + "githuburl":"" + }, + { + "uri":"kms_02_0047.html", + "product_code":"kms", + "code":"36", + "des":"This API enables you to delete a CMK tag.URI formatDELETE /v1.0/{project_id}/kms/{key_id}/tags/{key}DELETE /v1.0/{project_id}/kms/{key_id}/tags/{key}Parameter description", + "doc_type":"api", + "kw":"Deleting a CMK Tag,APIs,API Reference", + "title":"Deleting a CMK Tag", + "githuburl":"" + }, + { + "uri":"kms_02_0048.html", + "product_code":"kms", + "code":"37", + "des":"This API is used to query the API versions.URI formatGET /GET /Parameter descriptionNoneNoneNoneThe following describes how to query the version information.Example reque", + "doc_type":"api", + "kw":"Querying All API Versions,APIs,API Reference", + "title":"Querying All API Versions", + "githuburl":"" + }, + { + "uri":"kms_02_0049.html", + "product_code":"kms", + "code":"38", + "des":"This API is used to query the version of an API.URI formatGET /{version_id}GET /{version_id}Parameter descriptionParameter descriptionParameterMandatoryTypeDescriptionver", + "doc_type":"api", + "kw":"Querying a Specified API Version,APIs,API Reference", + "title":"Querying a Specified API Version", + "githuburl":"" + }, + { + "uri":"dew_02_0307.html", + "product_code":"kms", + "code":"39", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Permissions Policies and Supported Actions", + "title":"Permissions Policies and Supported Actions", + "githuburl":"" + }, + { + "uri":"dew_02_0308.html", + "product_code":"kms", + "code":"40", + "des":"This chapter describes fine-grained permissions management for your KMS. If your account does not need individual IAM users, then you may skip over this chapter.By defaul", + "doc_type":"api", + "kw":"Introduction,Permissions Policies and Supported Actions,API Reference", + "title":"Introduction", + "githuburl":"" + }, + { + "uri":"dew_02_0309.html", + "product_code":"kms", + "code":"41", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Encryption Key Management,Permissions Policies and Supported Actions,API Reference", + "title":"Encryption Key Management", + "githuburl":"" + }, + { + "uri":"kms_02_0300.html", + "product_code":"kms", + "code":"42", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Appendix", + "title":"Appendix", + "githuburl":"" + }, + { + "uri":"kms_02_0301.html", + "product_code":"kms", + "code":"43", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Status Codes,Appendix,API Reference", + "title":"Status Codes", + "githuburl":"" + }, + { + "uri":"kms_02_8888.html", + "product_code":"kms", + "code":"44", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Error Code,Appendix,API Reference", + "title":"Error Code", + "githuburl":"" + }, + { + "uri":"kms_02_0009.html", + "product_code":"kms", + "code":"45", + "des":"A project ID is required for some URLs when an API is called. To obtain a project ID, perform the following operations:Log in to the management console.Click the username", + "doc_type":"api", + "kw":"Obtaining a Project ID,Appendix,API Reference", + "title":"Obtaining a Project ID", + "githuburl":"" + }, + { + "uri":"kms_02_0305.html", + "product_code":"kms", + "code":"46", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"API Permissions", + "title":"API Permissions", + "githuburl":"" + }, + { + "uri":"kms_02_0306.html", + "product_code":"kms", + "code":"47", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Encryption Key Management,API Permissions,API Reference", + "title":"Encryption Key Management", + "githuburl":"" + }, + { + "uri":"kms_02_0304.html", + "product_code":"kms", + "code":"48", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Change History,API Reference", + "title":"Change History", + "githuburl":"" + } +] \ No newline at end of file diff --git a/docs/kms/api-ref/CLASS.TXT.json b/docs/kms/api-ref/CLASS.TXT.json new file mode 100644 index 000000000..34f31c1f9 --- /dev/null +++ b/docs/kms/api-ref/CLASS.TXT.json @@ -0,0 +1,434 @@ +[ + { + "desc":"Public cloud APIs comply with the RESTful API design principles. REST-based Web services are organized into resources. Each resource is identified by one or more Uniform ", + "product_code":"kms", + "title":"API Usage Guidelines", + "uri":"en-us_topic_00384375969.html", + "doc_type":"api", + "p_code":"", + "code":"1" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"kms", + "title":"APIs", + "uri":"kms_02_0010.html", + "doc_type":"api", + "p_code":"", + "code":"2" + }, + { + "desc":"This API is used to create customer master keys (CMKs) used to encrypt data encryption keys (DEKs).Default Master Keys are created by services integrated with KMS. Names ", + "product_code":"kms", + "title":"Creating a CMK", + "uri":"kms_02_0012.html", + "doc_type":"api", + "p_code":"2", + "code":"3" + }, + { + "desc":"This API allows you to enable a CMK. Only an enabled CMK can be used.Only a disabled CMK can be enabled.URI formatPOST /v1.0/{project_id}/kms/enable-keyPOST /v1.0/{projec", + "product_code":"kms", + "title":"Enabling a CMK", + "uri":"kms_02_0013.html", + "doc_type":"api", + "p_code":"2", + "code":"4" + }, + { + "desc":"This API allows you to disable a CMK. A disabled CMK cannot be used.Only an enabled CMK can be disabled.URI formatPOST /v1.0/{project_id}/kms/disable-keyPOST /v1.0/{proje", + "product_code":"kms", + "title":"Disabling a CMK", + "uri":"kms_02_0014.html", + "doc_type":"api", + "p_code":"2", + "code":"5" + }, + { + "desc":"This API enables you to schedule the deletion of a CMK. A CMK can be scheduled to be deleted after 7 to 1096 days.URI formatPOST /v1.0/{project_id}/kms/schedule-key-delet", + "product_code":"kms", + "title":"Scheduling the Deletion of a CMK", + "uri":"kms_02_0015.html", + "doc_type":"api", + "p_code":"2", + "code":"6" + }, + { + "desc":"This API enables you to cancel the scheduled deletion of a CMK.You can cancel the scheduled deletion for a CMK only when the CMK's status is Scheduled deletion.URI format", + "product_code":"kms", + "title":"Canceling the Scheduled Deletion of a CMK", + "uri":"kms_02_0016.html", + "doc_type":"api", + "p_code":"2", + "code":"7" + }, + { + "desc":"This API allows you to query the list of all CMKs.URI formatPOST /v1.0/{project_id}/kms/list-keysPOST /v1.0/{project_id}/kms/list-keysParameter descriptionParametersParam", + "product_code":"kms", + "title":"Querying the List of CMKs", + "uri":"kms_02_0017.html", + "doc_type":"api", + "p_code":"2", + "code":"8" + }, + { + "desc":"This API allows you to query the details about a CMK.By default, the performance threshold for querying CMK details is 1000 TPS per customer. To apply for higher performa", + "product_code":"kms", + "title":"Querying the Information About a CMK", + "uri":"kms_02_0018.html", + "doc_type":"api", + "p_code":"2", + "code":"9" + }, + { + "desc":"This API generates a 512-bit random number.URI formatPOST /v1.0/{project_id}/kms/gen-randomPOST /v1.0/{project_id}/kms/gen-randomParameter descriptionParameter descriptio", + "product_code":"kms", + "title":"Creating a Random Number", + "uri":"kms_02_0019.html", + "doc_type":"api", + "p_code":"2", + "code":"10" + }, + { + "desc":"This API allows you to create a DEK. A returned result includes the plaintext and the ciphertext of a DEK.By default, the performance threshold for creating DEKs is 1000 ", + "product_code":"kms", + "title":"Creating a DEK", + "uri":"kms_02_0020.html", + "doc_type":"api", + "p_code":"2", + "code":"11" + }, + { + "desc":"This API allows you to create a plaintext-free DEK, that is, the returned result of this API includes only the ciphertext of the DEK.By default, the performance threshold", + "product_code":"kms", + "title":"Creating a Plaintext-Free DEK", + "uri":"kms_02_0021.html", + "doc_type":"api", + "p_code":"2", + "code":"12" + }, + { + "desc":"This API enables you to encrypt a DEK using a specified CMK.By default, the performance threshold for encrypting DEKs is 1000 TPS per customer. To apply for higher perfor", + "product_code":"kms", + "title":"Encrypting a DEK", + "uri":"kms_02_0022.html", + "doc_type":"api", + "p_code":"2", + "code":"13" + }, + { + "desc":"This API enables you to decrypt a DEK using a specified CMK.Data encryption results are used for decryption.By default, the performance threshold for decrypting DEKs is 1", + "product_code":"kms", + "title":"Decrypting a DEK", + "uri":"kms_02_0023.html", + "doc_type":"api", + "p_code":"2", + "code":"14" + }, + { + "desc":"This API is used to query the number of instances, that is, the number of CMKs created.Default Master Keys are automatically created by services and are not included in t", + "product_code":"kms", + "title":"Querying the Number of Instances", + "uri":"kms_02_0024.html", + "doc_type":"api", + "p_code":"2", + "code":"15" + }, + { + "desc":"This API is used to query the quota of a user, that is, the allocated total number of CMKs that can be created by a user and the number of CMKs that has been created by t", + "product_code":"kms", + "title":"Querying the Quota of a User", + "uri":"kms_02_0025.html", + "doc_type":"api", + "p_code":"2", + "code":"16" + }, + { + "desc":"This API enables you to change the alias of a CMK.A Default Master Key (the alias suffix of which is /default) does not allow alias changes.A CMK in Scheduled deletion st", + "product_code":"kms", + "title":"Changing the Alias of a CMK", + "uri":"kms_02_0026.html", + "doc_type":"api", + "p_code":"2", + "code":"17" + }, + { + "desc":"This API enables you to change the description of a CMK.A Default Master Key (the alias suffix of which is /default) does not allow alias changes.A CMK in Scheduled delet", + "product_code":"kms", + "title":"Changing the Description of a CMK", + "uri":"kms_02_0027.html", + "doc_type":"api", + "p_code":"2", + "code":"18" + }, + { + "desc":"This API enables you to create a grant to grant permissions on a CMK to a user so that the user can perform operations on the CMK.A Default Master Key (the alias suffix o", + "product_code":"kms", + "title":"Creating a Grant", + "uri":"kms_02_0028.html", + "doc_type":"api", + "p_code":"2", + "code":"19" + }, + { + "desc":"This API allows you to revoke a grant.Only the user who created the CMK can revoke a grant.URI formatPOST /v1.0/{project_id}/kms/revoke-grantPOST /v1.0/{project_id}/kms/r", + "product_code":"kms", + "title":"Revoking a Grant", + "uri":"kms_02_0029.html", + "doc_type":"api", + "p_code":"2", + "code":"20" + }, + { + "desc":"This API enables users to retire a grant.For example, user A grants operation permissions on CMK A/key to user B and authorizes user C to retire the grant. By doing this,", + "product_code":"kms", + "title":"Retiring a Grant", + "uri":"kms_02_0030.html", + "doc_type":"api", + "p_code":"2", + "code":"21" + }, + { + "desc":"This API enables you to query grants on a CMK.URI formatPOST /v1.0/{project_id}/kms/list-grantsPOST /v1.0/{project_id}/kms/list-grantsParameter descriptionParameter descr", + "product_code":"kms", + "title":"Querying Grants on a CMK", + "uri":"kms_02_0031.html", + "doc_type":"api", + "p_code":"2", + "code":"22" + }, + { + "desc":"This API enables you to query grants that can be retired.URI formatPOST /v1.0/{project_id}/kms/list-retirable-grantsPOST /v1.0/{project_id}/kms/list-retirable-grantsParam", + "product_code":"kms", + "title":"Querying Grants That Can Be Retired", + "uri":"kms_02_0032.html", + "doc_type":"api", + "p_code":"2", + "code":"23" + }, + { + "desc":"This API enables you to obtain necessary parameters to import a CMK, including a CMK import token and a CMK encryption public key.The returned public key type is RSA_2048", + "product_code":"kms", + "title":"Obtaining CMK Import Parameters", + "uri":"kms_02_0035.html", + "doc_type":"api", + "p_code":"2", + "code":"24" + }, + { + "desc":"This API allows you to import CMK material.URI formatPOST /v1.0/{project_id}/kms/import-key-materialPOST /v1.0/{project_id}/kms/import-key-materialParameter descriptionPa", + "product_code":"kms", + "title":"Importing CMK Material", + "uri":"kms_02_0036.html", + "doc_type":"api", + "p_code":"2", + "code":"25" + }, + { + "desc":"This API allows you to delete CMK material.URI formatPOST /v1.0/{project_id}/kms/delete-imported-key-materialPOST /v1.0/{project_id}/kms/delete-imported-key-materialParam", + "product_code":"kms", + "title":"Deleting CMK Material", + "uri":"kms_02_0037.html", + "doc_type":"api", + "p_code":"2", + "code":"26" + }, + { + "desc":"This API allows you to enable rotation for a CMK.The default rotation interval is 365 days.CMKs created using imported key materials and Default Master Keys do not suppor", + "product_code":"kms", + "title":"Enabling Rotation for a CMK", + "uri":"kms_02_0038.html", + "doc_type":"api", + "p_code":"2", + "code":"27" + }, + { + "desc":"This API enables you to change the rotation interval for a CMK.URI formatPOST /v1.0/{project_id}/kms/update-key-rotation-intervalPOST /v1.0/{project_id}/kms/update-key-ro", + "product_code":"kms", + "title":"Changing the Rotation Interval for a CMK", + "uri":"kms_02_0039.html", + "doc_type":"api", + "p_code":"2", + "code":"28" + }, + { + "desc":"This API allows you to disable rotation for a CMK.URI formatPOST /v1.0/{project_id}/kms/disable-key-rotationPOST /v1.0/{project_id}/kms/disable-key-rotationParameter desc", + "product_code":"kms", + "title":"Disabling Rotation for a CMK", + "uri":"kms_02_0040.html", + "doc_type":"api", + "p_code":"2", + "code":"29" + }, + { + "desc":"This API enables you to query the rotation status of a CMK.URI formatPOST /v1.0/{project_id}/kms/get-key-rotation-statusPOST /v1.0/{project_id}/kms/get-key-rotation-statu", + "product_code":"kms", + "title":"Querying the Rotation Status of a CMK", + "uri":"kms_02_0041.html", + "doc_type":"api", + "p_code":"2", + "code":"30" + }, + { + "desc":"This API allows you to query CMK instances.You can use the tag filtering function to query the detailed information about a specified CMK.URI formatPOST /v1.0/{project_id", + "product_code":"kms", + "title":"Querying CMK Instances", + "uri":"kms_02_0042.html", + "doc_type":"api", + "p_code":"2", + "code":"31" + }, + { + "desc":"This API allows you to query tags of a specified CMK.TMS may use this API to query all tags of a specified CMK.URI formatGET /v1.0/{project_id}/kms/{key_id}/tagsGET /v1.0", + "product_code":"kms", + "title":"Querying CMK Tags", + "uri":"kms_02_0043.html", + "doc_type":"api", + "p_code":"2", + "code":"32" + }, + { + "desc":"This API enables you to query all tag sets of a specified project.URI formatGET /v1.0/{project_id}/kms/tagsGET /v1.0/{project_id}/kms/tagsParameter descriptionParameter d", + "product_code":"kms", + "title":"Querying Project Tags", + "uri":"kms_02_0044.html", + "doc_type":"api", + "p_code":"2", + "code":"33" + }, + { + "desc":"This API enables you to add or delete CMK tags in batches.URI formatPOST /v1.0/{project_id}/kms/{key_id}/tags/actionPOST /v1.0/{project_id}/kms/{key_id}/tags/actionParame", + "product_code":"kms", + "title":"Adding or Deleting CMK Tags in Batches", + "uri":"kms_02_0045.html", + "doc_type":"api", + "p_code":"2", + "code":"34" + }, + { + "desc":"This API allows you to add a CMK tag.URI formatPOST /v1.0/{project_id}/kms/{key_id}/tagsPOST /v1.0/{project_id}/kms/{key_id}/tagsParameter descriptionParameter descriptio", + "product_code":"kms", + "title":"Adding a CMK Tag", + "uri":"kms_02_0046.html", + "doc_type":"api", + "p_code":"2", + "code":"35" + }, + { + "desc":"This API enables you to delete a CMK tag.URI formatDELETE /v1.0/{project_id}/kms/{key_id}/tags/{key}DELETE /v1.0/{project_id}/kms/{key_id}/tags/{key}Parameter description", + "product_code":"kms", + "title":"Deleting a CMK Tag", + "uri":"kms_02_0047.html", + "doc_type":"api", + "p_code":"2", + "code":"36" + }, + { + "desc":"This API is used to query the API versions.URI formatGET /GET /Parameter descriptionNoneNoneNoneThe following describes how to query the version information.Example reque", + "product_code":"kms", + "title":"Querying All API Versions", + "uri":"kms_02_0048.html", + "doc_type":"api", + "p_code":"2", + "code":"37" + }, + { + "desc":"This API is used to query the version of an API.URI formatGET /{version_id}GET /{version_id}Parameter descriptionParameter descriptionParameterMandatoryTypeDescriptionver", + "product_code":"kms", + "title":"Querying a Specified API Version", + "uri":"kms_02_0049.html", + "doc_type":"api", + "p_code":"2", + "code":"38" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"kms", + "title":"Permissions Policies and Supported Actions", + "uri":"dew_02_0307.html", + "doc_type":"api", + "p_code":"", + "code":"39" + }, + { + "desc":"This chapter describes fine-grained permissions management for your KMS. If your account does not need individual IAM users, then you may skip over this chapter.By defaul", + "product_code":"kms", + "title":"Introduction", + "uri":"dew_02_0308.html", + "doc_type":"api", + "p_code":"39", + "code":"40" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"kms", + "title":"Encryption Key Management", + "uri":"dew_02_0309.html", + "doc_type":"api", + "p_code":"39", + "code":"41" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"kms", + "title":"Appendix", + "uri":"kms_02_0300.html", + "doc_type":"api", + "p_code":"", + "code":"42" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"kms", + "title":"Status Codes", + "uri":"kms_02_0301.html", + "doc_type":"api", + "p_code":"42", + "code":"43" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"kms", + "title":"Error Code", + "uri":"kms_02_8888.html", + "doc_type":"api", + "p_code":"42", + "code":"44" + }, + { + "desc":"A project ID is required for some URLs when an API is called. To obtain a project ID, perform the following operations:Log in to the management console.Click the username", + "product_code":"kms", + "title":"Obtaining a Project ID", + "uri":"kms_02_0009.html", + "doc_type":"api", + "p_code":"42", + "code":"45" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"kms", + "title":"API Permissions", + "uri":"kms_02_0305.html", + "doc_type":"api", + "p_code":"42", + "code":"46" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"kms", + "title":"Encryption Key Management", + "uri":"kms_02_0306.html", + "doc_type":"api", + "p_code":"46", + "code":"47" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"kms", + "title":"Change History", + "uri":"kms_02_0304.html", + "doc_type":"api", + "p_code":"", + "code":"48" + } +] \ No newline at end of file diff --git a/docs/kms/api-ref/PARAMETERS.txt b/docs/kms/api-ref/PARAMETERS.txt new file mode 100644 index 000000000..6da8d5f07 --- /dev/null +++ b/docs/kms/api-ref/PARAMETERS.txt @@ -0,0 +1,3 @@ +version="" +language="en-us" +type="" \ No newline at end of file diff --git a/docs/kms/api-ref/dew_02_0307.html b/docs/kms/api-ref/dew_02_0307.html new file mode 100644 index 000000000..94f0572b0 --- /dev/null +++ b/docs/kms/api-ref/dew_02_0307.html @@ -0,0 +1,13 @@ + + +
This chapter describes fine-grained permissions management for your KMS. If your account does not need individual IAM users, then you may skip over this chapter.
+By default, new IAM users do not have permissions assigned. You need to add a user to one or more groups, and attach permissions policies or roles to these groups. Users inherit permissions from the groups to which they are added and can perform specified operations on cloud services based on the permissions.
+You can grant users permissions by using roles and policies. Roles are a type of coarse-grained authorization mechanism that defines permissions related to user responsibilities. Policies define API-based permissions for operations on specific resources under certain conditions, allowing for more fine-grained, secure access control of cloud resources.
+
Policy-based authorization is useful if you want to allow or deny the access to an API.
+An account has all of the permissions required to call all APIs, but IAM users must have the required permissions specifically assigned. The permissions required for calling an API are determined by the actions supported by the API. Only users who have been granted permissions allowing the actions can call the API successfully.
+You can use system-defined policies provided in IAM, or create custom policies to supplement the system-defined policies, implementing refined access control. Operations supported by policies are specific to APIs. The following are common concepts related to policies:
+
√: supported; x: not supported
+KMS supports the following actions that can be defined in custom policies:
+Manage keys, such as creating keys and querying keys.
+Permission + |
+API + |
+Action + |
+Dependent Permission + + |
+IAM Project +(Project) + |
+Enterprise Project +(Enterprise Project) + |
+
|---|---|---|---|---|---|
Creating a CMK + |
+POST /v1.0/{project_id}/kms/create-key + |
+kms:cmk:create + |
+- + |
+√ + |
+√ + |
+
Enabling a CMK + |
+POST /v1.0/{project_id}/kms/enable-key + |
+kms:cmk:enable + |
+- + |
+√ + |
+√ + |
+
Disabling a CMK + |
+POST /v1.0/{project_id}/kms/disable-key + |
+kms:cmk:disable + |
+- + |
+√ + |
+√ + |
+
Scheduling the deletion of a CMK + |
+POST /v1.0/{project_id}/kms/schedule-key-deletion + |
+kms:cmk:update + |
+- + |
+√ + |
+√ + |
+
Canceling the scheduled deletion of a CMK + |
+POST /v1.0/{project_id}/kms/cancel-key-deletion + |
+kms:cmk:update + |
+- + |
+√ + |
+√ + |
+
Querying the list of CMKs + |
+POST /v1.0/{project_id}/kms/list-keys + |
+kms:cmk:list + |
+- + |
+√ + |
+√ + |
+
Queries the CMK information. + |
+POST /v1.0/{project_id}/kms/describe-key + |
+kms:cmk:get + |
+- + |
+√ + |
+√ + |
+
Generating a random number + |
+POST /v1.0/{project_id}/kms/gen-random + |
+kms:cmk:generate + |
+- + |
+√ + |
+√ + |
+
Creating a DEK + |
+POST /v1.0/{project_id}/kms/create-datakey + |
+kms:dek:create + |
+- + |
+√ + |
+√ + |
+
Creating a plaintext-free DEK + |
+POST /v1.0/{project_id}/kms/create-datakey-without-plaintext + |
+kms:dek:create + |
+- + |
+√ + |
+√ + |
+
Encrypting a DEK + |
+POST /v1.0/{project_id}/kms/encrypt-datakey + |
+kms:dek:crypto + |
+- + |
+√ + |
+√ + |
+
Decrypting a DEK + |
+POST /v1.0/{project_id}/kms/decrypt-datakey + |
+kms:dek:crypto + |
+- + |
+√ + |
+√ + |
+
Querying the number of instances + |
+GET /v1.0/{project_id}/kms/user-instances + |
+kms:cmk:getInstance + |
+- + |
+√ + |
+√ + |
+
Querying the user quota + |
+GET /v1.0/{project_id}/kms/user-quotas + |
+kms:cmk:getQuota + |
+- + |
+√ + |
+√ + |
+
Modifying the CMK alias + |
+POST /v1.0/{project_id}/kms/update-key-alias + |
+kms:cmk:update + |
+- + |
+√ + |
+√ + |
+
Modifying the description of a CMK + |
+POST /v1.0/{project_id}/kms/update-key-description + |
+kms:cmk:update + |
+- + |
+√ + |
+√ + |
+
Creating a grant + |
+POST /v1.0/{project_id}/kms/create-grant + |
+kms:grant:create + |
+- + |
+√ + |
+√ + |
+
Revoking a grant + |
+POST /v1.0/{project_id}/kms/revoke-grant + |
+kms:grant:revoke + |
+- + |
+√ + |
+√ + |
+
Retiring a grant + |
+POST /v1.0/{project_id}/kms/retire-grant + |
+kms:grant:retire + |
+- + |
+√ + |
+√ + |
+
Querying the grant list of a CMK + |
+POST /v1.0/{project_id}/kms/list-grants + |
+kms:grant:list + |
+- + |
+√ + |
+√ + |
+
Querying the list of grants that can be retired + |
+POST /v1.0/{project_id}/kms/list-retirable-grants + |
+kms:grant:list + |
+- + |
+√ + |
+√ + |
+
Encrypting data + |
+POST /v1.0/{project_id}/kms/encrypt-data + |
+kms:cmk:crypto + |
+- + |
+√ + |
+√ + |
+
Decrypting data + |
+POST /v1.0/{project_id}/kms/decrypt-data + |
+kms:cmk:crypto + |
+- + |
+√ + |
+√ + |
+
Obtaining parameters for importing a key + |
+POST /v1.0/{project_id}/kms/get-parameters-for-import + |
+kms:cmk:getMaterial + |
+- + |
+√ + |
+√ + |
+
Importing key material + |
+POST /v1.0/{project_id}/kms/import-key-material + |
+kms:cmk:importMaterial + |
+- + |
+√ + |
+√ + |
+
Deleting key material + |
+POST /v1.0/{project_id}/kms/delete-imported-key-material + |
+kms:cmk:deleteMaterial + |
+- + |
+√ + |
+√ + |
+
Enabling key rotation + |
+POST /v1.0/{project_id}/kms/enable-key-rotation + |
+kms:cmk:enableRotation + |
+- + |
+√ + |
+√ + |
+
Modifying the rotation interval + |
+POST /v1.0/{project_id}/kms/update-key-rotation-interval + |
+kms:cmk:updateRotation + |
+- + |
+√ + |
+√ + |
+
Disabling key rotation + |
+POST /v1.0/{project_id}/kms/disable-key-rotation + |
+kms:cmk:disableRotation + |
+- + |
+√ + |
+√ + |
+
Querying the key rotation status + |
+POST /v1.0/{project_id}/kms/get-key-rotation-status + |
+kms:cmk:getRotation + |
+- + |
+√ + |
+√ + |
+
Querying key resource instances + |
+POST /v1.0/{project_id}/kms/resource_instances/action + |
+kms:cmkTag:listInstance + |
+- + |
+√ + |
+√ + |
+
Querying tags of a key + |
+GET /v1.0/{project_id}/kms/{key_id}/tags + |
+kms:cmkTag:list + |
+- + |
+√ + |
+√ + |
+
Querying the project tags + |
+GET /v1.0/{project_id}/kms/tags + |
+kms:cmkTag:list + |
+- + |
+√ + |
+√ + |
+
Adding or deleting key tags in batches + |
+POST /v1.0/{project_id}/kms/{key_id}/tags/action + |
+kms:cmkTag:batch + |
+- + |
+√ + |
+√ + |
+
Adding tags to a key + |
+POST /v1.0/{project_id}/kms/{key_id}/tags + |
+kms:cmkTag:create + |
+- + |
+√ + |
+√ + |
+
Deleting tags of a key + |
+POST /v1.0/{project_id}/kms/{ key_id }/tags/{key} + |
+kms:cmkTag:delete + |
+- + |
+√ + |
+√ + |
+
Public cloud APIs comply with the RESTful API design principles. REST-based Web services are organized into resources. Each resource is identified by one or more Uniform Resource Identifiers (URIs). An application accesses a resource based on the resource's Unified Resource Locator (URL). A URL is usually in the following format: https://Endpoint/uri. In the URL, uri indicates the resource path, that is, the API access path.
+Public cloud APIs use HTTPS as the transmission protocol. Requests/Responses are transmitted by using JSON messages, with media type represented by Application/json.
+For details about how to use APIs, see API Usage Guidelines.
+A project ID is required for some URLs when an API is called. To obtain a project ID, perform the following operations:
+On the My Credential page, view project IDs in the project list.
+
This API is used to create customer master keys (CMKs) used to encrypt data encryption keys (DEKs).
+
Default Master Keys are created by services integrated with KMS. Names of Default Master Keys end with /default. Therefore, in naming your CMKs, do not choose those ending with /default.
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_alias + |
+Yes + |
+String + |
+Alias of a non-default master key (The alias's length ranges from 1 to 255 characters and matches the regular expression ^[a-zA-Z0-9:/_-]{1,255}$. In addition, it must be different from the alias of a Default Master Key created by the system.) + |
+
key_description + |
+No + |
+String + |
+CMK description (The value ranges from 0 to 255 characters.) + |
+
origin + |
+No + |
+String + |
+Origin of a CMK. The default value is kms. The following values are enumerated:
+
|
+
sequence + |
+No + |
+String + |
+36-byte serial number of a request message +Example: 919c82d4-8046-4722-9094-35c3c6524cff + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_info + |
+Yes + |
+Array of objects + |
+Information about keys. For details, see Table 4. + |
+
The following example describes how to create a CMK with an alias of test.
+{
+ "key_alias": "test"
+}
+{
+ "key_info": {
+ "key_id": "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e",
+ "domain_id": "b168fe00ff56492495a7d22974df2d0b"
+ }
+}
+or
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+}
+Exception status code. For details, see Status Codes.
+This API allows you to enable a CMK. Only an enabled CMK can be used.
+
Only a disabled CMK can be enabled.
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_id + |
+Yes + |
+String + |
+36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$ +Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f + |
+
sequence + |
+No + |
+String + |
+36-byte serial number of a request message +Example: 919c82d4-8046-4722-9094-35c3c6524cff + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_info + |
+Yes + |
+Array of objects + |
+Information about keys. For details, see Table 4. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_id + |
+Yes + |
+String + |
+CMK ID + |
+
key_state + |
+Yes + |
+String + |
+CMK status: +
|
+
The following example describes how to enable a CMK whose ID is 0d0466b0-e727-4d9c-b35d-f84bb474a37f.
+{
+ "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f"
+}
+{
+ "key_info": {
+ "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
+ "key_state": "2"
+ }
+}
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+}
+Exception status code. For details, see Status Codes.
+This API allows you to disable a CMK. A disabled CMK cannot be used.
+
Only an enabled CMK can be disabled.
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_id + |
+Yes + |
+String + |
+36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$ +Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f + |
+
sequence + |
+No + |
+String + |
+36-byte serial number of a request message +Example: 919c82d4-8046-4722-9094-35c3c6524cff + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_info + |
+Yes + |
+Array of objects + |
+Information about keys. For details, see Table 4. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_id + |
+Yes + |
+String + |
+CMK ID + |
+
key_state + |
+Yes + |
+String + |
+CMK status: +
|
+
The following example describes how to disable a CMK whose ID is 0d0466b0-e727-4d9c-b35d-f84bb474a37f.
+{
+ "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f"
+}
+{
+ "key_info": {
+ "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
+ "key_state": "3"
+ }
+}
+or
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+}
+Exception status code. For details, see Status Codes.
+This API enables you to schedule the deletion of a CMK. A CMK can be scheduled to be deleted after 7 to 1096 days.
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_id + |
+Yes + |
+String + |
+36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$ +Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f + |
+
pending_days + |
+Yes + |
+String + |
+Number of days after which a CMK is scheduled to be deleted (The value ranges from 7 to 1096.) + |
+
sequence + |
+No + |
+String + |
+36-byte serial number of a request message +Example: 919c82d4-8046-4722-9094-35c3c6524cff + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_id + |
+Yes + |
+String + |
+CMK ID + |
+
key_state + |
+Yes + |
+String + |
+CMK status: +
|
+
The following example describes how to schedule deletion of a CMK whose ID is 0d0466b0-e727-4d9c-b35d-f84bb474a37f.
+{
+ "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
+ "pending_days": "7"
+}
+{
+ "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
+ "key_state": "4"
+}
+or
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+}
+Exception status code. For details, see Status Codes.
+This API enables you to cancel the scheduled deletion of a CMK.
+
You can cancel the scheduled deletion for a CMK only when the CMK's status is Scheduled deletion.
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_id + |
+Yes + |
+String + |
+36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$ +Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f + |
+
sequence + |
+No + |
+String + |
+36-byte serial number of a request message +Example: 919c82d4-8046-4722-9094-35c3c6524cff + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_id + |
+Yes + |
+String + |
+CMK ID + |
+
key_state + |
+Yes + |
+String + |
+CMK status: +
|
+
The following example describes how to cancel the scheduled deletion of a CMK whose ID is 0d0466b0-e727-4d9c-b35d-f84bb474a37f.
+{
+ "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f"
+}
+{
+ "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
+ "key_state": "3"
+}
+or
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+}
+Exception status code. For details, see Status Codes.
+This API allows you to query the list of all CMKs.
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
limit + |
+No + |
+String + |
+This parameter specifies the number of entries returned. If the specified number is smaller than the actual number of existing entries, true will be returned for the response parameter truncated, indicating that the query results will be displayed in separate pages. The value is within the range of the maximum number of CMKs, for example, 100. + |
+
marker + |
+No + |
+String + |
+This parameter marks the starting location in a pagination query. If the truncated value is true, you can send consecutive requests to obtain more record entries. The marker value must be set to the next_marker value in the response, for example, 10. + |
+
key_state + |
+No + |
+String + |
+State of a CMK that matches the regular expression ^[1-5]{1}$. The following values are enumerated:
+
|
+
sequence + |
+No + |
+String + |
+36-byte serial number of a request message +Example: 919c82d4-8046-4722-9094-35c3c6524cff + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
keys + |
+Yes + |
+Array of strings + |
+List of CMK IDs + |
+
key_details + |
+Yes + |
+Array of objects + |
+Key details list. For details, see Table 4. + |
+
next_marker + |
+Yes + |
+String + |
+This parameter indicates the marker value required for obtaining the next page of query results. If the truncated value is false, the next_marker parameter is left blank. + |
+
total + |
+Yes + |
+Integer + |
+Total number of keys. + |
+
truncated + |
+Yes + |
+String + |
+This parameter indicates whether there are more results displayed in another page.
+
|
+
The following shows an example when limit is set to 2 and marker is set to 1.
+{
+ "limit": "2",
+ "marker": "1"
+}
+{
+ "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":"caseuirpr",
+ "realm":"aaaa",
+ "key_description":"123",
+ "creation_date":"1502799822000",
+ "scheduled_deletion_date":"",
+ "key_state":"2",
+ "default_key_flag":"0",
+ "key_type":"1",
+ "expiration_time":"1501578672000",
+ "origin":"kms"
+},
+ {
+ "key_id":"2e258389-bb1e-4568-a1d5-e1f50adf70ea",
+ "domain_id":"00074811d5c27c4f8d48bb91e4a1dcfd",
+ "key_alias":"casehvniz",
+ "realm":"aaaa",
+ "key_description":"234",
+ "creation_date":"1502799820000",
+ "scheduled_deletion_date":"",
+ "key_state":"2",
+ "default_key_flag":"0",
+ "key_type":"1",
+ "expiration_time":"1501578673000",
+ "origin":"kms"
+}
+ ],
+ "next_marker": "",
+ "truncated": "false",
+ "total":2
+}
+or
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+}
+Exception status code. For details, see Status Codes.
+This API allows you to query the details about a CMK.
+
By default, the performance threshold for querying CMK details is 1000 TPS per customer. To apply for higher performance, submit a service ticket.
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_id + |
+Yes + |
+String + |
+36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$ +Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f + |
+
sequence + |
+No + |
+String + |
+36-byte serial number of a request message +Example: 919c82d4-8046-4722-9094-35c3c6524cff + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_info + |
+Yes + |
+Array of objects + |
+Information about keys. For details, see Table 4. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_id + |
+Yes + |
+String + |
+CMK ID + |
+
domain_id + |
+Yes + |
+String + |
+User domain ID + |
+
key_alias + |
+Yes + |
+String + |
+Alias of a CMK + |
+
realm + |
+Yes + |
+String + |
+Region where a CMK resides + |
+
key_description + |
+Yes + |
+String + |
+Description of a CMK + |
+
creation_date + |
+Yes + |
+String + |
+Time when a key is created. The value is a timestamp expressed in the number of seconds since 00:00:00 UTC on January 1, 1970. + |
+
scheduled_deletion_date + |
+Yes + |
+String + |
+Time when a key will be deleted as scheduled. The value is a timestamp expressed in the number of seconds since 00:00:00 UTC on January 1, 1970. + |
+
key_state + |
+Yes + |
+String + |
+State of a CMK:
+
|
+
default_key_flag + |
+Yes + |
+String + |
+Identification of a Master Key. The value 1 indicates a Default Master Key, and the value 0 indicates a CMK. + |
+
key_type + |
+Yes + |
+String + |
+Type of a CMK + |
+
expiration_time + |
+Yes + |
+String + |
+Expiration time of the key material. It is expressed in the form of a time stamp, the total number of seconds since January 1, 1970. + |
+
origin + |
+Yes + |
+String + |
+Origin of a CMK. The default value is kms. The following values are enumerated: +
|
+
The following example describes how to query the information of a CMK whose ID is 0d0466b0-e727-4d9c-b35d-f84bb474a37f.
+{
+ "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f"
+}
+{
+ "key_info": {
+ "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
+ "domain_id": "b168fe00ff56492495a7d22974df2d0b",
+ "key_alias": "kms_test",
+ "realm": "aaa",
+ "key_description": "",
+ "creation_date": "1472442386000",
+ "scheduled_deletion_date": "",
+ "key_state": "2",
+ "default_key_flag": "0",
+ "key_type": "1",
+ "expiration_time":"1501578672000",
+ "origin":"kms"
+ ,
+ }
+}
+or
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+}
+Exception status code. For details, see Status Codes.
+This API generates a 512-bit random number.
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
random_data_length + |
+Yes + |
+String + |
+Number of bits of a random number. The value is 512. + |
+
sequence + |
+No + |
+String + |
+36-byte serial number of a request message +Example: 919c82d4-8046-4722-9094-35c3c6524cff + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
random_data + |
+Yes + |
+String + |
+Random numbers are expressed in hexadecimal format. Two characters indicate one byte. Length of a random number must be consistent with the random_data_length value entered by a user. + |
+
The following example describes how to create a random number with the length of 512 bits.
+{
+ "random_data_length": "512"
+}
+{
+ "random_data": "5791C223E87124AB9FC29B5A8AC60BE4B98D168F47A58BB2A88833E40D6ED32D57E2AAB5410492EB25096873F9CE3D45E0D22F820A5AB4EEADC33A1A6AE780F1"
+}
+or
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+}
+Exception status code. For details, see Status Codes.
+This API allows you to create a DEK. A returned result includes the plaintext and the ciphertext of a DEK.
+
By default, the performance threshold for creating DEKs is 1000 TPS per customer. To apply for higher performance, submit a service ticket.
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_id + |
+Yes + |
+String + |
+36-byte ID of a CMK that matches the regular expression ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f + |
+
encryption_context + |
+No + |
+Object + |
+Key-value pairs with a maximum length of 8192 characters. This parameter is used to record resource context information, excluding sensitive information, to ensure data integrity. +If this parameter is specified during encryption, it is also required for decryption. +Example: {"Key1":"Value1","Key2":"Value2"} + |
+
datakey_length + |
+Yes + |
+String + |
+Number of bits of a key. The value is 512. + |
+
sequence + |
+No + |
+String + |
+36-byte serial number of a request message +Example: 919c82d4-8046-4722-9094-35c3c6524cff + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_id + |
+Yes + |
+String + |
+CMK ID + |
+
plain_text + |
+Yes + |
+String + |
+The plaintext of a DEK is expressed in hexadecimal format, and two characters indicate one byte. + |
+
cipher_text + |
+Yes + |
+String + |
+The ciphertext of a DEK is expressed in hexadecimal format, and two characters indicate one byte. + |
+
The following example describes how to create a DEK whose ID is 0d0466b0-e727-4d9c-b35d-f84bb474a37f and length is 512 bits.
+{
+ "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
+ "datakey_length": "512"
+}
+{
+ "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
+ "plain_text": "8151014275E426C72EE7D44267EF11590DCE0089E19863BA8CC832187B156A72A5A17F17B5EF0D525872C59ECEB72948AF85E18427F8BE0D46545C979306C08D",
+ "cipher_text": "020098009EEAFCE122CAA5927D2E020086F9548BA1675FDB022E4ECC01B96F2189CF4B85E78357E73E1CEB518DAF7A4960E7C7DE8885ED3FB2F1471ABF400119CC1B20BD3C4A9B80AF590EFD0AEDABFDBB0E2B689DA7B6C9E7D3C5645FCD9274802586BE63779471F9156F2CDF07CD8412FFBE9230643034363662302D653732372D346439632D623335642D6638346262343734613337660000000045B05321483BD9F9561865EE7DFE9BE267A42EB104E98C16589CE46940B18E52"
+}
+or
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+}
+Exception status code. For details, see Status Codes.
+This API allows you to create a plaintext-free DEK, that is, the returned result of this API includes only the ciphertext of the DEK.
+
By default, the performance threshold for creating plaintext-free DEKs is 1000 TPS per customer. To apply for higher performance, submit a service ticket.
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_id + |
+Yes + |
+String + |
+36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$ +Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f + |
+
encryption_context + |
+No + |
+Object + |
+Key-value pairs with a maximum length of 8192 characters. This parameter is used to record resource context information, excluding sensitive information, to ensure data integrity. +If this parameter is specified during encryption, it is also required for decryption. +Example: {"Key1":"Value1","Key2":"Value2"} + |
+
datakey_length + |
+Yes + |
+String + |
+Number of bits of a key. The value is 512. + |
+
sequence + |
+No + |
+String + |
+36-byte serial number of a request message +Example: 919c82d4-8046-4722-9094-35c3c6524cff + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_id + |
+Yes + |
+String + |
+CMK ID + |
+
cipher_text + |
+Yes + |
+String + |
+The ciphertext of a DEK is expressed in hexadecimal format, and two characters indicate one byte. + |
+
The following example describes how to create a plaintext free DEK whose ID is 0d0466b0-e727-4d9c-b35d-f84bb474a37f.
+{
+ "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
+ "datakey_length": "512"
+}
+{
+ "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
+ "cipher_text": "020098005CDC28E29EC3230AA42E8985FBABA095037D6474C64519C9B564AB28B15739C88E7E887500D1094973C2DC16353DB7ED3946C73339517AB1E983D521F9E9D700DC5D9C42F557EBF3F608E3CBBEE0BC68136EE7D2A49117E00332BAC4AE4ED805EB6068FA900C5A8019BFE2C2651BE3E130643034363662302D653732372D346439632D623335642D66383462623437346133376600000000F160727EBDB83400C21D80D713B49D3A2C37F24AE160E7BB3DAC025ADC0C45E3"
+}
+or
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+}
+Exception status code. For details, see Status Codes.
+This API enables you to encrypt a DEK using a specified CMK.
+
By default, the performance threshold for encrypting DEKs is 1000 TPS per customer. To apply for higher performance, submit a service ticket.
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_id + |
+Yes + |
+String + |
+36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$ +Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f + |
+
encryption_context + |
+No + |
+Object + |
+Key-value pairs with a maximum length of 8192 characters. This parameter is used to record resource context information, excluding sensitive information, to ensure data integrity. +If this parameter is specified during encryption, it is also required for decryption. +Example: {"Key1":"Value1","Key2":"Value2"} + |
+
plain_text + |
+Yes + |
+String + |
+Hexadecimal character string concatenated from plaintext of a DEK and the plaintext digest (32-byte character string generated using SHA256) +For details, see Examples. + |
+
datakey_plain_length + |
+Yes + |
+String + |
+Number of bytes of a DEK in plaintext. The value is 64. + |
+
sequence + |
+No + |
+String + |
+36-byte serial number of a request message +Example: 919c82d4-8046-4722-9094-35c3c6524cff + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_id + |
+Yes + |
+String + |
+CMK ID + |
+
cipher_text + |
+Yes + |
+String + |
+The ciphertext of a DEK is expressed in hexadecimal format, and two characters indicate one byte. + |
+
datakey_length + |
+Yes + |
+String + |
+Number of bytes in the length of a DEK + |
+
In the following example, the 512-bit plaintext DEK (7549d9aea901767bf3c0b3e14b10722eaf6f59053bbd82045d04e075e809a0fe6ccab48f8e5efe74e4b18ff0512525e527b10331100f357bf42125d8d5ced94f) generated from the customer master key whose key ID is 0d0466b0-e727-4d9c-b35d-f84bb474a37f can be obtained through the API in Creating a DEK.
+The digest of the plaintext DEK is fbc8ac72b0785ca7fe33eb6776ce3990b11e32b299d9c0a9ee0305fb9540f797. The method for calculating the digest is as follows:
+//Digest calculation
+public static byte[] sha256(byte[] cmkData) {
+ byte[] digest = new byte[0];
+ try {
+ MessageDigest md = MessageDigest.getInstance("SHA-256");
+ md.update(cmkData);
+ digest = md.digest();
+ } catch (Exception e) {
+ System.out.println("calculate digest failure, exception is " + e.toString());
+ }
+ return digest;
+}
+//Convert the obtained digest into a hexadecimal character string.
+public static String bytesToHexString(byte[] digest) {
+ ...
+}
+The value of plain_text (a hexadecimal character string concatenated from plaintext of the DEK and the plaintext digest) is 7549d9aea901767bf3c0b3e14b10722eaf6f59053bbd82045d04e075e809a0fe6ccab48f8e5efe74e4b18ff0512525e527b10331100f357bf42125d8d5ced94f fbc8ac72b0785ca7fe33eb6776ce3990b11e32b299d9c0a9ee0305fb9540f797.
+{
+ "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
+ "plain_text": "7549d9aea901767bf3c0b3e14b10722eaf6f59053bbd82045d04e075e809a0fe6ccab48f8e5efe74e4b18ff0512525e527b10331100f357bf42125d8d5ced94f fbc8ac72b0785ca7fe33eb6776ce3990b11e32b299d9c0a9ee0305fb9540f797",
+ "datakey_plain_length": "64"
+}
+{
+ "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
+ "cipher_text": "020098005273E14E6E8E95F5463BECDC27E80AF820B9FC086CB47861899149F67CF07DAFF2810B7D27BDF19AB7632488E0926A48DB2FC85BEA905119411B46244C5E6B8036C60A0B0B4842FFE6994518E89C19B1C1D688D9043BCD6053EA7BA0652642CE59F2543C80669139F4F71ABB9BD9A24330643034363662302D653732372D346439632D623335642D66383462623437346133376600000000D34457984F9730D57F228C210FD22CA6017913964B21D4ECE45D81092BB9112E",
+ "datakey_length": "64"
+}
+or
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+}
+Exception status code. For details, see Status Codes.
+This API enables you to decrypt a DEK using a specified CMK.
+
Data encryption results are used for decryption.
+By default, the performance threshold for decrypting DEKs is 1000 TPS per customer. To apply for higher performance, submit a service ticket.
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_id + |
+Yes + |
+String + |
+36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$ +Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f + |
+
encryption_context + |
+No + |
+Object + |
+Key-value pairs with a maximum length of 8192 characters. This parameter is used to record resource context information, excluding sensitive information, to ensure data integrity. +If this parameter is specified during encryption, it is also required for decryption. +Example: {"Key1":"Value1","Key2":"Value2"} + |
+
cipher_text + |
+Yes + |
+String + |
+This parameter indicates the hexadecimal character string of the DEK ciphertext and the metadata. The value is the cipher_text value in the encryption result of a DEK. + |
+
datakey_cipher_length + |
+Yes + |
+String + |
+Number of bytes of a key. The value is 64. + |
+
sequence + |
+No + |
+String + |
+36-byte serial number of a request message +Example: 919c82d4-8046-4722-9094-35c3c6524cff + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
data_key + |
+Yes + |
+String + |
+Hexadecimal character string of the plaintext of a DEK + |
+
datakey_length + |
+Yes + |
+String + |
+Number of bytes in the length of the plaintext of a DEK + |
+
datakey_dgst + |
+Yes + |
+String + |
+Hexadecimal character string corresponding to the SHA-256 hash value of the plaintext of a DEK + |
+
The following is an example about how to use a CMK (ID: 0d0466b0-e727-4d9c-b35d-f84bb474a37f) to decrypt a DEK (ciphertext: 020098005273E14E6E8E95F5463BECDC27E80AF820B9FC086CB47861899149F67CF07DAFF2810B7D27BDF19AB7632488E0926A48DB2FC85BEA905119411B46244C5E6B8036C60A0B0B4842FFE6994518E89C19B1C1D688D9043BCD6053EA7BA0652642CE59F2543C80669139F4F71ABB9BD9A24330643034363662302D653732372D346439632D623335642D66383462623437346133376600000000D34457984F9730D57F228C210FD22CA6017913964B21D4ECE45D81092BB9112E; length: 64 bits).
+{
+ "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
+ "datakey_cipher_length": "64",
+ "cipher_text": "020098005273E14E6E8E95F5463BECDC27E80AF820B9FC086CB47861899149F67CF07DAFF2810B7D27BDF19AB7632488E0926A48DB2FC85BEA905119411B46244C5E6B8036C60A0B0B4842FFE6994518E89C19B1C1D688D9043BCD6053EA7BA0652642CE59F2543C80669139F4F71ABB9BD9A24330643034363662302D653732372D346439632D623335642D66383462623437346133376600000000D34457984F9730D57F228C210FD22CA6017913964B21D4ECE45D81092BB9112E"
+}
+{
+ "data_key": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ "datakey_length": "64",
+ "datakey_dgst": "F5A5FD42D16A20302798EF6ED309979B43003D2320D9F0E8EA9831A92759FB4B"
+}
+or
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+}
+Exception status code. For details, see Status Codes.
+This API is used to query the number of instances, that is, the number of CMKs created.
+
Default Master Keys are automatically created by services and are not included in this query.
+None
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
instance_num + |
+Yes + |
+Integer + |
+Number of non-default CMKs + |
+
Exception status code. For details, see Status Codes.
+This API is used to query the quota of a user, that is, the allocated total number of CMKs that can be created by a user and the number of CMKs that has been created by the user.
+
The quota does not include Default Master Keys.
+None
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
quotas + |
+Yes + |
+Object + |
+Quota list. For details, see Table 3. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
resources + |
+Yes + |
+Array of objects + |
+Resource quota list. For details, see Table 4. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
type + |
+Yes + |
+String + |
+Quota type. +Enumerated values: +
|
+
used + |
+Yes + |
+Integer + |
+Used quota + |
+
quota + |
+Yes + |
+Integer + |
+Total quota + |
+
Exception status code. For details, see Status Codes.
+This API enables you to change the alias of a CMK.
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_id + |
+Yes + |
+String + |
+36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$ +Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f + |
+
key_alias + |
+Yes + |
+String + |
+Alias of a CMK whose length is 1 to 255 characters and which matches the regular expression ^[a-zA-Z0-9:/_-]{1,255}$. Suffix of the alias cannot be /default. + |
+
sequence + |
+No + |
+String + |
+36-byte serial number of a request message +Example: 919c82d4-8046-4722-9094-35c3c6524cff + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_info + |
+Yes + |
+Array of objects + |
+Information about keys. For details, see Table 4. + |
+
The following is an example about how to modify a CMK whose alias ID is bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e and alias is test.
+{
+ "key_alias": "test",
+ "key_id": "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e"
+}
+{
+ "key_info": {
+ "key_id": "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e",
+ "key_alias": "test"
+ }
+}
+or
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+}
+Exception status code. For details, see Status Codes.
+This API enables you to change the description of a CMK.
+
Parameter + |
+Type + |
+Mandatory + |
+Description + |
+
|---|---|---|---|
key_id + |
+String + |
+Yes + |
+36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$ +Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f + |
+
key_description + |
+String + |
+Yes + |
+CMK description (The value ranges from 0 to 255 characters.) + |
+
sequence + |
+String + |
+No + |
+36-byte serial number of a request message +Example: 919c82d4-8046-4722-9094-35c3c6524cff + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_info + |
+Yes + |
+Array of objects + |
+Information about keys. For details, see Table 4. + |
+
The following is an example about how to modify a CMK whose alias ID is bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e and description is test.
+{
+ "key_id": "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e",
+ "key_description": "test"
+}
+{
+ "key_info": {
+ "key_id": "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e",
+ "key_description": "test"
+ }
+}
+or
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+}
+Exception status code. For details, see Status Codes.
+This API enables you to create a grant to grant permissions on a CMK to a user so that the user can perform operations on the CMK.
+
A Default Master Key (the alias suffix of which is /default) does not allow permission granting.
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_id + |
+Yes + |
+String + |
+36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$ +Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f + |
+
grantee_principal + |
+Yes + |
+String + |
+Indicates the ID of the authorized user. The value is between 1 to 64 bytes and meets the regular expression "^[a-zA-Z0-9]{1,64}$". +Example: 0d0466b00d0466b00d0466b00d0466b0 + |
+
operations + |
+Yes + |
+Array of strings + |
+Permissions that can be granted +Values: create-datakey, create-datakey-without-plaintext, encrypt-datakey, decrypt-datakey, describe-key, create-grant, retire-grant +create-grant cannot be the only value. + |
+
name + |
+No + |
+String + |
+Name of a grant which can be 1 to 255 characters in length and matches the regular expression ^[a-zA-Z0-9:/_-]{1,255}$ + |
+
retiring_principal + |
+No + |
+String + |
+Indicates the ID of the retiring user. The value is between 1 to 64 bytes and meets the regular expression "^[a-zA-Z0-9]{1,64}$". +Example: 0d0466b00d0466b00d0466b00d0466b0 + |
+
sequence + |
+No + |
+String + |
+36-byte serial number of a request message +Example: 919c82d4-8046-4722-9094-35c3c6524cff + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
grant_id + |
+Yes + |
+String + |
+64-byte ID of a grant + |
+
The following example shows how to grant the describe-key, create-datakey, and encrypt-datakey permissions of CMK (ID: bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e) to the user whose ID is 13gg44z4g2sglzk0egw0u726zoyzvrs8. The authorization name is my_grant, and the user (ID: 13gg44z4g2sglzk0egw0u726zoyzvrs8) can retire a grant.
+{
+ "key_id": "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e",
+ "operations": [
+ "describe-key",
+ "create-datakey",
+ "encrypt-datakey"
+ ],
+ "grantee_principal":"13gg44z4g2sglzk0egw0u726zoyzvrs8",
+ "name":"my_grant",
+ "retiring_principal":"13gg44z4g2sglzk0egw0u726zoyzvrs8"
+}
+{
+ "grant_id": "7c9a3286af4fcca5f0a385ad13e1d21a50e27b6dbcab50f37f30f93b8939827d"
+}
+or
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+}
+Exception status code. For details, see Status Codes.
+This API allows you to revoke a grant.
+
Only the user who created the CMK can revoke a grant.
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_id + |
+Yes + |
+String + |
+36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$ +Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f + |
+
grant_id + |
+Yes + |
+String + |
+64-byte ID of a grant that meets the regular expression ^[A-Fa-f0-9]{64}$ +Example: 7c9a3286af4fcca5f0a385ad13e1d21a50e27b6dbcab50f37f30f93b8939827d + |
+
sequence + |
+No + |
+String + |
+36-byte serial number of a request message +Example: 919c82d4-8046-4722-9094-35c3c6524cff + |
+
None
+The following example describes how to revoke a grant whose grant ID is 7c9a3286af4fcca5f0a385ad13e1d21a50e27b6dbcab50f37f30f93b8939827d and the CMK ID is bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e.
+{
+ "key_id": "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e",
+ "grant_id":"7c9a3286af4fcca5f0a385ad13e1d21a50e27b6dbcab50f37f30f93b8939827d"
+}
+{
+}
+or
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+}
+Exception status code. For details, see Status Codes.
+This API enables users to retire a grant.
+For example, user A grants operation permissions on CMK A/key to user B and authorizes user C to retire the grant. By doing this, users A, B, and C all can cancel the permissions. After the canceling, user B does not have permissions on CMK A/key anymore.
+
The following are allowed to call this API:
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_id + |
+Yes + |
+String + |
+36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$ +Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f + |
+
grant_id + |
+Yes + |
+String + |
+64-byte ID of a grant that meets the regular expression ^[A-Fa-f0-9]{64}$ +Example: 7c9a3286af4fcca5f0a385ad13e1d21a50e27b6dbcab50f37f30f93b8939827d + |
+
sequence + |
+No + |
+String + |
+36-byte serial number of a request message +Example: 919c82d4-8046-4722-9094-35c3c6524cff + |
+
None
+The following example describes how to retire a grant whose grant ID is 7c9a3286af4fcca5f0a385ad13e1d21a50e27b6dbcab50f37f30f93b8939827d and the CMK ID is bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e.
+{
+ "key_id": "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e",
+ "grant_id":"7c9a3286af4fcca5f0a385ad13e1d21a50e27b6dbcab50f37f30f93b8939827d"
+}
+{
+}
+or
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+}
+Exception status code. For details, see Status Codes.
+This API enables you to query grants on a CMK.
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_id + |
+Yes + |
+String + |
+36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$ +Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f + |
+
limit + |
+No + |
+String + |
+This parameter specifies the number of entries returned. If the specified number is smaller than the actual number of existing entries, true will be returned for the response parameter truncated, indicating that the query results will be displayed in separate pages. +The value is within the range of the maximum number of grants, for example, 100. + |
+
marker + |
+No + |
+String + |
+This parameter marks the starting location in a pagination query. +If the truncated value is true, you can send consecutive requests to obtain more record entries. The marker value must be set to the next_marker value in the response, for example, 10. + |
+
sequence + |
+No + |
+String + |
+36-byte serial number of a request message +Example: 919c82d4-8046-4722-9094-35c3c6524cff + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
grants + |
+Yes + |
+Array of objects + |
+Grant list. For details, see Table 4. + |
+
next_marker + |
+Yes + |
+String + |
+This parameter indicates the marker value required for obtaining the next page of query results. +If the truncated value is false, the next_marker parameter is left blank. + |
+
truncated + |
+Yes + |
+String + |
+This parameter indicates whether there are more results displayed in another page.
+
|
+
total + |
+Yes + |
+Integer + |
+This parameter indicates the total number of grants. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_id + |
+Yes + |
+String + |
+36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$ +Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f + |
+
grant_id + |
+Yes + |
+String + |
+64-byte ID of a grant that meets the regular expression ^[A-Fa-f0-9]{64}$ +Example: 7c9a3286af4fcca5f0a385ad13e1d21a50e27b6dbcab50f37f30f93b8939827d + |
+
grantee_principal + |
+Yes + |
+String + |
+Indicates the ID of the authorized user. The value is between 1 to 64 bytes and meets the regular expression "^[a-zA-Z0-9]{1,64}$". +Example: 0d0466b00d0466b00d0466b00d0466b0 + |
+
operations + |
+Yes + |
+Array of strings + |
+Permissions that can be granted. Values: create-datakey, create-datakey-without-plaintext, encrypt-datakey, decrypt-datakey, describe-key, create-grant, retire-grant +create-grant cannot be the only value. + |
+
issuing_principal + |
+Yes + |
+String + |
+Indicates the ID of the user who created the grant. The value is between 1 to 64 bytes and meets the regular expression "^[a-zA-Z0-9]{1,64}$". +Example: 0d0466b00d0466b00d0466b00d0466b0 + |
+
creation_date + |
+Yes + |
+String + |
+Creation time. The value is a timestamp expressed in the number of seconds since 00:00:00 UTC on January 1, 1970. +Example: 1497341531000 + |
+
name + |
+No + |
+String + |
+Name of a grant which can be 1 to 255 characters in length and matches the regular expression ^[a-zA-Z0-9:/_-]{1,255}$ + |
+
retiring_principal + |
+No + |
+String + |
+Indicates the ID of the retiring user. The value is between 1 to 64 bytes and meets the regular expression "^[a-zA-Z0-9]{1,64}$". +Example: 0d0466b00d0466b00d0466b00d0466b0 + |
+
The following example describes how to query the grant list of a CMK whose ID is 0d0466b0-e727-4d9c-b35d-f84bb474a37f.
+{
+ "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
+ "limit": "",
+ "marker": ""
+}
+{
+ "grants": [
+ {"key_id": "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e",
+ "grant_id": "7c9a3286af4fcca5f0a385ad13e1d21a50e27b6dbcab50f37f30f93b8939827d",
+ "operations":
+ ["describe-key","create-datakey", "encrypt-datakey"],
+ "grantee_principal":"13gg44z4g2sglzk0egw0u726zoyzvrs8",
+ "retiring_principal":"13gg44z4g2sglzk0egw0u726zoyzvrs8",
+ "issuing_principal":"e4hkeeea506ex3wgnzyhi656n8hx8xa3",
+ "name":"my_grant",
+ "creation_date":"1497341531000",
+ }],
+ "next_marker": "",
+ "truncated": "false",
+ "total":1
+}
+or
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+}
+Exception status code. For details, see Status Codes.
+This API enables you to query grants that can be retired.
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
limit + |
+No + |
+String + |
+This parameter specifies the number of entries returned. If the specified number is smaller than the actual number of existing entries, true will be returned for the response parameter truncated, indicating that the query results will be displayed in separate pages. +The value is within the range of the maximum number of grants, for example, 100. + |
+
marker + |
+No + |
+String + |
+This parameter marks the starting location in a pagination query. +If the truncated value is true, you can send consecutive requests to obtain more record entries. The marker value must be set to the next_marker value in the response, for example, 10. + |
+
sequence + |
+No + |
+String + |
+36-byte serial number of a request message +Example: 919c82d4-8046-4722-9094-35c3c6524cff + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
grants + |
+Yes + |
+Array of objects + |
+Grant list. For details, see Table 4. + |
+
next_marker + |
+Yes + |
+String + |
+This parameter indicates the marker value required for obtaining the next page of query results. +If the truncated value is false, the next_marker parameter is left blank. + |
+
truncated + |
+Yes + |
+String + |
+This parameter indicates whether there are more results displayed in another page.
+
|
+
total + |
+Yes + |
+Integer + |
+This parameter indicates the total number of grants. + |
+
The following example describes how to query the list of grants that can be retired.
+{
+ "limit": "",
+ "marker": ""
+}
+{
+ "grants": [
+ {"key_id": "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e",
+ "grant_id": "7c9a3286af4fcca5f0a385ad13e1d21a50e27b6dbcab50f37f30f93b8939827d",
+ "operations":
+ ["describe-key","create-datakey", "encrypt-datakey"],
+ "grantee_principal":"13gg44z4g2sglzk0egw0u726zoyzvrs8",
+ "retiring_principal":"13gg44z4g2sglzk0egw0u726zoyzvrs8",
+ "issuing_principal":"e4hkeeea506ex3wgnzyhi656n8hx8xa3",
+ "name":"my_grant",
+ "creation_date":"1497341531000"
+ }],
+ "next_marker": "",
+ "truncated": "false",
+ "total":1
+}
+or
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+}
+Exception status code. For details, see Status Codes.
+This API enables you to obtain necessary parameters to import a CMK, including a CMK import token and a CMK encryption public key.
+
The returned public key type is RSA_2048 by default.
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_id + |
+Yes + |
+String + |
+36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$ +Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f + |
+
wrapping_algorithm + |
+Yes + |
+String + |
+Encryption algorithm for CMK material. The following values are enumerated:
+
|
+
sequence + |
+No + |
+String + |
+36-byte serial number of a request message +Example: 919c82d4-8046-4722-9094-35c3c6524cff + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_id + |
+Yes + |
+String + |
+ID of a CMK in Base64 format + |
+
import_token + |
+Yes + |
+String + |
+CMK import token + |
+
expiration_time + |
+Yes + |
+String + |
+Expiration time of the import parameter. The value is a timestamp expressed in the number of seconds since 00:00:00 UTC on January 1, 1970. + |
+
public_key + |
+Yes + |
+String + |
+Public key (in Base64 format) used to encrypt CMK material + |
+
The following example describes how to obtain the imported parameter of a CMK (ID: bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e; encryption algorithm: RSAES_OAEP_SHA_1).
+{
+ "key_id": "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e",
+ "wrapping_algorithm":"RSAES_OAEP_SHA_1"
+}
+{
+ "key_id": "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e",
+ "import_token":"AACIBjY2ZTQxYjBmLTY3ZWItNDU4Ny04OTIxLWVhZTVhZjg5NDZmYQAAuihvPN7Hly3uhp7cWw4cfuwDIem9mGwaIl7/HTx10+8ENsRR4FB7DCR+zG1s7UIZMAZRLx7LD1lkXY+rfN5ibDOOHZkoIiVSh+9u7xtC5m/mNpIFeyqumxHei2I8CNdsNuJtjLV5bDU3tQrIkj72HCWpC0k9yf1ZSvi3yCwD4wyULXBsYwUa76bTK85MIZNGGtqfOyV6w74MT6m70gLhog8r7oWe6Gbof58uyYfFMbc+s0OpkzMjvlvl1HApyOTijled26VgbgoGbPm9QvgjxC7mQEJpzQeg1/uNiziAG0YKo7wuD2mojwMBnr+XGJrrFgmdO0pUaK+53KtDr8dtpGrVfJ+0zvebA45c4A4VfvaQQDCI5nJvB2Zz3LM4oiullVt+0xrwDJYn9KRNZto2/zsGzrc/iBVASKE2UpIH7IikALJuDNrla8MVP5lzxdE0I+905U2O7HLOsIwlDKMXx3CFao+4qLTb2O+Mq6xMQUwR2pwLcQA1cw+BypJe4XE3z4fqFejO6VzjX5yd5pDVQ19eAzr9RgvSCi/IuyefFUci+aX7xB4jx5MNwej3aePsOC9afsXBulhFyGgS/dZoPQ9kyG5TE2ELqAN6obERYoiZcyvq8RW9w/uItLS99nGjwVe3U1yW4P6ColV+u7ygWxXm/Zs+QTJHUDwl2ysbrebnN9PLNJSpHbBmuLJiMX02xtDAIt1meB2hGLqw+Mj/n1jF5rnt5eXrNiG94pHZEvbp2BEDawJrRpaGj15C984WVw8ja/ZrTYfWklcNKW84cLvJXl9vxsuUp3/ZYKh32M/ORUT46o6KtB/xEltkaDJiSBBK4utuxQ8wO5UXW6FRkmAuV2naxhF6Obk7kEKYnuj4jxWAODtL9GcoNwq04ylSXj/ZzaYbqXo1O34fjyz3QG5ZChXGgg52+wPj2LBDjUvlriuARg7cATgdqq9c6aifrGQAj0QgVp9Gv/8c7PRzjzfH2vRwOZqpLSuCD5sIWFSgc/RLxf1YNtNx98Jo+PjRTWbyuZNiH2xOrpG0oKyk1giFITqOTuQ6UL768HgVJPRP4CgkgF7v65QpYaYgPvkJvwOb7j2VMr5VoykTipt7R2Xvh2LMy6wBW+HA0rw8V7ebc8/KaH3CkGTdYL2MIfbOlxjyNplUeBKu8zYshFWfp7BUQsflAFMQyp2FhO7PGMygvqY0LLzDphVvBjpFCO4VqHZ/iOSDzL8vuEA+OX8XLhZp9Kb7JPIJflfEz2lx3K8YvOJeRxUfOgvvBhpKu7KUDvnarW1R9rDX4adD4EC3mgP42SumAMYvFBKb6BgOkGAlTgHgLrKKsDw4DW56ANua30ZjeKJ1ZVftnyU0UJ34jsY0uJPi6QujBHqUzFbCp019Jx8Mi+LtkN3e8Sl+4pvIfj7t+t9Xu03oDhD0J65qhHlpNP/NFrvP3KLmXFyXTWpGeczXxZvDp7Wmu5TnDSozN/AbzBuyWASYZpLvgsf1xwevMmM1Gw/UX/WVPQdN5lzWjhT1Dcy4ar8OozYtQeQ2ItSH1UaPJx0hW3BA1GYjW42+Vjy0VSLkliK/n6lN9KwTTTGAbW+BvftImzGnfFM7fTCMJ3Jnx9nTn6+fbnhoXXfGHjOgPZ208VEIlG5YHS+HN/JYyAkkj8G2+bSZmKfX9VMbYRGNTPrrghjAEY/Hh8V+/ZhUSR3pPnblhr30SePGYgQPUGmnoTRHulCHRFOMcvu9nQ1P855DNpoE7fYi+7N9xu1wFTB3DHtgUW8yuwtt+q6LJZQMuGfmJLhBBf05FKlSxpR49IaJ0uQc7fsVYCpECL2aH8ueBqVGvQtEebWG6q0XTIrhqmaPtlQx9rVP8oevPZ99yfB+8TZCT0B9WNqCotxijWqH3eyePY0Hb/AAXB34GjH1gni4NjwEI6LVX+jSGb2ATy4Bd6ckonhGO9uwvW3WaPX214+GZvPdmv0pN60XfQ9B4Il/RLIek6h6+2WEmB4i8qsvjgWfDD7DEhq6YN1Q/44NqUdDjrVCozBxXyDOab5tdsWCvfGXruGa/wq7I1kH7K76s7TeL0a3pc0H5zt8qU/UT7uoLv0G7H+vVulGmqcl5pbsHYxTqNtSu2w9OBQ6PC8g+MCS/fnXIcAhS7Lmvy8TFK4x0N+MhZqVbozVW37apCXFg6m1I9N0Sa4=",
+ "expiration_time":1501578672,
+ "public_key":"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnJQqE9GorZ16XMlOQngJfU0SgkMKJpL9W+byIebeKgmDt2I6oVSPckk9y3JiaGjXKYlepawob9b61IRR97Bcr4Sf2p3J6J3gpiYGp1Ai3495rYF+FSZAxW+VDOzbN3vig6SVxcP1PXtaKzQbtNfnlIh+rvSMJpVI3MFHh5lWjEn8L/XpprLy1FqHSSvgB99qwiPw1ZGTL5XGSrIpCV3/ah8u+5VGoIUJZTtiZk6OQDkFH9fxwIahYvLI8/yjrWFLtJuApr7aIrhRN0iDBINxddNh8M0A9sIFoS3D5RNKITjIKIMl/GVz+mHaPjK+91M/b7JrNvinFCMQDGrb/1qoGQIDAQAB"
+}
+or
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+}
+Exception status code. For details, see Status Codes.
+This API allows you to import CMK material.
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_id + |
+Yes + |
+String + |
+36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$ +Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f + |
+
import_token + |
+Yes + |
+String + |
+CMK import token in Base64 format that matches the regular expression ^[0-9a-zA-Z+/=]{200,6144}$ + |
+
encrypted_key_material + |
+Yes + |
+String + |
+Encrypted CMK material in Base64 format that matches the regular expression ^[0-9a-zA-Z+/=]{344,360}$ + |
+
expiration_time + |
+No + |
+String + |
+Expiration time of the key material. The value is a timestamp expressed in the number of seconds since 00:00:00 UTC on January 1, 1970. KMS will delete the key material within 24 hours after the expiration. +Example: 1550291833 + |
+
sequence + |
+No + |
+String + |
+36-byte serial number of a request message +Example: 919c82d4-8046-4722-9094-35c3c6524cff + |
+
None
+The following example describes how to import the CMK material and the import-token to the CMK whose ID is bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e, and set the expiration time of the CMK material to 1521578672.
+{
+ "key_id": "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e",
+ "import_token":"AACIBjY2ZTQxYjBmLTY3ZWItNDU4Ny04OTIxLWVhZTVhZjg5NDZmYQAAuihvPN7Hly3uhp7cWw4cfuwDIem9mGwaIl7/HTx10+8ENsRR4FB7DCR+zG1s7UIZMAZRLx7LD1lkXY+rfN5ibDOOHZkoIiVSh+9u7xtC5m/mNpIFeyqumxHei2I8CNdsNuJtjLV5bDU3tQrIkj72HCWpC0k9yf1ZSvi3yCwD4wyULXBsYwUa76bTK85MIZNGGtqfOyV6w74MT6m70gLhog8r7oWe6Gbof58uyYfFMbc+s0OpkzMjvlvl1HApyOTijled26VgbgoGbPm9QvgjxC7mQEJpzQeg1/uNiziAG0YKo7wuD2mojwMBnr+XGJrrFgmdO0pUaK+53KtDr8dtpGrVfJ+0zvebA45c4A4VfvaQQDCI5nJvB2Zz3LM4oiullVt+0xrwDJYn9KRNZto2/zsGzrc/iBVASKE2UpIH7IikALJuDNrla8MVP5lzxdE0I+905U2O7HLOsIwlDKMXx3CFao+4qLTb2O+Mq6xMQUwR2pwLcQA1cw+BypJe4XE3z4fqFejO6VzjX5yd5pDVQ19eAzr9RgvSCi/IuyefFUci+aX7xB4jx5MNwej3aePsOC9afsXBulhFyGgS/dZoPQ9kyG5TE2ELqAN6obERYoiZcyvq8RW9w/uItLS99nGjwVe3U1yW4P6ColV+u7ygWxXm/Zs+QTJHUDwl2ysbrebnN9PLNJSpHbBmuLJiMX02xtDAIt1meB2hGLqw+Mj/n1jF5rnt5eXrNiG94pHZEvbp2BEDawJrRpaGj15C984WVw8ja/ZrTYfWklcNKW84cLvJXl9vxsuUp3/ZYKh32M/ORUT46o6KtB/xEltkaDJiSBBK4utuxQ8wO5UXW6FRkmAuV2naxhF6Obk7kEKYnuj4jxWAODtL9GcoNwq04ylSXj/ZzaYbqXo1O34fjyz3QG5ZChXGgg52+wPj2LBDjUvlriuARg7cATgdqq9c6aifrGQAj0QgVp9Gv/8c7PRzjzfH2vRwOZqpLSuCD5sIWFSgc/RLxf1YNtNx98Jo+PjRTWbyuZNiH2xOrpG0oKyk1giFITqOTuQ6UL768HgVJPRP4CgkgF7v65QpYaYgPvkJvwOb7j2VMr5VoykTipt7R2Xvh2LMy6wBW+HA0rw8V7ebc8/KaH3CkGTdYL2MIfbOlxjyNplUeBKu8zYshFWfp7BUQsflAFMQyp2FhO7PGMygvqY0LLzDphVvBjpFCO4VqHZ/iOSDzL8vuEA+OX8XLhZp9Kb7JPIJflfEz2lx3K8YvOJeRxUfOgvvBhpKu7KUDvnarW1R9rDX4adD4EC3mgP42SumAMYvFBKb6BgOkGAlTgHgLrKKsDw4DW56ANua30ZjeKJ1ZVftnyU0UJ34jsY0uJPi6QujBHqUzFbCp019Jx8Mi+LtkN3e8Sl+4pvIfj7t+t9Xu03oDhD0J65qhHlpNP/NFrvP3KLmXFyXTWpGeczXxZvDp7Wmu5TnDSozN/AbzBuyWASYZpLvgsf1xwevMmM1Gw/UX/WVPQdN5lzWjhT1Dcy4ar8OozYtQeQ2ItSH1UaPJx0hW3BA1GYjW42+Vjy0VSLkliK/n6lN9KwTTTGAbW+BvftImzGnfFM7fTCMJ3Jnx9nTn6+fbnhoXXfGHjOgPZ208VEIlG5YHS+HN/JYyAkkj8G2+bSZmKfX9VMbYRGNTPrrghjAEY/Hh8V+/ZhUSR3pPnblhr30SePGYgQPUGmnoTRHulCHRFOMcvu9nQ1P855DNpoE7fYi+7N9xu1wFTB3DHtgUW8yuwtt+q6LJZQMuGfmJLhBBf05FKlSxpR49IaJ0uQc7fsVYCpECL2aH8ueBqVGvQtEebWG6q0XTIrhqmaPtlQx9rVP8oevPZ99yfB+8TZCT0B9WNqCotxijWqH3eyePY0Hb/AAXB34GjH1gni4NjwEI6LVX+jSGb2ATy4Bd6ckonhGO9uwvW3WaPX214+GZvPdmv0pN60XfQ9B4Il/RLIek6h6+2WEmB4i8qsvjgWfDD7DEhq6YN1Q/44NqUdDjrVCozBxXyDOab5tdsWCvfGXruGa/wq7I1kH7K76s7TeL0a3pc0H5zt8qU/UT7uoLv0G7H+vVulGmqcl5pbsHYxTqNtSu2w9OBQ6PC8g+MCS/fnXIcAhS7Lmvy8TFK4x0N+MhZqVbozVW37apCXFg6m1I9N0Sa4=",
+ "encrypted_key_material":"K+ixymtl90e+B5Rdan89KjDslBIoOexrIwzkYHGz3odS7FDXDkogqbWwwJg5wQ6zjUbEvsR/+Fi+A0SSkhhqtijivOKHu4Z86RWjOCBdrr9es+ZhJ0zYBNMN+7Rf2fd9vxbb873Q7VBkJRyH1hi3Wh+kLmDW4rpWZm4+YGCtWylz7ZKbV1KBlhSNLDtZzT4nxUra0p7Die4HgUUxSjZTOr/0s71yF6o2eysreIzIl+GbpCft0WpRsxN2Ng++ntgOcwOf2zOC9o/tjraxeAvgGw+Dwt4cjF4znnFf0LPQ2YvpNUo248LjAGxdFvzUABNzfYSj3RZ0K3wQCNAcXU3HYw==",
+ "expiration_time":1521578672
+}
+{
+}
+or
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+}
+Exception status code. For details, see Status Codes.
+This API allows you to delete CMK material.
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_id + |
+Yes + |
+String + |
+36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$ +Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f + |
+
sequence + |
+No + |
+String + |
+36-byte serial number of a request message +Example: 919c82d4-8046-4722-9094-35c3c6524cff + |
+
None
+The following example describes how to delete the material of a CMK (ID: 0d0466b0-e727-4d9c-b35d-f84bb474a37f).
+{
+ "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f"
+}
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+}
+Exception status code. For details, see Status Codes.
+This API allows you to enable rotation for a CMK.
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_id + |
+Yes + |
+String + |
+36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$ +Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f + |
+
sequence + |
+No + |
+string + |
+36-byte serial number of a request message +Example: 919c82d4-8046-4722-9094-35c3c6524cff + |
+
None
+The following example describes how to enable rotation for a CMK (ID: 0d0466b0-e727-4d9c-b35d-f84bb474a37f).
+{
+ "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f"
+}
+{
+}
+or
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+}
+Exception status code. For details, see Status Codes.
+This API enables you to change the rotation interval for a CMK.
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_id + |
+Yes + |
+String + |
+36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$ +Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f + |
+
rotation_interval + |
+Yes + |
+Integer + |
+Rotation interval. The value is an integer ranging from 30 to 365. +Set the interval based on how often a CMK is used. If it is frequently used, set a short interval; otherwise, set a long one. + |
+
sequence + |
+No + |
+String + |
+36-byte serial number of a request message +Example: 919c82d4-8046-4722-9094-35c3c6524cff + |
+
None
+The following example describes how to change the rotation interval to 30 for a CMK (ID: 0d0466b0-e727-4d9c-b35d-f84bb474a37f).
+{
+ "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
+ "rotation_interval":30
+}
+{
+}
+or
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+}
+Exception status code. For details, see Status Codes.
+This API allows you to disable rotation for a CMK.
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_id + |
+Yes + |
+String + |
+36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$ +Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f + |
+
sequence + |
+No + |
+String + |
+36-byte serial number of a request message +Example: 919c82d4-8046-4722-9094-35c3c6524cff + |
+
None
+The following example describes how to disable rotation for a CMK (ID: 0d0466b0-e727-4d9c-b35d-f84bb474a37f).
+{
+ "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f"
+}
+{
+}
+or
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+}
+Exception status code. For details, see Status Codes.
+This API enables you to query the rotation status of a CMK.
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_id + |
+Yes + |
+String + |
+36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$ +Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f + |
+
sequence + |
+No + |
+String + |
+36-byte serial number of a request message +Example: 919c82d4-8046-4722-9094-35c3c6524cff + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key_rotation_enabled + |
+Yes + |
+String + |
+Key rotation status. The default value is false, indicating that key rotation is disabled. + |
+
rotation_interval + |
+Yes + |
+Integer + |
+Rotation interval. The value is an integer ranging from 30 to 365. +Set the interval based on how often a CMK is used. If it is frequently used, set a short interval; otherwise, set a long one. + |
+
last_rotation_time + |
+Yes + |
+String + |
+Last key rotation time. The value is a timestamp expressed in the number of seconds since 00:00:00 UTC on January 1, 1970. + |
+
number_of_rotations + |
+Yes + |
+String + |
+Number of key rotations + |
+
{
+ "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f"
+}
+{
+ "key_rotation_enabled": true,
+ "rotation_interval": 30,
+ "last_rotation_time": "1501578672000",
+ "number_of_rotations": 3
+}
+or
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+}
+Exception status code. For details, see Status Codes.
+This API allows you to query CMK instances.
+You can use the tag filtering function to query the detailed information about a specified CMK.
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
tags + |
+No + |
+Array of objects + |
+list of tags, including tag keys and tag values.
+
|
+
limit + |
+No + |
+String + |
+Number of queried records. If action is set to count, this parameter does not need to be set. If action is set to filter, the default value is 10. +The value ranges from 1 to 1000. + |
+
offset + |
+No + |
+String + |
+Index location. The query starts from the next piece of data indexed by this parameter. When data on the first page is queried, the value of this parameter queried on previous page is contained. If action is count, this parameter does not need to be set. If action is set to filter, the default value is 0. +The value must be a numeral and cannot be a negative number. + |
+
action + |
+Yes + |
+String + |
+Operation ID, which can be set to filter or count. +
|
+
matches + |
+No + |
+Array of objects + |
+Search field. +
|
+
sequence + |
+No + |
+String + |
+36-byte serial number of a request message +Example: 919c82d4-8046-4722-9094-35c3c6524cff + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
resources + |
+Yes + |
+Array of objects + |
+Resource instance list. For details, see Table 4. + |
+
total_count + |
+Yes + |
+Integer + |
+Total number of records + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
resource_id + |
+Yes + |
+String + |
+Resource ID + |
+
resource_detail + |
+Yes + |
+Object + |
+Resource details. For details, see Table 4. + |
+
tags + |
+Yes + |
+Array of objects + |
+Lists of tags. If there is no tag, the array is empty by default. + |
+
resource_name + |
+Yes + |
+String + |
+Resource name. This parameter is an empty string by default. + |
+
The following example describes how to query key instances.
+ {
+ "offset": "100",
+ "limit": "100",
+ "action": "filter",
+ "matches":[
+ {
+ "key": "resource_name",
+ "value": "resource1"
+ }
+ ],
+ "tags": [
+ {
+ "key": "key1",
+ "values": [
+ "value1",
+ "value2"
+ ]
+ }
+ ]
+ }
+{
+ "resources": [{
+ "resource_id": "90c03e67-5534-4ed0-acfa-89780e47a535",
+ "resource_detail": {
+ "key_id": "90c03e67-5534-4ed0-acfa-89780e47a535",
+ "domain_id": "4B688Fb77412Aee5570E7ecdbeB5afdc",
+ "key_alias": "tagTest_xmdmi",
+ "key_description": "123",
+ "creation_date": 1521449277000,
+ "scheduled_deletion_date": "",
+ "key_state": 2,
+ "default_key_flag": 0,
+ "key_type": 1
+ },
+ "resource_name": "tagTest_xmdmi",
+ "tags": [{
+ "key": "$",
+ "value": "testValue!"
+ }, {
+ "key": "1",
+ "value": "ccwZ"
+ }, {
+ "key": "1&",
+ "value": "testValue!"
+ }, {
+ "key": "abcd",
+ "value": "1&"
+ }, {
+ "key": "efg",
+ "value": "1&"
+ }, {
+ "key": "faregbqer",
+ "value": "AAaa00-99"
+ }, {
+ "key": "fcwefwq",
+ "value": "$"
+ }, {
+ "key": "fwqegqwrg",
+ "value": "1&"
+ }, {
+ "key": "haha",
+ "value": "qzzahnzgoqbkabppdehnbrrgbrkvlxkkfoosqyhdylq"
+ }, {
+ "key": "quapxpysduboguiluwargcgmvcgxinianbhl",
+ "value": "testValue!"
+ }]
+ }]
+ "total_count": "1"}
+or
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+ }
+Exception status code. For details, see Status Codes.
+This API allows you to query tags of a specified CMK.
+TMS may use this API to query all tags of a specified CMK.
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
key_id + |
+Yes + |
+String + |
+36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$ +Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f + |
+
None
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
tags + |
+Yes + |
+Array of objects + |
+list of tags, including tag keys and tag values.
+
|
+
existTagNum + |
+Yes + |
+Integer + |
+Number of key tags. + |
+
The following example describes how to query CMK tags.
+ +Exception status code. For details, see Status Codes.
+This API enables you to query all tag sets of a specified project.
+None
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
tags + |
+Yes + |
+Array of objects + |
+list of tags, including tag keys and tag values.
+
|
+
The following example describes how to query project tags.
+ +Exception status code. For details, see Status Codes.
+This API enables you to add or delete CMK tags in batches.
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
key_id + |
+Yes + |
+String + |
+36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$ +Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
tags + |
+Yes + |
+Array of objects + |
+list of tags, including tag keys and tag values.
+
|
+
action + |
+Yes + |
+String + |
+Operation ID. +The value can be create or delete. + |
+
sequence + |
+No + |
+String + |
+36-byte serial number of a request message +Example: 919c82d4-8046-4722-9094-35c3c6524cff + |
+
None
+The following example describes how to add tags, the keys and values of which are key1, key, value1, and value3 respectively.
+{
+ "action": "create",
+ "tags": [
+ {
+ "key": "key1",
+ "value": "value1"
+ },
+ {
+ "key": "key",
+ "value": "value3"
+ }
+ ]
+}
+{
+ "action": "delete",
+ "tags": [
+ {
+ "key": "key1",
+ "value": "value1"
+ },
+ {
+ "key": "key2",
+ "value": "value3"
+ }
+ ]
+}
+{
+}
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+}
+Exception status code. For details, see Status Codes.
+This API allows you to add a CMK tag.
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
key_id + |
+Yes + |
+String + |
+36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$ +Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
tag + |
+Yes + |
+Array of object + |
+Tag. For details, see Table 3. + |
+
sequence + |
+No + |
+String + |
+36-byte serial number of a request message +Example: 919c82d4-8046-4722-9094-35c3c6524cff + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
key + |
+Yes + |
+String + |
+Key. +The value contains a maximum of 36 Unicode characters. The value of key cannot be empty, and cannot contain the following characters: ASCII (0-31) and *<>\= + |
+
value + |
+Yes + |
+String + |
+Value. +Each value contains a maximum of 43 Unicode characters and can be an empty string. The value cannot contain the following characters: ASCII (0-31) and *<>\= + |
+
None
+The following example describes how to add a tag, the key and value of which are DEV and DEV1 respectively.
+{
+ "tag":
+ {
+ "key":"DEV",
+ "value":"DEV1"
+ }
+}
+{
+}
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+}
+Exception status code. For details, see Status Codes.
+This API enables you to delete a CMK tag.
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
key_id + |
+Yes + |
+String + |
+36-byte ID of a CMK that matches the regular expression ^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$ +Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f + |
+
key + |
+Yes + |
+String + |
+Tag key + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
sequence + |
+No + |
+String + |
+36-byte serial number of a request message +Example: 919c82d4-8046-4722-9094-35c3c6524cff + |
+
None
+Example response
+{
+}
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+}
+Exception status code. For details, see Status Codes.
+This API is used to query the API versions.
+None
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
versions + |
+Yes + |
+Array of objects + |
+Version object list. For details, see Table 2. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
id + |
+Yes + |
+String + |
+Version number, for example, v1.0 + |
+
links + |
+Yes + |
+Array of objects + |
+JSON object. For details, see Table 3. + |
+
version + |
+Yes + |
+String + |
+If the APIs of this version support microversions, the supported maximum microversion is returned. If the microversion is not supported, empty character string is returned. + |
+
status + |
+Yes + |
+String + |
+Version status. Valid values are as follows: +
|
+
updated + |
+Yes + |
+String + |
+Version release time, which must be UTC time. For example, the release time of v1 is 2014-06-28T12:20:21Z. + |
+
min_version + |
+No + |
+String + |
+If the APIs of this version support microversions, the supported minimum microversion is returned. If the microversion is not supported, empty character string is returned. + |
+
The following describes how to query the version information.
+{
+ "versions":
+ [
+ {
+ "id":"v1.0",
+ "links":
+ [
+ {
+
+ "href":"https://kms.eu-de.otc.t-systems.com/v1.0/",
+ "rel":"self"
+ }
+ ],
+ "min_version":"",
+ "status":"CURRENT",
+ "version":"",
+ "updated":"2018-09-05T08:18:05Z"
+ }
+ ]
+}
+or
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+}
+Exception status code. For details, see Status Codes.
+This API is used to query the version of an API.
+None
+Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
version + |
+Yes + |
+Array of objects + |
+Version information. For details, see Table 3. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
|---|---|---|---|
id + |
+Yes + |
+String + |
+Version number, for example, v1.0 + |
+
links + |
+Yes + |
+Array of objects + |
+JSON object. For details, see Table 4. + |
+
version + |
+Yes + |
+String + |
+If the APIs of this version support microversions, the supported maximum microversion is returned. If the microversion is not supported, empty character string is returned. + |
+
status + |
+Yes + |
+String + |
+Version status. Valid values are as follows: +
|
+
updated + |
+Yes + |
+String + |
+Version release time, which must be UTC time. For example, the release time of v1.0 is 2014-06-28T12:20:21Z. + |
+
min_version + |
+No + |
+String + |
+If the APIs of this version support microversions, the supported minimum microversion is returned. If the microversion is not supported, empty character string is returned. + |
+
The following uses the v1.0 version as an example.
+{
+ "version":
+ {
+ "id":"v1.0",
+ "links":
+ [
+ {
+
+ "href":"https://kms.eu-de.otc.t-systems.com/v1.0/",
+ "rel":"self"
+ }
+ ],
+ "min_version":"",
+ "status":"CURRENT",
+ "version":"",
+ "updated":"2018-09-05T08:18:05Z"
+ }
+}
+or
+{
+ "error": {
+ "error_code": "KMS.XXXX",
+ "error_msg": "XXX"
+ }
+}
+Exception status code. For details, see Status Codes.
+Status Code + |
+Status + |
+Description + |
+
|---|---|---|
200 + |
+OK + |
+Request processed successfully. + |
+
204 + |
+No Content + |
+The request is processed successfully and no content is returned. + |
+
400 + |
+Bad Request + |
+The request parameter is incorrect. + |
+
403 + |
+Forbidden + |
+The server understood the request, but is refusing to fulfill it. + |
+
404 + |
+Not Found + |
+The requested resource does not exist or not found. + |
+
500 + |
+Internal Server Error + |
+Internal service error. + |
+
Release Date + |
+Description + |
+
|---|---|
2022-09-30 + |
+This issue is the thirteenth official release. +Optimized descriptions in sections "Permissions Policies and Supported Actions". + |
+
2021-10-20 + |
+This issue is the twelfth official release. +
|
+
2021-09-22 + |
+This issue is the eleventh official release. +Modified the error code format in the "Error Codes" section. + |
+
2019-12-10 + |
+This is the tenth official release. +
|
+
2019-03-13 + |
+This is the ninth official release. +Added the section "API Permissions". + |
+
2018-09-30 + |
+This is the eighth official release. +
|
+
2018-07-30 + |
+This is the seventh official release. +
|
+
2018-03-30 + |
+This issue is the sixth official release. +
|
+
2017-10-30 + |
+This is the fifth official release. +
|
+
2017-06-30 + |
+This is the fourth official release. +
|
+
2017-02-08 + |
+This is the third official release. +Added sections "Querying the Number of Instances" and "Querying Quotas". + |
+
2016-12-30 + |
+This is the second official release. +
|
+
2016-10-29 + |
+This is the first official release. + |
+
API + |
+API Function + |
+Permission + |
+
|---|---|---|
POST /v1.0/{project_id}/kms/create-key + |
+Creates a CMK. + |
+kms:cmk:create + |
+
POST /v1.0/{project_id}/kms/enable-key + |
+Enables a CMK. + |
+kms:cmk:enable + |
+
POST /v1.0/{project_id}/kms/disable-key + |
+Disables a CMK. + |
+kms:cmk:disable + |
+
POST /v1.0/{project_id}/kms/schedule-key-deletion + |
+Schedules the deletion of a CMK. + |
+kms:cmk:update + |
+
POST /v1.0/{project_id}/kms/cancel-key-deletion + |
+Cancels the scheduled deletion of a CMK. + |
+kms:cmk:update + |
+
POST /v1.0/{project_id}/kms/list-keys + |
+Queries the list of CMKs. + |
+kms:cmk:list + |
+
POST /v1.0/{project_id}/kms/describe-key + |
+Queries the CMK information. + |
+kms:cmk:get + |
+
POST /v1.0/{project_id}/kms/gen-random + |
+Generates a random number. + |
+kms:cmk:generate + |
+
POST /v1.0/{project_id}/kms/create-datakey + |
+Creates a DEK. + |
+kms:dek:create + |
+
POST /v1.0/{project_id}/kms/create-datakey-without-plaintext + |
+Creates a plaintext-free DEK. + |
+kms:dek:create + |
+
POST /v1.0/{project_id}/kms/encrypt-datakey + |
+Encrypts a DEK. + |
+kms:dek:crypto + |
+
POST /v1.0/{project_id}/kms/decrypt-datakey + |
+Decrypts a DEK. + |
+kms:dek:crypto + |
+
GET /v1.0/{project_id}/kms/user-instances + |
+Queries the number of instances. + |
+kms:cmk:getInstance + |
+
GET /v1.0/{project_id}/kms/user-quotas + |
+Queries the user quota. + |
+kms:cmk:getQuota + |
+
POST /v1.0/{project_id}/kms/update-key-alias + |
+Modifies the CMK alias. + |
+kms:cmk:update + |
+
POST /v1.0/{project_id}/kms/update-key-description + |
+Modifies the description of a CMK. + |
+kms:cmk:update + |
+
POST /v1.0/{project_id}/kms/create-grant + |
+Creates a grant. + |
+kms:grant:create + |
+
POST /v1.0/{project_id}/kms/revoke-grant + |
+Revokes a grant. + |
+kms:grant:revoke + |
+
POST /v1.0/{project_id}/kms/retire-grant + |
+Retires a grant. + |
+kms:grant:retire + |
+
POST /v1.0/{project_id}/kms/list-grants + |
+Queries the grant list of a CMK. + |
+kms:grant:list + |
+
POST /v1.0/{project_id}/kms/list-retirable-grants + |
+Queries the list of grants that can be retired. + |
+kms:grant:list + |
+
POST /v1.0/{project_id}/kms/encrypt-data + |
+Encrypts data. + |
+kms:cmk:crypto + |
+
POST /v1.0/{project_id}/kms/decrypt-data + |
+Decrypts data. + |
+kms:cmk:crypto + |
+
POST /v1.0/{project_id}/kms/get-parameters-for-import + |
+Obtains parameters for importing a key. + |
+kms:cmk:getMaterial + |
+
POST /v1.0/{project_id}/kms/import-key-material + |
+Imports key material. + |
+kms:cmk:importMaterial + |
+
POST /v1.0/{project_id}/kms/delete-imported-key-material + |
+Deletes key material. + |
+kms:cmk:deleteMaterial + |
+
POST /v1.0/{project_id}/kms/enable-key-rotation + |
+Enables key rotation. + |
+kms:cmk:enableRotation + |
+
POST /v1.0/{project_id}/kms/update-key-rotation-interval + |
+Modifies the rotation interval. + |
+kms:cmk:updateRotation + |
+
POST /v1.0/{project_id}/kms/disable-key-rotation + |
+Disables key rotation. + |
+kms:cmk:disableRotation + |
+
POST /v1.0/{project_id}/kms/get-key-rotation-status + |
+Queries the key rotation status. + |
+kms:cmk:getRotation + |
+
POST /v1.0/{project_id}/kms/resource_instances/action + |
+Queries key resource instances. + |
+kms:cmkTag:listInstance + |
+
GET /v1.0/{project_id}/kms/{key_id}/tags + |
+Queries tags of a key. + |
+kms:cmkTag:list + |
+
GET /v1.0/{project_id}/kms/tags + |
+Queries the project tags. + |
+kms:cmkTag:list + |
+
POST /v1.0/{project_id}/kms/{key_id}/tags/action + |
+Adds or deletes key tags in batches. + |
+kms:cmkTag:batch + |
+
POST /v1.0/{project_id}/kms/{key_id}/tags + |
+Adds tags to a key. + |
+kms:cmkTag:create + |
+
POST /v1.0/{project_id}/kms/{ key_id }/tags/{key} + |
+Deletes tags of a key. + |
+kms:cmkTag:delete + |
+
Status Code + |
+Error Code + |
+Error Message + |
+Description + |
+Measure + |
+
|---|---|---|---|---|
400 + |
+KMS.0201 + |
+Invalid request URL. + |
+Invalid request URL. + |
+Enter a valid URL. + |
+
400 + |
+KMS.0202 + |
+Invalid JSON format of the request message. + |
+Invalid JSON format of the request message. + |
+Enter a valid message. + |
+
400 + |
+KMS.0203 + |
+Request message too long. + |
+Request message too long. + |
+Enter a valid message. + |
+
400 + |
+KMS.0204 + |
+Parameters missing in the request message. + |
+Parameters missing in the request message. + |
+Enter a valid message. + |
+
400 + |
+KMS.0205 + |
+Invalid key ID. + |
+Invalid key ID. + |
+Enter a valid key ID. + |
+
400 + |
+KMS.0206 + |
+Invalid sequence number. + |
+Invalid sequence number. + |
+Enter a valid sequence number. + |
+
400 + |
+KMS.0208 + |
+Invalid value of value encryption_context. + |
+Invalid value of value encryption_context. + |
+Enter a valid value of encryption_context. + |
+
400 + |
+KMS.0209 + |
+The key has been disabled. + |
+The key has been disabled. + |
+Enable the key. + |
+
400 + |
+KMS.0210 + |
+The key is in Scheduled deletion state and cannot be used. + |
+The key is in Pending deletion state and cannot be used. + |
+Enable the key. + |
+
400 + |
+KMS.0211 + |
+Cannot perform this operation on Default Master Keys. + |
+Cannot perform this operation on Default Master Keys. + |
+Perform this operation on a common CMK. + |
+
400 + |
+KMS.0308 + |
+Invalid parameter. + |
+Invalid parameter. + |
+Enter valid parameters. + |
+
400 + |
+KMS.0309 + |
+External keys required. + |
+External keys required. + |
+Use an imported key. + |
+
400 + |
+KMS.0310 + |
+The key is not in Pending import state. + |
+The key is not in Pending import state. + |
+Ensure the key is in Pending import state. + |
+
400 + |
+KMS.0401 + |
+Tag list cannot be empty. + |
+Tag list cannot be empty. + |
+Enter valid parameters. + |
+
400 + |
+KMS.0402 + |
+Invalid match value. + |
+Invalid match value. + |
+Enter valid parameters. + |
+
400 + |
+KMS.0403 + |
+Invalid match key. + |
+Invalid match key. + |
+Enter valid parameters. + |
+
400 + |
+KMS.0201 + |
+Invalid request URL. + |
+Invalid request URL. + |
+Enter a valid URL. + |
+
400 + |
+KMS.0202 + |
+Invalid JSON format of the request message. + |
+Invalid JSON format of the request message. + |
+Enter a valid message. + |
+
400 + |
+KMS.0203 + |
+Request message too long. + |
+Request message too long. + |
+Enter a valid message. + |
+
400 + |
+KMS.0204 + |
+Parameters missing in the request message. + |
+Parameters missing in the request message. + |
+Enter a valid message. + |
+
400 + |
+KMS.0205 + |
+Invalid key ID. + |
+Invalid key ID. + |
+Enter a valid key ID. + |
+
400 + |
+KMS.0206 + |
+Invalid sequence number. + |
+Invalid sequence number. + |
+Enter a valid sequence number. + |
+
400 + |
+KMS.0208 + |
+Invalid value of value encryption_context. + |
+Invalid value of value encryption_context. + |
+Enter a valid value of encryption_context. + |
+
400 + |
+KMS.0209 + |
+The key has been disabled. + |
+The key has been disabled. + |
+Enable the key. + |
+
400 + |
+KMS.0210 + |
+The key is in Scheduled deletion state and cannot be used. + |
+The key is in Pending deletion state and cannot be used. + |
+Enable the key. + |
+
400 + |
+KMS.0211 + |
+Cannot perform this operation on Default Master Keys. + |
+Cannot perform this operation on Default Master Keys. + |
+Perform this operation on a common CMK. + |
+
400 + |
+KMS.0308 + |
+Invalid parameter. + |
+Invalid parameter. + |
+Enter valid parameters. + |
+
400 + |
+KMS.0309 + |
+External keys required. + |
+External keys required. + |
+Use an imported key. + |
+
400 + |
+KMS.0310 + |
+The key is not in Pending import state. + |
+The key is not in Pending import state. + |
+Ensure the key is in Pending import state. + |
+
400 + |
+KMS.0311 + |
+Failed to decrypt data using the RSA private key. + |
+Failed to decrypt data using the RSA private key. + |
+Ensure the input ciphertext is correct and try again, or contact customer service. + |
+
400 + |
+KMS.0312 + |
+External keys cannot be rotated. + |
+External keys cannot be rotated. + |
+Use a common CMK. + |
+
400 + |
+KMS.0313 + |
+Key rotation is not enabled. + |
+Key rotation is not enabled. + |
+Enable key rotation. + |
+
400 + |
+KMS.0401 + |
+Tag list cannot be empty. + |
+Tag list cannot be empty. + |
+Enter valid parameters. + |
+
400 + |
+KMS.0402 + |
+Invalid match value. + |
+Invalid match value. + |
+Enter valid parameters. + |
+
400 + |
+KMS.0403 + |
+Invalid match key. + |
+Invalid match key. + |
+Enter valid parameters. + |
+
400 + |
+KMS.0404 + |
+Invalid action. + |
+Invalid action. + |
+Enter valid parameters. + |
+
400 + |
+KMS.0405 + |
+Invalid tag value. + |
+Invalid tag value. + |
+Enter valid parameters. + |
+
400 + |
+KMS.0406 + |
+Invalid tag key. + |
+Invalid tag key. + |
+Enter valid parameters. + |
+
400 + |
+KMS.0407 + |
+Invalid tag list size. + |
+Invalid tag list size. + |
+Enter valid parameters. + |
+
400 + |
+KMS.0408 + |
+Invalid resourceType. + |
+Invalid resourceType. + |
+Enter valid parameters. + |
+
400 + |
+KMS.0409 + |
+Too many tags. + |
+Too many tags. + |
+Delete unnecessary tags and try again. + |
+
400 + |
+KMS.0410 + |
+Invalid tag value length. + |
+Invalid tag value length. + |
+Enter valid parameters. + |
+
400 + |
+KMS.0411 + |
+Invalid tag key length. + |
+Invalid tag key length. + |
+Enter valid parameters. + |
+
400 + |
+KMS.0412 + |
+Invalid tag list. + |
+Invalid tag list. + |
+Enter valid parameters. + |
+
400 + |
+KMS.0413 + |
+Too many tag values. + |
+Too many tag values. + |
+Enter valid parameters. + |
+
400 + |
+KMS.0415 + |
+Invalid matches. + |
+Invalid matches. + |
+Enter valid parameters. + |
+
400 + |
+KMS.0417 + |
+Invalid offset. + |
+Invalid offset. + |
+Enter valid parameters. + |
+
400 + |
+KMS.1101 + |
+Invalid key_alias. + |
+Invalid key_alias. + |
+Enter valid parameters. + |
+
400 + |
+KMS.1102 + |
+Invalid realm. + |
+Invalid realm. + |
+Enter valid parameters. + |
+
400 + |
+KMS.1103 + |
+Invalid key_description. + |
+Invalid key_description. + |
+Enter valid parameters. + |
+
400 + |
+KMS.1104 + |
+Duplicate key aliases. + |
+Duplicate key aliases. + |
+Use another alias. + |
+
400 + |
+KMS.1105 + |
+Too many keys. + |
+Too many keys. + |
+Increase key quota or delete unnecessary keys. + |
+
400 + |
+KMS.1201 + |
+The key is not disabled. + |
+The key is not disabled. + |
+Disable the key. + |
+
400 + |
+KMS.1301 + |
+The key is not enabled. + |
+The key is not enabled. + |
+Enable the key. + |
+
400 + |
+KMS.1401 + |
+Set the pending deletion period between 7 to 1096 days. + |
+Set the pending deletion period between 7 to 1096 days. + |
+Enter valid parameters. + |
+
400 + |
+KMS.1402 + |
+The key is already in Pending deletion state. + |
+The key is already in Pending deletion state. + |
+No further operation required. + |
+
400 + |
+KMS.1501 + |
+The key is not in Pending deletion state. + |
+The key is not in Pending deletion state. + |
+Schedule deletion the key. + |
+
400 + |
+KMS.1601 + |
+Invalid limit. + |
+Invalid limit. + |
+Enter valid parameters. + |
+
400 + |
+KMS.1602 + |
+marker must be greater than or equals 0. + |
+marker must be greater than or equals 0. + |
+Enter valid parameters. + |
+
400 + |
+KMS.1801 + |
+random_data_length must be 512 bits. + |
+random_data_length must be 512 bits. + |
+Enter valid parameters. + |
+
400 + |
+KMS.1901 + |
+datakey_length must be in the range 8 bits to 8,192 bits. + |
+datakey_length must be in the range 8 bits to 8,192 bits. + |
+Enter valid parameters. + |
+
400 + |
+KMS.2001 + |
+datakey_length must be 512 bits. + |
+datakey_length must be 512 bits. + |
+Enter valid parameters. + |
+
400 + |
+KMS.2101 + |
+Invalid plain_text. + |
+Invalid plain_text. + |
+Enter valid parameters. + |
+
400 + |
+KMS.2102 + |
+datakey_plain_length must be 64 bytes. + |
+datakey_plain_length must be 64 bytes. + |
+Enter valid parameters. + |
+
400 + |
+KMS.2103 + |
+Failed to verify the DEK hash. + |
+Failed to verify the DEK hash. + |
+Ensure the DEK is valid and try again, or contact customer service. + |
+
400 + |
+KMS.2201 + |
+Invalid cipher_text. + |
+invalid cipher_text. + |
+Enter valid parameters. + |
+
400 + |
+KMS.2202 + |
+datakey_cipher_length must be 64 bytes. + |
+datakey_cipher_length must be 64 bytes. + |
+Enter valid parameters. + |
+
400 + |
+KMS.2203 + |
+Failed to verify the DEK hash. + |
+Failed to verify the DEK hash. + |
+Ensure the DEK is valid and try again, or contact customer service. + |
+
400 + |
+KMS.2401 + |
+Specify an operation in addition to create-grant. + |
+Specify an operation in addition to create-grant. + |
+Enter valid parameters. + |
+
400 + |
+KMS.2402 + |
+Invalid user ID. + |
+Invalid user ID. + |
+Enter valid parameters. + |
+
400 + |
+KMS.2403 + |
+Failed to create the grant. + |
+Failed to create the grant. + |
+Try again later or contact customer service. + |
+
400 + |
+KMS.2404 + |
+Too many CMK grants. + |
+Too many CMK grants. + |
+Increase grant quota or delete unnecessary grants. + |
+
400 + |
+KMS.2405 + |
+Too many grants. + |
+Too many grants. + |
+Increase grant quota or delete unnecessary grants. + |
+
400 + |
+KMS.2501 + |
+Invalid grant ID. + |
+Invalid grant ID. + |
+Enter a valid grant ID. + |
+
400 + |
+KMS.2502 + |
+grant_id and key_id do not match. + |
+grant_id and key_id do not match. + |
+Ensure input grant_id matches key_id. + |
+
400 + |
+KMS.2601 + |
+Token expired. + |
+Token expired. + |
+Obtain a new token. + |
+
400 + |
+KMS.2602 + |
+Key expiration time must be later than the current time. + |
+Key expiration time must be later than the current time. + |
+Set a valid key expiration time. + |
+
400 + |
+KMS.2603 + |
+Key IDs in the imported key and token do not match. + |
+Key IDs in the imported key and token do not match. + |
+Ensure the key ID in the imported key matches that in the token. + |
+
400 + |
+KMS.2604 + |
+The external key plaintext length must be 32 bits. + |
+The external key plaintext length must be 32 bits. + |
+Enter valid parameters. + |
+
400 + |
+KMS.2605 + |
+Token verification failed. + |
+Token verification failed. + |
+Obtain a new token. + |
+
400 + |
+KMS.2606 + |
+You are importing a deleted key again. The imported plaintext must be the same as the deleted key plaintext. + |
+You are importing a deleted key again. The imported plaintext must be the same as the deleted key plaintext. + |
+Ensure the plaintext of the imported key is the same as that of the deleted key. + |
+
400 + |
+KMS.2701 + |
+Key material is not in Enabled or Disabled state and cannot be deleted. + |
+Key material is not in Enabled or Disabled state and cannot be deleted. + |
+Ensure that the key is in Enabled or Disabled state. + |
+
500 + |
+KMS.0101 + |
+KMS error. + |
+KMS error. + |
+Try again later or contact customer service. + |
+
500 + |
+KMS.0102 + |
+Abnormal KMS I/O. + |
+Abnormal KMS I/O. + |
+Try again later or contact customer service. + |
+