使用KMS用戶主密鑰在線加解密數據
更新時間 2025-08-07 16:09:35
最近更新時間: 2025-08-07 16:09:35
分享文章
本文為您介紹如何使用KMS中的用戶主密鑰,快速實現少量數據的在線加解密。
KMS提供針對敏感信息的加密能力,適用于保護小型敏感數據(小于6KB),如口令、身份信息、證書、后臺配置文件等。
通過密鑰管理服務KMS的在線加密API,使用用戶主密鑰(CMK)直接加密敏感數據信息,而非直接將明文存儲,確保敏感數據安全。
場景示意圖

操作流程(以證書加密為例)
通過KMS控制臺或者調用CreateKey接口,創建一個用戶主密鑰(CMK)。
調用KMS服務的Encrypt接口,將明文證書加密為密文證書。
將密文證書部署在服務器上。
當服務器啟動需要使用證書時,調用KMS服務的Decrypt接口將密文證書解密為明文證書。
相關API
您可以調用以下KMS API,輕松完成對數據的加密或解密操作。
| API名稱 | 說明 |
|---|---|
| createKey | 創建用戶主密鑰(CMK)。 |
| encrypt | 指定CMK,直接輸入明文數據,由KMS在線加密數據。 |
| decrypt | 解密由encrypt接口加密的數據,不需要指定CMK即可完成在線解密。 |
操作步驟
通過密鑰管理服務控制臺創建用戶主密鑰CMK。
通過OpenAPI在線加密接口,對敏感數據進行加密。
請求參數說明
| 參數 | 是否必填 | 參數位置 | 參數類型 | 說明 |
|---|---|---|---|---|
| cmkUuid | 是 | body | String | 主密鑰(CMK)的全局唯一標識符。 |
| plaintext | 是 | body | String | 待加密明文(必須經過Base64編碼)。 |
請求示例
{
"plaintext": "SGVsbG8gd29ybGQ=",
"cmkUuid": "241ede22-6261-4617-9caf-10d89990516c"
}成功返回
{
"code": 200,
"result": {
"ciphertextBlob": "MDA2NE1qUXhaV1JsTWpJdE5qSTJNUzAwTmpFM0xUbGpZV1l0TVRCa09EazVPVEExTVRaakpqUTVaV00zTm1RM0xXTmpOR010TkRBd1pTMDVaakU1TFdZNU1EQXhOVGczWVdVd1pnPT3oCYiGAy7mNTLitIlJaQ92",
"cmkUuid": "241ede22-6261-4617-9caf-10d89990516c",
"keyVersionId": "49ec76d7-cc4c-400e-9f19-f9001587ae0f"
},
"statusCode": 200,
"success": 1
}返回參數說明
| 參數 | 說明 |
|---|---|
| ciphertextBlob | 數據被指定CMK的主版本加密后的密文。 |
| cmkUuid | CMK的全局唯一標識符。如果請求中的Cmk_uuid參數使用的是CMK的別名,在響應中會返回別名對應的CMK標志符。 |
| keyVersionId | 用于加密明文的密鑰版本標志符,是指定CMK的主版本。 |
將加密后的數據存儲。
根據業務的應用場景,將密文進行存儲。
通過OpenAPI解密接口,對密文數據進行解密。
請求參數說明
| 參數 | 是否必填 | 參數位置 | 參數類型 | 說明 |
|---|---|---|---|---|
| ciphertextBlob | 是 | body | String | 主密鑰(CMK)加密的數據密鑰的密文。 |
成功返回
{
"statusCode": 800,
"returnObj": {
"code": 200,
"result": {
"cmkUuid": "8bca8f33-d42a-448a-866b-a064f44b29b7",
"keyVersionId": "73670b28-4eea-4260-b497-ae0334cc0c85",
"plaintext": "sc7280+klUSln3Y9FHdfKGUT+6kPrcIMW41uZQeXxGU="
},
"statusCode": 200,
"success": 1
}
}返回參數說明
| 參數 | 說明 |
|---|---|
| cmkUuid | CMK的全局唯一標識符。如果請求中的Cmk_uuid參數使用的是CMK的別名,在響應中會返回別名對應的CMK標志符。 |
| keyVersionId | 密鑰版本ID。主密鑰版本的全局唯一標識符。 |
| plaintext | 解密后的明文經過Base64編碼的后的值。 |