全部產品
Search
文件中心

Key Management Service:阿里雲SDK

更新時間:Apr 21, 2026

阿里雲SDK不僅支援通過調用OpenAPI執行建立執行個體、建立密鑰等管控類操作,還支援執行加密解密、擷取憑據值等業務類操作。其中管控類操作僅可通過共用網關訪問,而業務類操作既支援通過共用網關也能通過專屬網關訪問。本文介紹業務如何通過阿里雲SDK接入KMS。

接入流程簡述

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

以下表格僅對比在業務類操作中網關之間的差異。

差異點

共用網關

專屬網關

網路差異

公網或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認證:需要配置。但僅阿里雲SDK(2.0)支援,阿里雲SDK(1.0)不支援,阿里雲SDK(1.0)需要將運行時參數HTTPSInsecure設定為true,即client.SetHTTPSInsecure(true)

API差異

支援所有業務類OpenAPI。具體API列表,請參見本文的支援的OpenAPI。

專屬網關不支援ReEncrypt,其他支援的API和公網訪問相同。具體API列表,請參見本文的支援的OpenAPI。

身份認證和鑒權差異

  • 使用STS Token認證並擷取憑據的過程中,僅對GetSecretValue操作進行鑒權,不對Decrypt操作進行鑒權。其他認證方式對兩種操作均鑒權。

  • 支援通過acs:SourceVpcacs:SourceVpc條件鍵進行網路存取控制。

  • 擷取憑據的過程中,對GetSecretValue操作、Decrypt操作均進行鑒權。

  • 不支援通過acs:SourceVpcacs:SourceVpc條件鍵進行網路存取控制。若有網路存取控制的需求,請聯絡阿里雲支援人員。

  • 設定密鑰策略、憑據策略後生效時間長度最長為5分鐘。

審計差異

通過ActionTrail,審計動作記錄。

通過Simple Log Service (SLS),審計動作記錄。

支援的OpenAPI

可以通過共用網關執行管控類操作和業務類操作,通過專屬網關執行業務類操作。具體的 API 列表,請查看以下內容。

重要

若需通過公網訪問KMS執行個體中的密鑰並進行密碼運算操作,需要先開啟公網訪問開關,然後訪問通過共用網關地址調用相關API。

管控類

服務管理

API

標題

API概述

DescribeAccountKmsStatus 查詢當前阿里雲帳號的Key Management Service狀態 查詢當前阿里雲帳號的Key Management Service狀態。
OpenKmsService 為當前阿里雲帳號開通Key Management Service 為當前阿里雲帳號開通Key Management Service。

執行個體管理

API

標題

API概述

ListKmsInstances 擷取執行個體列表 查詢 KMS 執行個體列表。
ConnectKmsInstance 串連執行個體並配置網路 啟用一個KMS執行個體。
GetKmsInstance 擷取執行個體 查詢一個KMS執行個體的詳情。
UpdateKmsInstanceBindVpc 更新執行個體分享VPC 更新KMS執行個體配置的VPC。
ReleaseKmsInstance 釋放KMS隨用隨付執行個體 釋放KMS隨用隨付執行個體。
GetDefaultKmsInstance 擷取預設KMS執行個體 擷取預設KMS執行個體。

密鑰管理

API

標題

API概述

CreateKey

建立一個主要金鑰

建立一個主要金鑰。

ListKeys

查詢調用者在調用地區的所有主要金鑰ID

查詢調用者在調用地區的所有主要金鑰ID。

DescribeKey

返回指定主要金鑰(CMK)的相關資訊

查詢使用者主要金鑰(CMK)詳情。

UpdateKeyDescription

更新主要金鑰描述資訊

更新主要金鑰的描述資訊。

EnableKey

啟用指定的主要金鑰進行加解密

啟用指定的主要金鑰進行加解密。

DisableKey

禁用指定的主要金鑰(CMK)進行加解密

禁用指定的主要金鑰(CMK)進行加解密。

CreateAlias

給主要金鑰(CMK)建立一個別名

為主要金鑰(CMK)建立一個別名。

ListAliases

查詢目前使用者在當前地區的所有別名

查詢目前使用者在當前地區的所有別名。

ListAliasesByKeyId

查詢主要金鑰(CMK)所有別名

查詢與指定主要金鑰(CMK)對應的所有別名。

DeleteAlias

刪除別名

刪除別名。

UpdateAlias

更新主要金鑰(CMK)ID

更新已存在的別名所代表的主要金鑰(CMK)ID。

GetParametersForImport

擷取匯入主要金鑰(CMK)材料的參數

擷取匯入主要金鑰材料的參數。

ImportKeyMaterial

匯入密鑰材料

匯入密鑰材料。

DeleteKeyMaterial

刪除已匯入的密鑰材料

刪除已匯入的密鑰材料。

ScheduleKeyDeletion

申請刪除一個指定的主要金鑰(CMK)

申請刪除一個指定的主要金鑰(CMK)。

CancelKeyDeletion

撤銷密鑰刪除

撤銷密鑰刪除。

SetDeletionProtection

設定刪除保護

為使用者主要金鑰(CMK)開啟或關閉刪除保護。

UpdateRotationPolicy

更新密鑰輪轉策略

更新密鑰的周期性自動輪轉策略。

DescribeKeyVersion

查詢指定密鑰版本資訊

查詢指定密鑰版本資訊。

CreateKeyVersion

為主要金鑰建立一個新的密鑰版本

為使用者主要金鑰(CMK)建立密鑰版本。

ListKeyVersions

列出主要金鑰的所有密鑰版本

列出主要金鑰的所有密鑰版本。

SetKeyPolicy

設定密鑰策略

為KMS執行個體中的密鑰設定密鑰策略。

GetKeyPolicy

查詢密鑰策略

查詢指定密鑰的密鑰策略。

憑據管理

API

標題

API概述

ListSecrets

查詢目前使用者在當前地區建立的所有憑據

查詢目前使用者在當前地區建立的所有憑據。

DeleteSecret

刪除憑據對象

刪除憑據對象。

CreateSecret

建立憑據

建立憑據並存入憑據的初始版本。

UpdateSecret

更新憑據的中繼資料

更新憑據的中繼資料。

UpdateSecretVersionStage

更新憑據的版本狀態

更新憑據的版本狀態。

UpdateSecretRotationPolicy

更新動態憑據的輪轉策略

更新憑據輪轉策略。

DescribeSecret

查詢憑據的中繼資料資訊

查詢憑據的中繼資料資訊。

ListSecretVersionIds

查詢憑據的所有版本資訊

查詢憑據的所有版本資訊。

GetRandomPassword

獲得一個隨機口令字串

獲得一個隨機口令字串。

PutSecretValue

為憑據存入一個新版本的憑據值

為通用憑據存入一個新版本的憑據值。

RestoreSecret

恢複被刪除的憑據

恢複被刪除的憑據。

RotateSecret

主動輪轉動態憑據

立即輪轉憑據。

SetSecretPolicy

設定憑據策略

為KMS執行個體中的憑據鑰設定憑據策略。

GetSecretPolicy

查詢憑據策略

查詢指定憑據的憑據策略。

標籤管理

API

標題

API概述

GetKmsInstanceQuotaInfos 擷取執行個體配額資訊 擷取執行個體配額資訊。
ListResourceTags 擷取使用者主要金鑰的標籤 擷取使用者主要金鑰的標籤。
TagResource 為主要金鑰或憑據設定標籤 為主要金鑰、憑據或認證綁定標籤。
UntagResource 刪除使用者主要金鑰或憑據的指定標籤 為主要金鑰、憑據或認證解除綁定標籤。

應用管理

API

標題

API概述

CreateNetworkRule 建立網路規則 建立一條網路控制規則,設定允許訪問KMS的私網IP或私網的網段。
ListNetworkRules 擷取網路規則列表 查詢網路控制規則列表。
DescribeNetworkRule 擷取網路規則 查詢一個網路控制規則的詳情。
UpdateNetworkRule 更新網路規則 更新一個網路控制規則。
DeleteNetworkRule 刪除網路規則 刪除一條網路控制規則。
CreatePolicy 建立存取原則 建立一個權限原則,設定允許應用訪問的密鑰和憑據。
ListPolicies 擷取存取原則列表 查詢權限原則列表。
DescribePolicy 擷取存取原則 查詢一個權限原則的詳情。
UpdatePolicy 更新存取原則 更新一個權限原則。
DeletePolicy 刪除存取原則 刪除一條權限原則。
CreateApplicationAccessPoint 建立應用存取點 建立一個應用存取點。
ListApplicationAccessPoints 擷取應用存取點列表 查詢應用存取點列表。
DescribeApplicationAccessPoint 擷取應用存取點 查詢一個應用存取點的詳情。
UpdateApplicationAccessPoint 更新應用存取點 更新一個應用存取點資訊。
DeleteApplicationAccessPoint 刪除應用存取點 刪除一個應用存取點。
CreateClientKey 建立應用身份憑證 建立一個應用身份憑證(ClientKey)。
ListClientKeys 擷取應用身份憑證列表 查詢應用身份憑證(ClientKey)列表。
GetClientKey 擷取應用身份憑證 擷取一個應用身份憑證(ClientKey)資訊。
DeleteClientKey 刪除應用身份憑證 刪除一個應用身份憑證(ClientKey)。

業務類-密碼運算

API列表

描述

共用網關

專屬網關

Encrypt

使用對稱金鑰將明文加密為密文。

支援

支援

GenerateDataKey

產生一個隨機的資料密鑰,用於本機資料加密。

支援

支援

GenerateDataKeyWithoutPlaintext

產生一個隨機的資料密鑰,用於本機資料加密,且不返回資料密鑰明文。

支援

支援

ExportDataKey

使用傳入的公開金鑰加密匯出資料密鑰。

支援

支援

GenerateAndExportDataKey

隨機產生一個資料密鑰,通過您指定的KMS密鑰和公開金鑰加密後,返回使用KMS祕密金鑰加密後的資料密鑰密文,以及使用公開金鑰加密後的資料密鑰密文。

支援

支援

Decrypt

解密密文。

支援

支援

ReEncrypt

對密文進行轉加密。即先將密文解密,然後將解密得到的資料或者資料密鑰使用新的主要金鑰再次進行加密,返回加密結果。

支援

不支援

AsymmetricSign

使用非對稱金鑰進行簽名。

支援

支援

AsymmetricVerify

使用非對稱金鑰進行驗簽。

支援

支援

AsymmetricDecrypt

使用非對稱金鑰進行解密。

支援

支援

AsymmetricEncrypt

使用非對稱金鑰進行加密。

支援

支援

GetPublicKey

擷取非對稱金鑰的公開金鑰。

支援

支援

業務類-擷取憑據值

API列表

描述

共用網關

專屬網關

GetSecretValue

擷取憑據值。

支援

支援

支援的開發語言

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

支援的語言

V2.0 SDK

V1.0 SDK(不推薦)

Java

下載地址:

參考文檔:整合SDK

下載地址:

aliyun-java-sdk-kms

參考文檔:開始使用

Python

下載地址:

alibabacloud_kms20160120

參考文檔:整合SDK

下載地址:

aliyun-python-sdk-kms

參考文檔:整合SDK

C++

下載地址:

kms-20160120

參考文檔:無

下載地址:

aliyun-openapi-cpp-sdk/kms

參考文檔:無

PHP

下載地址:

alibabacloud/kms-20160120

參考文檔:快速開始

下載地址:

alibabacloud/kms

參考文檔:開始使用

.NET(C#)

下載地址:

AlibabaCloud.SDK.Kms20160120

參考文檔:快速開始

下載地址:

aliyun-net-sdk-kms

參考文檔:開始使用

Go

下載地址:

kms-20160120

參考文檔:整合SDK

下載地址:

alibaba-cloud-sdk-go

參考文檔:開始使用

TypeScript

下載地址:

kms20160120

參考文檔:無

未提供

Swift

下載地址:

kms-20160120

參考文檔:無

未提供