KMS支持通过SDK或代理服务KMS Agent调用API,实现密钥管理、密码运算以及凭据值获取等功能,帮助自建应用快速集成KMS服务。本文将介绍如何使用SDK、KMS Agent集成KMS。
KMS接入总览
在应用程序通过不同的集成工具访问API,根据所访问的网关类型,对应的身份认证与鉴权方式、支持API种类也有所不同。KMS集成概览图如下所示:
网关类型:KMS提供了两种网关类型:共享网关和专属网关,共享网关为KMS服务的全局网络,专属网关为特定KMS实例的网络。
鉴权方式:KMS支持RAM鉴权和应用接入点AAP鉴权(不推荐)两种鉴权方式。
集成方式:KMS提供了SDK和KMS Agent两种集成方式,方便用户在业务代码里集成KMS。其中SDK包含阿里云SDK、凭据SDK、实例SDK。
API类型:KMS提供两种API,OpenAPI和KMS实例API(不推荐)。其中按功能区分又分为管控类操作API、业务类API(密码运算类API、获取凭据API)。OpenAPI支持管控类API、业务类API,而实例API仅支持业务类API。
接入网关类型
KMS 提供两种访问网关:共享网关和专属网关。共享网关为KMS服务的全局网络,可通过公网或VPC网络访问KMS服务。同时支持管控类操作和业务操作。专属网关为特定KMS实例的网络,仅支持私网访问KMS服务,提供全链路API安全保障方案,数据安全性更高,只支持业务类操作。
差异点 | 共享网关 | 专属网关 |
差异点 | 共享网关 | 专属网关 |
推荐使用场景 |
|
|
Endpoint | 公网、VPC域名 | KMS私网域名 |
性能 | 以加解密性能为例,通过共享网关访问KMS时QPS为1000。 | 以您购买的实例的计算性能规格为准,例如1000、2000等。 |
支持的集成方式 | 阿里云SDK、凭据SDK、KMS Agent | 阿里云SDK、凭据SDK、KMS Agent、实例SDK |
支持的API | 全部OpenAPI | OpenAPI-密码运算、OpenAPI-获取凭据值、实例API(不推荐) |
身份认证和鉴权 | RAM鉴权和AAP(不推荐) | RAM鉴权和AAP(不推荐) |
CA证书 | 无需配置CA证书 | 需要配置CA证书 |
认证与鉴权
KMS支持RAM鉴权和应用接入点AAP鉴权(不推荐),更多信息可参见管理RAM访问凭据,应用接入点(AAP)管理。
差异点 | RAM鉴权 | AAP鉴权(不推荐) |
差异点 | RAM鉴权 | AAP鉴权(不推荐) |
功能说明 |
|
|
支持的集成方式 | 阿里云SDK、凭据SDK、KMS Agent | 凭据SDK、实例SDK |
支持的API | 全部OpenAPI | OpenAPI-获取凭据、实例API |
支持的网关 | 专属网关、共享网关 | 专属网关、共享网关 针对不同的网关要求提供专属网关配置和共享网关配置两种模式,具体操作可参见AAP鉴权。 |
集成方式
KMS 提供SDK和KMS Agent两种集成方式,SDK支持全部的管控类操作API和密码运算、获取凭据的业务类操作API,KMS Agent目前仅支持获取凭据API。
将复杂的签名过程封装在方法内,用户按照接口说明填入必填参数和认证信息即可。KMS SDK包含阿里云SDK、凭据SDK、实例SDK(不推荐)。若您结合网关、鉴权、API的情况选择了合适的SDK后,可按照以下流程集成SDK以使用KMS。更多SDK集成信息,可参见SDK参考。
推荐使用场景:
业务应用体量较少且访问KMS频率不高。
数据延迟敏感。
应用逻辑深度依赖加密操作(如实时流加密)。
接入流程图:
开发接入说明:
SDK类型 | 支持的API | 网关及鉴权方式说明 | 支持的开发语言 |
凭据SDK |
| 共享网关:
专属网关: AAP鉴权+实例API(不推荐) | 支持3种:
|
阿里云SDK | OpenAPI: | 共享网关: RAM鉴权+OpenAPI 专属网关: RAM鉴权+OpenAPI | 支持8种:
|
实例SDK(不推荐) | 实例API: | 共享网关:不支持 专属网关: AP鉴权+实例API | 支持5种:
|
KMS Agent简化了应用访问KMS的身份认证与缓存管理流程,是基于标准化HTTP接口提供服务,支持任意编程语言的业务应用直接调用,但仅支持和KMS Agent部署在一起的业务应用访问。更多信息,请参见KMS Agent。
推荐使用场景:
多个业务应用集中部署在一起,需要集中管控。
业务应用获取凭据操作频繁。
KMS Agent仅支持本地应用访问,适用于有较强应用层安全风险管控要求的应用。
多个业务应用的开发语言不同,且都需要访问凭据。
接入流程图:
开发接入说明:
支持的API | 网关类型 | 鉴权方式 | 支持的开发语言 |
OpenAPI: 获取凭据:GetSecretValue | 共享网关、专属网关 | RAM鉴权 | KMS Agent是基于标准化HTTP接口提供服务,支持任意编程语言的业务应用调用。 |
KMS API类型
KMS提供OpenAPI和KMS实例API(不推荐)两大类型的API,其中按功能区分又分为管控类操作API、密码运算类API、获取凭据API三大类API。更多信息可参见OpenAPI、实例 API。
管控类操作
管控类操作包括实例、密钥、凭据相关的管控操作,例如创建密钥、创建凭据、创建KMS实例、修改密钥标签等。
管控类操作只能使用阿里云SDK接入,通过访问共享网关Endpoint调用OpenAPI。
密码运算
密码运算操作包括对称加解密、非对称加解密、信封加密、生成数据密钥、数字签名、验证签名等与密码学相关的操作。
密码运算操作可以通过阿里云SDK或者KMS实例SDK接入。
通过共享网关调用密码运算操作API时,需要打开公网访问开关。具体操作,请参见通过公网访问KMS实例中的密钥。
获取凭据值
您可以通过凭据SDK、阿里云SDK、实例SDK、KMS Agent访问共享网关或专属网关调用OpenAPI-GetSecretValue或实例API-GetSecretValue(不推荐)获取KMS凭据值。
- 本页导读 (1)
- KMS接入总览
- 接入网关类型
- 认证与鉴权
- 集成方式
- KMS API类型
- 管控类操作
- 密码运算
- 获取凭据值