凭据SDK
凭据SDK是基于KMS OpenAPI和KMS实例API的自定义封装,封装了在应用中缓存和刷新凭据的功能,业务稳定性更高且更易于开发者在业务应用中集成。本文介绍业务如何接入凭据SDK。
接入概览
凭据SDK仅支持业务类操作中的获取凭据值,既支持共享网关也支持专属网关访问。
共享网关和专属网关的差异
凭据SDK支持通过共享网关和专属网关调用OpenAPI和实例API来获取凭据。共享网关为KMS服务的全局网络,可通过公网或VPC网络访问,专属网关为特定KMS实例的网络,仅支持私网访问。
差异点 | 共享网关 | 专属网关 |
推荐使用场景 |
|
|
网络差异 | 公网或VPC网络。 | KMS私网网络。 |
性能差异 | 以加解密性能为例,通过共享网关访问KMS时QPS为1000。 | 以您购买的实例的计算性能规格为准,例如1000、2000等。 |
初始化客户端时的配置差异 |
|
|
API差异 | ||
身份认证和鉴权差异 |
| AAP鉴权:ClientKey(专属网关配置) |
凭据SDK类型
凭据SDK提供凭据客户端、凭据JDBC客户端、RAM凭据插件三种SDK,通过共享网关或专属网关调用OpenAPI-GetSecretValue或实例API-GetSecretValue(不推荐)获取KMS凭据值。每种SDK支持的鉴权方式和API类型存在差异,详情可参考下表:
SDK类型 | 使用说明 | 网关及鉴权方式说明 |
| 共享网关:
专属网关(不推荐): AAP鉴权:ClientKey(专属网关配置) | |
| 共享网关:
专属网关(不推荐): AAP鉴权:ClientKey(专属网关配置) | |
| 共享网关:
专属网关(不推荐): AAP鉴权:ClientKey(专属网关配置) |
支持的API
API列表 | 描述 | 共享网关 | 专属网关 |
GetSecretValue(OpenAPI) | 获取凭据值 | ||
GetSecretValue(实例API) | 获取凭据值 |
Endpoint
身份认证与授权
凭据SDK支持RAM鉴权和AAP鉴权(不推荐)两种鉴权方式。RAM鉴权包含RAM角色、ECS RAM角色、STS Token、AccessKey,AAP鉴权针对不同的网关提供专属网关配置和共享网关配置两种模式。
RAM鉴权只支持访问共享网关。
专属网关只支持AAP鉴权(专属网关配置)。
认证方式 | 访问凭据类型 | 网关类型 |
RAM鉴权 | RamRoleArn、ECS RAM角色、STS Token、AccessKey 说明 RAM凭据插件仅支持ECS RAM角色。 | 共享网关 |
AAP鉴权(不推荐) | ClientKey(共享网关配置)、ClientKey(专属网关配置) | 共享网关、专属网关 |
支持的开发语言
下表列举了支持的语言类型以及各语言SDK的参考文档。
凭据SDK | 支持的语言 |
Java(Java 8及以上版本)、Python、Go | |
Java(Java 8及以上版本) | |
Java(Java 8及以上版本)、Python、Go |