全部產品
Search
文件中心

Key Management Service:憑據SDK

更新時間:Apr 21, 2026

憑據SDK是基於KMS OpenAPI和KMS執行個體API的自訂封裝,封裝了在應用中緩衝和重新整理憑據的功能,業務穩定性更高且更易於開發人員在業務應用中整合。本文介紹業務如何接入憑據SDK。

接入概覽

憑據SDK僅支援業務類操作中的擷取憑據值,既支援共用網關也支援專屬網關訪問。

共用網關和專屬網關的差異

憑據SDK支援通過共用網關和專屬網關調用OpenAPI和執行個體API來擷取憑據。共用網關為KMS服務的全域網路,可通過公網或VPC網路訪問,專屬網關為特定KMS執行個體的網路,僅支援私網訪問

差異點

共用網關

專屬網關

推薦使用情境

  • 擷取憑據操作效能要求不高

  • 業務部署在非阿里雲VPC上。

  • 非正式環境訪問KMS,例如:自我裝載環境。

  • 業務部署在阿里雲VPC。

  • 擷取憑據等操作頻繁。

  • 業務資料有較高的安全性要求。

網路差異

公網或VPC網路。

KMS私網網路。

效能差異

以加解密效能為例,通過共用網關訪問KMS時QPS為1000。

以購買的執行個體的計算效能規格為準,例如1000、2000等。

初始化用戶端時的配置差異

  • Endpoint:共用網關Endpoint,例如kms.cn-hangzhou.aliyuncs.com。具體請參見SDK使用概述

  • KMS執行個體CA認證:無需配置。

  • Endpoint:專屬網關Endpoint,格式為<YOUR_KMS_INSTANCE_ID>.cryptoservice.kms.aliyuncs.com

    例如kst-hzz65f176a0ogplgq****.cryptoservice.kms.aliyuncs.com

  • KMS執行個體CA認證:需要配置。

API差異

OpenAPI-GetSecretValue

OpenAPI-GetSecretValue執行個體API-GetSecretValue(不推薦)

身份認證與授權

憑據SDK支援RAM鑒權和AAP鑒權(不推薦)兩種鑒權方式。

認證方式

訪問憑據類型

RAM鑒權

RamRoleArn、ECS RAM角色、STS Token、AccessKey、阿里雲預設憑證鏈、OIDC Role Arn等。

說明

RAM憑據外掛程式僅支援ECS RAM角色。

AAP鑒權(不推薦)

ClientKey(共用網關配置)、ClientKey(專屬網關配置)

憑據SDK類型

憑據SDK提供憑據用戶端、憑據JDBC用戶端、RAM憑據外掛程式三種SDK,通過共用網關或專屬網關調用OpenAPI-GetSecretValue或執行個體API-GetSecretValue(不推薦)擷取KMS憑據值。每種SDK支援的鑒權方式和API類型存在差異,詳情可參考下表:

SDK類型

使用說明

網關及鑒權方式說明

憑據用戶端

  • 支援所有憑據類型

  • 憑據用戶端還封裝了在應用中緩衝和重新整理憑據的功能,業務穩定性更高。

共用網關、專屬網關:RamRoleArn、ECS RAM角色、STS Token、AccessKey、阿里雲預設憑證鏈、OIDC Role Arn、ClientKey等。

說明

建議適應憑據用戶端 V2 SDK。版本差異,請參見SDK 版本

憑據JDBC用戶端

  • 開發語言必須是Java(Java 8及以上版本)

  • 僅支援RDS憑據和憑據值滿足{"AccountName":"<您的資料庫帳號使用者名稱>","AccountPassword":"<您的資料庫帳號密碼>"}格式的通用憑據

  • 當您通過JDBC、資料庫連接池(包含c3p0和DBCP)以及資料庫開源架構的方式串連資料庫時,可以使用憑據JDBC用戶端完成資料庫連接身份鑒別,並支援自訂憑據重新整理頻率。

共用網關:

  • RAM鑒權:RamRoleArn、ECS RAM角色、STS Token、AccessKey。

  • AAP鑒權(不推薦):ClientKey(共用網關配置)

專屬網關(不推薦):

AAP鑒權:ClientKey(專屬網關配置)

RAM憑據外掛程式

  • 僅支援RAM憑據

  • 業務應用需要使用該外掛程式支援的SDK版本,詳情參見支援的阿里雲SDK

共用網關:

  • RAM鑒權:ECS RAM角色

  • AAP鑒權(不推薦):ClientKey(共用網關配置)

專屬網關(不推薦):

AAP鑒權:ClientKey(專屬網關配置)

支援的API

API列表

描述

共用網關

專屬網關

GetSecretValue(OpenAPI)

擷取憑據值

支援

支援

GetSecretValue(執行個體API)

擷取憑據值

不支援

支援

支援的開發語言

下表列舉了支援的語言類型以及各語言SDK的參考文檔。

憑據SDK

支援的語言

憑據用戶端

Java(Java 8及以上版本)、Python、Go

憑據JDBC用戶端

Java(Java 8及以上版本)

RAM憑據外掛程式

Java(Java 8及以上版本)、Python、Go