doc-exports/docs/kms/api-ref/kms_02_0033.html
Li, Qiao dfe65b9551 KMS API 20230817 version.
Reviewed-by: Belejkanic, Lukas <lukas.belejkanic@t-systems.com>
Co-authored-by: Li, Qiao <qiaoli@huawei.com>
Co-committed-by: Li, Qiao <qiaoli@huawei.com>
2024-04-02 13:42:22 +00:00

170 lines
16 KiB
HTML

<a name="kms_02_0033"></a><a name="kms_02_0033"></a>
<h1 class="topictitle1">Encrypting Data</h1>
<div id="body1501494427004"><div class="section" id="kms_02_0033__en-us_topic_0112992287_s1731a14fb0144c79bf0fa90c694f34f7"><h4 class="sectiontitle">Function</h4><p id="kms_02_0033__en-us_topic_0112992287_p11673785174949">This API enables you to encrypt data using a specified CMK.</p>
<div class="note" id="kms_02_0033__en-us_topic_0112992287_note81353445482"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="kms_02_0033__en-us_topic_0112992287_p15136184415486">By default, the performance threshold for encrypting data is 1000 TPS per customer. To apply for higher performance, submit a service ticket.</p>
</div></div>
</div>
<div class="section" id="kms_02_0033__en-us_topic_0112992287_se70c3e5518a04f60b06032524dddfef4"><h4 class="sectiontitle">URI</h4><ul id="kms_02_0033__en-us_topic_0112992287_en-us_topic_0020091565_ul60390938"><li id="kms_02_0033__en-us_topic_0112992287_en-us_topic_0020091565_li6647531">URI format<p id="kms_02_0033__en-us_topic_0112992287_p138073181080"><a name="kms_02_0033__en-us_topic_0112992287_en-us_topic_0020091565_li6647531"></a><a name="en-us_topic_0112992287_en-us_topic_0020091565_li6647531"></a>POST /v1.0/{project_id}/kms/encrypt-data</p>
</li><li id="kms_02_0033__en-us_topic_0112992287_en-us_topic_0020091565_li14211994">Parameter description
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="kms_02_0033__en-us_topic_0112992287_t982da1e0196d4ec1a28d1fbff2cc8191" frame="border" border="1" rules="all"><caption><b>Table 1 </b>Parameter description</caption><thead align="left"><tr id="kms_02_0033__en-us_topic_0112992287_r6e963322c1e740d181726d2f0e91df5a"><th align="left" class="cellrowborder" valign="top" width="22.74%" id="mcps1.3.2.2.2.1.2.5.1.1"><p id="kms_02_0033__en-us_topic_0112992287_a3b5bbe5a7f644fd3a74cecbfb3f7ed60">Parameter</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="23.119999999999997%" id="mcps1.3.2.2.2.1.2.5.1.2"><p id="kms_02_0033__en-us_topic_0112992287_ad98d2f62bd064b4e96ea922645197c24">Mandatory</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="22.56%" id="mcps1.3.2.2.2.1.2.5.1.3"><p id="kms_02_0033__en-us_topic_0112992287_a3becf0b3aec9468984c2efc8d5abbea5">Type</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="31.580000000000002%" id="mcps1.3.2.2.2.1.2.5.1.4"><p id="kms_02_0033__en-us_topic_0112992287_a6bb6f1fe56a2454982832e8d56d354d8">Description</p>
</th>
</tr>
</thead>
<tbody><tr id="kms_02_0033__en-us_topic_0112992287_r69bf37b65d3f446eab7b3f4d1b2fcec0"><td class="cellrowborder" valign="top" width="22.74%" headers="mcps1.3.2.2.2.1.2.5.1.1 "><p id="kms_02_0033__en-us_topic_0112992287_ae42d73592f58424ea93a11e52d2478dd">project_id</p>
</td>
<td class="cellrowborder" valign="top" width="23.119999999999997%" headers="mcps1.3.2.2.2.1.2.5.1.2 "><p id="kms_02_0033__en-us_topic_0112992287_a56440c0f0ae34ba3b8033d1247673984">Yes</p>
</td>
<td class="cellrowborder" valign="top" width="22.56%" headers="mcps1.3.2.2.2.1.2.5.1.3 "><p id="kms_02_0033__en-us_topic_0112992287_p4386100291125">String</p>
</td>
<td class="cellrowborder" valign="top" width="31.580000000000002%" headers="mcps1.3.2.2.2.1.2.5.1.4 "><p id="kms_02_0033__en-us_topic_0112992287_a1314869d2dc147b38461e037d622f7b4">Project ID</p>
</td>
</tr>
</tbody>
</table>
</div>
</li></ul>
</div>
<div class="section" id="kms_02_0033__en-us_topic_0112992287_seb7b7901701247fab30a59b76f1c7f93"><h4 class="sectiontitle">Requests</h4>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="kms_02_0033__en-us_topic_0112992287_table46221022101230" frame="border" border="1" rules="all"><caption><b>Table 2 </b>Request parameters</caption><thead align="left"><tr id="kms_02_0033__en-us_topic_0112992287_row9315574101230"><th align="left" class="cellrowborder" valign="top" width="17%" id="mcps1.3.3.2.2.5.1.1"><p id="kms_02_0033__en-us_topic_0112992287_p13230838154934">Parameter</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="16%" id="mcps1.3.3.2.2.5.1.2"><p id="kms_02_0033__en-us_topic_0112992287_p65064970154934">Mandatory</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="17%" id="mcps1.3.3.2.2.5.1.3"><p id="kms_02_0033__en-us_topic_0112992287_p35771181154934">Type</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="50%" id="mcps1.3.3.2.2.5.1.4"><p id="kms_02_0033__en-us_topic_0112992287_p11784586154934">Description</p>
</th>
</tr>
</thead>
<tbody><tr id="kms_02_0033__en-us_topic_0112992287_row44009584101643"><td class="cellrowborder" valign="top" width="17%" headers="mcps1.3.3.2.2.5.1.1 "><p id="kms_02_0033__en-us_topic_0112992287_p30581115113751">key_id</p>
</td>
<td class="cellrowborder" valign="top" width="16%" headers="mcps1.3.3.2.2.5.1.2 "><p id="kms_02_0033__en-us_topic_0112992287_p54306670113751">Yes</p>
</td>
<td class="cellrowborder" valign="top" width="17%" headers="mcps1.3.3.2.2.5.1.3 "><p id="kms_02_0033__en-us_topic_0112992287_p196401428365">String</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.3.3.2.2.5.1.4 "><p id="kms_02_0033__en-us_topic_0112992287_p15086246172845">36-byte ID of a CMK that matches the regular expression <span class="parmvalue" id="kms_02_0033__en-us_topic_0112992287_parmvalue80435593163333"><b>^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$</b></span></p>
<p id="kms_02_0033__en-us_topic_0112992287_p36764124113751">Example: 0d0466b0-e727-4d9c-b35d-f84bb474a37f</p>
</td>
</tr>
<tr id="kms_02_0033__en-us_topic_0112992287_row6126595713547"><td class="cellrowborder" valign="top" width="17%" headers="mcps1.3.3.2.2.5.1.1 "><p id="kms_02_0033__en-us_topic_0112992287_p6359549113547">encryption_context</p>
</td>
<td class="cellrowborder" valign="top" width="16%" headers="mcps1.3.3.2.2.5.1.2 "><p id="kms_02_0033__en-us_topic_0112992287_p3421543413547">No</p>
</td>
<td class="cellrowborder" valign="top" width="17%" headers="mcps1.3.3.2.2.5.1.3 "><p id="kms_02_0033__en-us_topic_0112992287_p25645748135529">Object</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.3.3.2.2.5.1.4 "><p id="kms_02_0033__en-us_topic_0112992287_p299262517255">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.</p>
<p id="kms_02_0033__en-us_topic_0112992287_p87033116108">If this parameter is specified during encryption, it is also required for decryption.</p>
<p id="kms_02_0033__en-us_topic_0112992287_p1998675413547">Example: {"<strong id="kms_02_0033__en-us_topic_0112992287_b163441421201320">Key1</strong>":"<strong id="kms_02_0033__en-us_topic_0112992287_b1734514218136">Value1</strong>","<strong id="kms_02_0033__en-us_topic_0112992287_b193453219131">Key2</strong>":"<strong id="kms_02_0033__en-us_topic_0112992287_b03451821111318">Value2</strong>"}</p>
</td>
</tr>
<tr id="kms_02_0033__en-us_topic_0112992287_row57603225101653"><td class="cellrowborder" valign="top" width="17%" headers="mcps1.3.3.2.2.5.1.1 "><p id="kms_02_0033__en-us_topic_0112992287_p40816810113819">plain_text</p>
</td>
<td class="cellrowborder" valign="top" width="16%" headers="mcps1.3.3.2.2.5.1.2 "><p id="kms_02_0033__en-us_topic_0112992287_p34729111113819">Yes</p>
</td>
<td class="cellrowborder" valign="top" width="17%" headers="mcps1.3.3.2.2.5.1.3 "><p id="kms_02_0033__en-us_topic_0112992287_p16315314616">String</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.3.3.2.2.5.1.4 "><p id="kms_02_0033__en-us_topic_0112992287_p59327165175046">Plaintext data which is 1 to 4096 bytes in length and matches the regular expression <span class="parmvalue" id="kms_02_0033__en-us_topic_0112992287_parmvalue88526478114571"><b>^.{1,4096}$</b></span>. After being converted into a byte array, it is still 1 to 4096 bytes in length.</p>
</td>
</tr>
<tr id="kms_02_0033__en-us_topic_0112992287_row35142504101726"><td class="cellrowborder" valign="top" width="17%" headers="mcps1.3.3.2.2.5.1.1 "><p id="kms_02_0033__en-us_topic_0112992287_p269135101746">sequence</p>
</td>
<td class="cellrowborder" valign="top" width="16%" headers="mcps1.3.3.2.2.5.1.2 "><p id="kms_02_0033__en-us_topic_0112992287_p20967256101746">No</p>
</td>
<td class="cellrowborder" valign="top" width="17%" headers="mcps1.3.3.2.2.5.1.3 "><p id="kms_02_0033__en-us_topic_0112992287_p116198321363">String</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.3.3.2.2.5.1.4 "><p id="kms_02_0033__en-us_topic_0112992287_p1376019217293">36-byte serial number of a request message</p>
<p id="kms_02_0033__en-us_topic_0112992287_p20626198101746">Example: 919c82d4-8046-4722-9094-35c3c6524cff</p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="section" id="kms_02_0033__en-us_topic_0112992287_sfadd53a5f4714e8f87811818d62d0296"><h4 class="sectiontitle">Responses</h4>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="kms_02_0033__en-us_topic_0112992287_t98d238e10953421e84a073707024c329" frame="border" border="1" rules="all"><caption><b>Table 3 </b>Response parameters</caption><thead align="left"><tr id="kms_02_0033__en-us_topic_0112992287_r144a2c52c5054c6d9243eb2ef3875a21"><th align="left" class="cellrowborder" valign="top" width="17%" id="mcps1.3.4.2.2.5.1.1"><p id="kms_02_0033__en-us_topic_0112992287_p510130184819">Parameter</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="16%" id="mcps1.3.4.2.2.5.1.2"><p id="kms_02_0033__en-us_topic_0112992287_p1110201484">Mandatory</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="17%" id="mcps1.3.4.2.2.5.1.3"><p id="kms_02_0033__en-us_topic_0112992287_p12101014486">Type</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="50%" id="mcps1.3.4.2.2.5.1.4"><p id="kms_02_0033__en-us_topic_0112992287_p191114011484">Description</p>
</th>
</tr>
</thead>
<tbody><tr id="kms_02_0033__en-us_topic_0112992287_r3c4af7b36e9240d197ab56255e37b83c"><td class="cellrowborder" valign="top" width="17%" headers="mcps1.3.4.2.2.5.1.1 "><p id="kms_02_0033__en-us_topic_0112992287_p43705601102713">key_id</p>
</td>
<td class="cellrowborder" valign="top" width="16%" headers="mcps1.3.4.2.2.5.1.2 "><p id="kms_02_0033__en-us_topic_0112992287_p63384753102713">Yes</p>
</td>
<td class="cellrowborder" valign="top" width="17%" headers="mcps1.3.4.2.2.5.1.3 "><p id="kms_02_0033__en-us_topic_0112992287_p18211335469">String</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.3.4.2.2.5.1.4 "><p id="kms_02_0033__en-us_topic_0112992287_p33891398102713">CMK ID</p>
</td>
</tr>
<tr id="kms_02_0033__en-us_topic_0112992287_rf212a916c502452a8e151eba2f118272"><td class="cellrowborder" valign="top" width="17%" headers="mcps1.3.4.2.2.5.1.1 "><p id="kms_02_0033__en-us_topic_0112992287_p39084276114251">cipher_text</p>
</td>
<td class="cellrowborder" valign="top" width="16%" headers="mcps1.3.4.2.2.5.1.2 "><p id="kms_02_0033__en-us_topic_0112992287_p8966119114251">Yes</p>
</td>
<td class="cellrowborder" valign="top" width="17%" headers="mcps1.3.4.2.2.5.1.3 "><p id="kms_02_0033__en-us_topic_0112992287_p1243017363619">String</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.3.4.2.2.5.1.4 "><p id="kms_02_0033__en-us_topic_0112992287_p55167072114251">Ciphertext data in Base64 format</p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="section" id="kms_02_0033__en-us_topic_0112992287_section1393212318165"><h4 class="sectiontitle">Examples</h4><p id="kms_02_0033__en-us_topic_0112992287_p2031675661613">The following example describes how to use a CMK (ID: <span class="parmvalue" id="kms_02_0033__en-us_topic_0112992287_parmvalue19739413241729"><b>0d0466b0-e727-4d9c-b35d-f84bb474a37f</b></span>) to encrypt data (plaintext: <span class="parmvalue" id="kms_02_0033__en-us_topic_0112992287_parmvalue182402733919451"><b>12345678</b></span>).</p>
<ul id="kms_02_0033__en-us_topic_0112992287_ul19531923191613"><li id="kms_02_0033__en-us_topic_0112992287_li4953112315167">Example request<pre class="screen" id="kms_02_0033__en-us_topic_0112992287_screen3953152351619">{
"key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
"plain_text": "12345678"
}</pre>
</li></ul>
<ul id="kms_02_0033__en-us_topic_0112992287_ul1995312316161"><li id="kms_02_0033__en-us_topic_0112992287_li39531923161615">Example response<pre class="screen" id="kms_02_0033__en-us_topic_0112992287_screen1095382314168">{
"key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
"cipher_text": "AgDoAG7EsEc2OHpQxz4gDFDH54CqwaelpTdEl+RFPjbKn5klPTvOywYIeZX60kPbFsYOpXJwkL32HUM50MY22Eb1fOSpZK7WJpYjx66EWOkJvO+Ey3r1dLdNAjrZrYzQlxRwNS05CaNKoX5rr3NoDnmv+UNobaiS25muLLiqOt6UrStaWow9AUyOHSzl+BrX2Vu0whv74djK+3COO6cXT2CBO6WajTJsOgYdxMfv24KWSKw0TqvHe8XDKASQGKdgfI74hzI1YWJlNjlmLWFlMTAtNDRjZC1iYzg3LTFiZGExZGUzYjdkNwAAAACdcfNpLXwDUPH3023MvZK8RPHe129k6VdNIi3zNb0eFQ=="
}</pre>
<p id="kms_02_0033__en-us_topic_0112992287_p2953202317167">or</p>
<pre class="screen" id="kms_02_0033__en-us_topic_0112992287_screen1995332311613">{
"error": {
"error_code": "KMS.XXXX",
"error_msg": "XXX"
}
}</pre>
</li></ul>
</div>
<div class="section" id="kms_02_0033__en-us_topic_0112992287_section3454223421"><h4 class="sectiontitle">Status Codes</h4><div class="p" id="kms_02_0033__en-us_topic_0112992287_en-us_topic_0112992294_en-us_topic_0079615001_p17772351"><a href="#kms_02_0033__en-us_topic_0112992287_en-us_topic_0112992294_en-us_topic_0079615001_table20596071">Table 4</a> lists the normal status code returned by the response.
<div class="tablenoborder"><a name="kms_02_0033__en-us_topic_0112992287_en-us_topic_0112992294_en-us_topic_0079615001_table20596071"></a><a name="en-us_topic_0112992287_en-us_topic_0112992294_en-us_topic_0079615001_table20596071"></a><table cellpadding="4" cellspacing="0" summary="" id="kms_02_0033__en-us_topic_0112992287_en-us_topic_0112992294_en-us_topic_0079615001_table20596071" frame="border" border="1" rules="all"><caption><b>Table 4 </b>Status codes</caption><thead align="left"><tr id="kms_02_0033__en-us_topic_0112992287_en-us_topic_0112992294_en-us_topic_0079615001_row9746163"><th align="left" class="cellrowborder" valign="top" width="16.16%" id="mcps1.3.6.2.2.2.4.1.1"><p id="kms_02_0033__en-us_topic_0112992287_en-us_topic_0112992294_p57545694203043">Status Code</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="28.28%" id="mcps1.3.6.2.2.2.4.1.2"><p id="kms_02_0033__en-us_topic_0112992287_en-us_topic_0112992294_p4531342288">Status</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="55.559999999999995%" id="mcps1.3.6.2.2.2.4.1.3"><p id="kms_02_0033__en-us_topic_0112992287_en-us_topic_0112992294_p30689603203043">Description</p>
</th>
</tr>
</thead>
<tbody><tr id="kms_02_0033__en-us_topic_0112992287_en-us_topic_0112992294_en-us_topic_0079615001_row48621261"><td class="cellrowborder" valign="top" width="16.16%" headers="mcps1.3.6.2.2.2.4.1.1 "><p id="kms_02_0033__en-us_topic_0112992287_en-us_topic_0112992294_en-us_topic_0079615001_p46008046">200</p>
</td>
<td class="cellrowborder" valign="top" width="28.28%" headers="mcps1.3.6.2.2.2.4.1.2 "><p id="kms_02_0033__en-us_topic_0112992287_en-us_topic_0112992294_p7538425819">OK</p>
</td>
<td class="cellrowborder" valign="top" width="55.559999999999995%" headers="mcps1.3.6.2.2.2.4.1.3 "><p id="kms_02_0033__en-us_topic_0112992287_en-us_topic_0112992294_p1885682315512">Request processed successfully.</p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p id="kms_02_0033__en-us_topic_0112992287_en-us_topic_0112992294_p5626181018551">Exception status code. For details, see <a href="kms_02_0301.html#kms_02_0301">Status Codes</a>.</p>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="kms_02_0011.html">CMK Management</a></div>
</div>
</div>