说明:
- 当前页面接口为旧版 API,未来可能停止维护。密钥管理系统 API 3.0 版本接口定义更加规范,访问时延下降显著,建议您使用 密钥管理系统 API 3.0。
- 如果您需要访问密钥管理系统旧版 API,可参见 API 概览。
欢迎使用密钥管理系统 KMS。
KMS 产品介绍请参考 产品介绍
支持的全部操作可参见 API 概览页。
注意:协助者账号目前不能用于 kms 的操作。
密码学术语表
本文档涉及的一些常用术语如下:
术语 | 中文直译 | 含义 |
---|---|---|
DataKey | 数据密钥 | 实际用于加密业务数据的密钥 |
CMK | customer master key:用户主密钥 | 用户创建的,用于加密小包数据(最多4KB)或者 DataKey 的密钥 |
KeyId | 密钥 ID | CMK 返回给用户的全局唯一标识,注意这不是 CMK 本身,只是一个索引而已 |
CiphertextBlob | 密文结构体 | 用户调加密或者 GenerateDataKey 接口返回的结构体,其中包含了明文的 KeyId 和密文的数据密钥或者加密后数据 |
根密钥 | - | 用于加密 CMKs 的密钥 |
KMS术语
术语 | 中文直译 | 含义 |
---|---|---|
KMS | Key Management Service:密钥管理系统 | PAAS 层密钥服务, 提供密钥安全管理和小包数据加解密服务 |
HSA | Harden Security Appliance:加固的安全模块 | 一个软件或硬件实现的安全模块,是 KMS 实现密钥管理,加密解密的核心部件 |
qps throttling | QPS Throttling | qps 限制 |
输入参数与返回参数释义
- limit 和 offset
用来控制分页的参数;当相应结果是列表形式时,如果数量超过了 limit 所限定的值,那么只返回 limit 个值。用户可以通过 limit 和 offset 两个参数来控制分页:limit 为单次返回的最多条目数量,offset 为偏移量。
举例来说,参数 offset=0&limit=20 返回第0到20项,offset=20&limit=20 返回第20到40项,offset=40&limit=20 返回第40到60项;以此类推。
- id.n
同时输入多个参数的格式。当遇到形如这样的格式时,那么该输入参数可以同时传多个。例如:
id.0=“10.12.243.21”&id.1=“10.12.243.21”&id.2=“10.12.243.21”&id.3=“10.12.243.21”...
以此类推(以下标0开始)。
API快速入门
用户可以通过 KMS SDK (推荐,目前提供多个语言版本),或直接调用云API(较为麻烦,建议SDK语言之外的用户使用)使用KMS的服务:
选择地域和内外网。与其他云产品不同,KMS API 的请求域名随地域不同而变化,需选择地域对应的域名,请求域名的构成规则形如 kms-region.api.cloud.tencent.com/v2/index.php
,其中 region 字段需用具体地域替换:gz(广州),sh(上海),bj(北京)。如果是用户使用的机器是腾讯云服务器,则应优先选择内网域名,否则选外网域名。
接口功能 | 接口名 | 功能描述 |
---|---|---|
加密 | Encrypt | 用于加密最多为4KB任意数据,诸如 RSA 密钥,数据库密钥,或者其他敏感的客户信息。 |
解密 | Decrypt | 用于解密密文数据,得到明文数据。 |
创建主密钥 | CreateKey | 创建用户管理数据密钥的主密钥 CMK(Custom Master Key)。 |
获取主密钥列表 | ListKey | 用于获取用户所有的 keyId。 |
获取主密钥属性 | GetKeyAttributes | 用于获取指定 keyId的属性信息。 |
禁用主密钥 | DisableKey | 用于禁用一个指定的 keyId。 |
启用主密钥 | EnableKey | 用于启用一个指定的 keyId。 |
生成数据密钥 | GenerateDataKey | 用于生成一个密钥,用户可以使用该密钥用于本地数据的加密。 |
修改主密钥属性 | SetKeyAttributes | 用于修改指定 keyId 的属性信息。 |