KMS提供阿里雲SDK、憑據SDK和執行個體SDK(不推薦)三類SDK,本文介紹其接入流程、認證鑒權、支援的API、支援訪問網關類型等資訊,使用者可根據業務需求選擇適合的SDK。
SDK 接入流程圖
阿里雲SDK
阿里雲SDK是封裝好的用於調用雲產品OpenAPI的程式依賴包,方便開發人員快速構建與阿里雲相關的應用程式,不僅支援憑據和密鑰的管控類API還支援業務類API。支援Java、Python、C++、PHP、.NET(僅C#)、Go、TypeScript、Swift多種語言。更多關於阿里雲SDK資訊,請參見阿里雲SDK。
支援的API
阿里雲SDK支援調用OpenAPI執行KMS管控類操作和業務類操作。更多關於API支援情況可參見阿里雲 SDK支援的OpenAPI。
管控類操作:包含預設密鑰、KMS執行個體相關的管控類操作,例如建立密鑰、建立憑據、建立KMS執行個體、修改密鑰標籤等。
業務類操作:
密碼運算:對稱加解密、非對稱加解密、信封加密、產生資料密鑰、數位簽章、驗證簽名等與密碼學相關的操作。
擷取憑據值:擷取KMS執行個體中憑據的憑據值。
在正式環境中使用阿里雲SDK擷取憑據值時,請您做好錯誤重試、憑據緩衝等商務邏輯,避免網路抖動導致擷取憑據值失敗,具體操作可參考見使用指數退避方法對請求錯誤進行重試。
支援的網關類型
阿里雲SDK支援通過共用網關或專屬網關來訪問OpenAPI和執行個體API。其中管控類API操作僅可通過共用網關訪問,而業務類API既支援通過共用網關也能通過專屬網關訪問。
網關類型 | 推薦使用情境 | 身份認證和鑒權 | 支援的API |
共用網關 |
| RAM鑒權 | 全部OpenAPI |
專屬網關 |
| RAM鑒權 | OpenAPI-密碼運算、OpenAPI-擷取憑據值 |
憑據SDK
憑據SDK是基於KMS OpenAPI和KMS執行個體API的自訂封裝,實現在應用中緩衝和重新整理憑據的功能,業務穩定性更高且更易於開發人員在業務應用中整合。僅支援擷取憑據,包含憑據用戶端、憑據JDBC用戶端、RAM憑據外掛程式三種SDK,支援Java(Java 8及以上版本)、Python、Go多種語言。更多關於憑據SDK資訊,請參見憑據SDK。
憑據SDK類型
SDK | 功能說明 |
| |
| |
|
支援的API
憑據SDK僅支援通過OpenAPI和執行個體API(不推薦)執行擷取憑據值的業務類操作,憑據管控類操作請使用阿里雲SDK。
在正式環境中使用憑據SDK擷取憑據值時,請您做好錯誤重試、憑據緩衝等商務邏輯,避免網路抖動導致擷取憑據值失敗,具體操作可參考見使用指數退避方法對請求錯誤進行重試。
支持的網關類型
憑據SDK通過共用網關或專屬網關來擷取憑據值。其中共用網關支援RAM鑒權和AAP鑒權調用OpenAPI,專屬網關僅支援AAP鑒權調用執行個體API。
網關類型 | 推薦使用情境 | 鑒權 | 支援的API |
共用網關 |
| RAM鑒權 | OpenAPI-擷取憑據值 |
AAP鑒權(不推薦) | 執行個體API-擷取憑據值 | ||
專屬網關 |
| AAP鑒權(不推薦) | 執行個體API-擷取憑據值 |
KMS執行個體SDK(不推薦)
應用程式通過KMS執行個體SDK訪問專屬網關Endpoint,完成密碼運算操作、擷取憑據值。支援Java(Java 8及以上版本)、PHP、Go、Python、.NET(僅C#)語言。詳細內容,請參見KMS執行個體SDK(不推薦)。
網關Endpoint及鑒權說明
網關Endpoint說明
KMS提供了兩種Endpoint:
共用網關Endpoint(KMS服務Endpoint):KMS服務的全域網路地址,可通過公網或VPC網絡訪問。根據地區不同Endpoint不同,例如華東1(杭州):kms.cn-hangzhou.aliyuncs.com,kms-vpc.cn-hangzhou.aliyuncs.com,詳細的Endpoint請參見存取點說明。
專屬網關Endpoint(KMS執行個體Endpoint):特定KMS執行個體的網路地址,僅支援私網訪問。Endpoint格式為
{執行個體ID}.cryptoservice.kms.aliyuncs.com。
身份認證及鑒權說明
KMS提供RAM鑒權、AAP鑒權兩種鑒權方式,共用網關支援RAM鑒權、AAP鑒權,專屬網關僅支援AAP鑒權。
RAM鑒權:RAM角色、STS Token、ECS RAM角色、AK。
AAP鑒權(不推薦):建立應用存取點下載儲存認證檔案ClientKey,其中包含應用身份憑證內容(ClientKeyContent)和憑證口令(ClientKeyPassword)。針對不同的網關提供專屬網關配置和共用網關配置兩種模式,具體配置可參考AAP鑒權。