SDK参考

更新时间: 2023-11-17 18:11:44

本文为您介绍购买了软件密钥管理实例或硬件密钥管理实例后,应用程序可以使用哪些SDK。

阿里云SDK

应用程序通过KMS服务Endpoint访问KMS服务,调用OpenAPI完成管控类操作(管理密钥、凭据、标签、别名等资源)、获取凭据值。

支持Java(Java 6及以上版本)、PHP、Go、Python、.NET(仅C#)、C++、Node.js语言。

说明

在正式环境中使用阿里云SDK获取凭据值时,请您做好错误重试、凭据缓存等业务逻辑,避免网络抖动导致获取凭据值失败。更推荐您使用凭据SDK。

KMS实例SDK

应用程序通过KMS实例Endpoint访问KMS实例,调用实例API完成密码运算操作、获取凭据值。

支持Java(Java 8及以上版本)、PHP、Go、Python、.NET(仅C#)语言。

说明

在正式环境中使用KMS实例SDK获取凭据值时,请您做好错误重试、凭据缓存等业务逻辑,避免网络抖动导致获取凭据值失败。更推荐您使用凭据SDK。

凭据SDK

仅支持获取凭据值。

说明

在正式环境中使用凭据SDK时,请您做好错误重试的业务逻辑,避免网络抖动导致获取凭据值失败。

获取凭据值时,除了可以使用阿里云SDK、KMS实例SDK,KMS还提供了凭据客户端,基于OpenAPI和实例API的自定义封装,封装了在应用中缓存和刷新凭据的功能,业务稳定性更高。此外针对特定业务场景,KMS还提供了凭据JDBC客户端、RAM凭据插件,在创建客户端时即可自动获取凭据,更便于您集成。

凭据SDK包含如下3种:

  • 凭据客户端:支持所有凭据类型,可以一行代码快速获取凭据。支持Java(Java 8及以上版本)、Go、Python语言。

  • 凭据JDBC客户端:当您通过JDBC、数据库连接池(包含c3p0和DBCP)以及数据库开源框架的方式连接数据库时,可以使用该SDK完成数据库连接身份鉴别,并支持自定义凭据刷新频率。仅支持Java(Java 8及以上版本)语言。

  • RAM凭据插件:应用程序使用阿里云SDK时,使用RAM凭据插件获取RAM凭据值(AccessKey),完成身份认证。支持Java(Java 8及以上版本)、Go、Python语言。

Endpoint说明

KMS提供了两种Endpoint:

  • KMS服务Endpoint:KMS服务的全局网络地址,以便客户端建立与KMS服务的连接并调用相应的OpenAPI接口,可通过公网或私网访问。详细的KMS服务Endpoint,请参见接入点说明

  • KMS实例Endpoint:特定KMS实例的网络地址,以便客户端建立与KMS实例的连接并调用相应的实例API接口,仅支持私网访问。

    格式为{实例ID}.cryptoservice.kms.aliyuncs.com,您可以在实例管理页面查看实例详情,获取实例VPC地址,去掉https://后即KMS实例Endpoint。

使用凭据SDK,既可以通过KMS服务Endpoint,也可以通过KMS实例Endpoint获取凭据值。相比KMS服务Endpoint,使用KMS实例Endpoint具有以下优点,因此通常建议您使用KMS实例Endpoint。

  • 客户端直接与KMS实例进行通信,可以减少网络延迟。

  • 只有指定实例Endpoint的客户端才能与该实例进行通信,从而增强了安全性和控制性。

  • 提供更高的业务QPS。更多信息,请参见性能数据

阿里云首页 密钥管理服务 相关技术圈