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鑒權(不推薦) |
功能說明 |
|
|
支援的整合方式 | 阿里雲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 |
| 共用網關:
專屬網關: AAP鑒權+執行個體API(不推薦) | 支援3種:
|
阿里雲SDK | OpenAPI: | 共用網關: RAM鑒權+OpenAPI 專屬網關: RAM鑒權+OpenAPI | 支援8種:
|
執行個體SDK(不推薦) | 執行個體API: | 共用網關:不支援 專屬網關: AP鑒權+執行個體API | 支援5種:
|
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憑據值。