简介

最近更新时间:2023-08-09 09:29:23

说明:

  • 当前页面接口为旧版 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 的属性信息。