全部產品
Search
文件中心

Key Management Service:應用整合KMS指南

更新時間:Jun 10, 2025

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安全保障方案,資料安全性更高,只支援業務類操作。

差異點

共用網關

專屬網關

推薦使用情境

  • 業務需要通過API操作包括執行個體、密鑰、憑據相關的管控操作,例如建立密鑰、建立憑據、建立KMS執行個體等操作。

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

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

  • 業務部署在阿里雲VPC。

  • 業務類操作例如加解密、擷取憑據等操作頻繁,對效能要求較高。

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

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角色、STS Token、ECS RAM角色、AK等多種方式。

  • 無需配置CA認證。

  • 支援自訂靈活權限原則。

  • 需要下載儲存認證檔案ClientKey,其中包含應用身份憑證內容(ClientKeyContent)憑證口令(ClientKeyPassword)

  • 支援配置CA認證,完成雙向TLS鑒權。

支援的整合方式

阿里雲SDK、憑據SDK、KMS Agent

憑據SDK、執行個體SDK

支援的API

全部OpenAPI

OpenAPI-擷取憑據、執行個體API

支援的網關

專屬網關、共用網關

專屬網關、共用網關

說明

針對不同的網關要求提供專屬網關配置和共用網關配置兩種模式,具體操作可參見AAP鑒權

整合方式

KMS 提供SDK和KMS Agent兩種整合方式,SDK支援全部的管控類操作API和密碼運算、擷取憑據的業務類操作API,KMS Agent目前僅支援擷取憑據API

SDK

將複雜的簽名過程封裝在方法內,使用者按照介面說明填入必填參數和認證資訊即可。KMS SDK包含阿里雲SDK、憑據SDK、執行個體SDK(不推薦)。若您結合網關、鑒權、API的情況選擇了合適的SDK後,可按照以下流程整合SDK以使用KMS。更多SDK整合資訊,可參見SDK參考

使用說明:

  • 支援通行金鑰和憑據的所有操作(管控類、操作類),其中管控類操作僅支援SDK這一種整合方式。

  • 針對不同的語言環境,需要安裝對應語言的SDK。

接入流程圖

開發接入說明:

SDK類型

支援的API

網關及鑒權方式說明

支援的開發語言

憑據SDK

共用網關:

  • RAM鑒權+OpenAPI

  • AAP鑒權+OpenAPI(不推薦)

  • AAP鑒權+執行個體API(不推薦)

專屬網關:

AAP鑒權+執行個體API(不推薦)

支援3種:

  • Java(Java 8及以上版本)

  • Python

  • Go

阿里雲SDK

OpenAPI:

共用網關:

RAM鑒權+OpenAPI

專屬網關:

RAM鑒權+OpenAPI

支援8種:

  • Java

  • Python

  • Go

  • C++

  • PHP

  • .NET(C#)

  • TypeScript

  • Swift

執行個體SDK(不推薦)

執行個體API:

密鑰介面憑據介面產生隨機數

共用網關:不支援

專屬網關:

AP鑒權+執行個體API

支援5種:

  • Java(Java 8及以上版本)

  • Python

  • Go

  • PHP

  • .NET(僅C#)

KMS Agent

KMS Agent簡化了應用訪問KMS的身份認證與緩衝管理流程,是基於標準化HTTP介面提供服務更多資訊,請參見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憑據值。