Key Management Service不僅提供可視化Operations 主控台,還提供OpenAPI線上調試、阿里雲SDK、Terraform等調用方式,協助您更高效地進行開發與部署。
整合流程
版本說明
線上調試2016-01-20版本的API列表,2016-01-20代表的是API版本號碼而非時間概念,所展示的都是最新的API公開資料,並非自2016-01-20之後就未更新。如何查看API版本,請參見查看API版本。
版本號碼 | 說明 |
推薦使用 |
線上調試
為了讓開發人員能夠快速高效地學習和使用雲產品OpenAPI,阿里雲為使用者提供OpenAPI網站。它是一款集OpenAPI智能搜尋、文檔、線上調試、SDK擷取、CodeSample、調用出錯診斷、調用統計為一體的產品。您可以在OpenAPI門戶中調用阿里雲各雲產品開放的OpenAPI,查看OpenAPI請求和返回結果。此外,OpenAPI門戶會自動產生相應的SDK調用樣本,協助您快速使用阿里雲產品。更多資訊,請參見什麼是OpenAPI。
Key Management Service支援在阿里雲OpenAPI門戶進行API調試,在調試之前,您需要提前瞭解API版本、存取點說明、API參數等資訊。您阿里雲帳號登入OpenAPI網站後,OpenAPI預設使用您的阿里雲帳號進行線上OpenAPI調試。
調試API入口為:https://next.api.alibabacloud.com/api/Kms/2016-01-20
登入 OpenAPI 門戶後,頁面左側展示 KMS API 列表(如 DescribeRegions),中間地區用於設定介面的輸入參數並單擊發起調用,右側面板可查看文檔、調用結果、SDK 樣本、CLI 樣本等資訊及返回參數定義。
存取點說明
KMS支援兩種網關類型,共用網關和專屬網關。您可以通過共用網關執行管控類操作和業務類操作,通過專屬網關執行業務類操作。共用網關可通過公網或VPC網路訪問,專屬網關通過KMS私人網路訪問,兩種網關的存取點不同。關於兩種網關的詳細介紹,請參見共用網關和專屬網關的差異。
共用網關Endpoint(又稱KMS服務Endpoint)
通過共用網關調用密碼運算類業務操作,使用前需要開啟公網訪問開關。具體操作,請參見通過公網訪問KMS執行個體中的密鑰。
根據相關資源所在地區,選擇對應的服務存取點地址,以獲得最低延遲。例如華東1(杭州)的Key Management Service公網接入地址為kms.cn-hangzhou.aliyuncs.com,VPC接入地址為kms-vpc.cn-hangzhou.aliyuncs.com,更多地址請參見服務存取點。
公網接入地址在全球都可訪問。
VPC接入地址只有在阿里雲對應的地區內,且是VPC網路類型才可訪問。VPC地址的優勢:
高安全性:VPC服務地址只能在VPC內部訪問,提供更高的安全性和隱私性。
更快的響應速度:由於VPC服務地址在VPC內部網路中運行,其響應速度通常比公網服務更快,且可以避免公網延遲和頻寬節流設定等問題。
更低的成本:VPC服務地址可以使用內部網路通訊。
專屬網關Endpoint(又稱KMS執行個體Endpoint)
通過KMS私人網路訪問,專屬網關Endpoint格式為<YOUR_KMS_INSTANCE_ID>.cryptoservice.kms.aliyuncs.com,例如kst-hzz65f176a0ogplgq****.cryptoservice.kms.aliyuncs.com。
請將
<YOUR_KMS_INSTANCE_ID>替換為您實際使用的KMS執行個體ID。通過專屬網關執行業務類操作時,初始化用戶端需要增加執行個體CA認證配置。詳細介紹,請參見初始化用戶端。
認證方式
使用阿里雲SDK通過共用網關和專屬網關訪問OpenAPI時認證方式相同,支援AK、STS Token、RamRoleArn、ECS執行個體RAM角色等基於RAM的身份認證方式。詳細內容,請參見管理訪問憑據、身份、憑據與授權。如何設定存取權限策略,請參見使用RAM進行存取控制。
AccessKey
阿里雲帳號預設有所有資源的 Administrator 許可權且不可修改,為了確保資源安全,建議使用 RAM 使用者建立 AccessKey,並根據需求進行最小化授權。
登入RAM 控制台,在頁用户面,單擊目標 RAM 使用者名稱稱。
在憑證管理標籤頁的AccessKey地區,單擊建立 AccessKey。
授予 RAM 使用者訪問 KMS 的許可權。
方式一:設定基於身份的策略
單擊 RAM 使用者操作列的新增授权,直接綁定 KMS 內建系統權限原則到 RAM 角色。KMS 內建系統權限原則,請參見Key Management Service系統權限原則參考。
說明同時支援自訂權限原則,具體操作請參見建立自訂權限原則。
方式二:設定基於資源的策略
KMS 支援基於資源的策略,即為單個密鑰和憑據設定存取權限,用於控制哪些阿里雲帳號、RAM 使用者、RAM 角色有許可權來管理或使用 KMS 密鑰、憑據。詳細介紹,請參見密鑰策略、憑據策略。
ECS RAM角色
ECS RAM 角色是指為 ECS 執行個體授予的 RAM 角色,該 RAM 角色是一個受信服務為雲端服務器的普通服務角色。使用執行個體 RAM 角色可以實現在 ECS 執行個體內部無需配置 AccessKey 即可擷取臨時訪問憑證(STS Token),從而調用 KMS 的 OpenAPI。
具體操作,請參見執行個體RAM角色。
登入RAM 控制台,建立可信實體為阿里雲服務的 RAM 角色。
信任主體類型:選擇云服务器。
信任主體名稱:選擇Elastic Compute Service。
授予 RAM 角色訪問 KMS 的許可權。
方式一:設定基於身份的策略
單擊 RAM 角色操作列的新增授权,直接綁定 KMS 內建系統權限原則到 RAM 角色。KMS 內建系統權限原則,請參見Key Management Service系統權限原則參考。
說明同時支援自訂權限原則,具體操作請參見建立自訂權限原則。
方式二:設定基於資源的策略
KMS 支援基於資源的策略,即為單個密鑰和憑據設定存取權限,用於控制哪些阿里雲帳號、RAM 使用者、RAM 角色有許可權來管理或使用 KMS 密鑰、憑據。詳細介紹,請參見密鑰策略、憑據策略。
登入ECS 管理主控台,將 RAM 角色授予 ECS 執行個體。

STS Token
通過 STS 服務為 RAM 使用者或 RAM 角色頒發一個臨時訪問憑證(STS Token),可以在限定的有效期間內,以符合策略規定的許可權訪問 KMS,超過有效期間後,該憑證自動失效。
為 RAM 使用者或 RAM 角色授予
AliyunSTSAssumeRoleAccess許可權。具體操作,請參見管理RAM使用者的許可權、管理RAM角色的許可權。授予 RAM 使用者或 RAM 角色訪問 KMS 的許可權。
方式一:設定基於身份的策略
單擊 RAM 角色或使用者操作列的新增授权,直接綁定 KMS 內建系統權限原則。KMS 內建系統權限原則,請參見Key Management Service系統權限原則參考。
說明同時支援自訂權限原則,具體操作請參見建立自訂權限原則。
方式二:設定基於資源的策略
KMS 支援基於資源的策略,即為單個密鑰和憑據設定存取權限,用於控制哪些阿里雲帳號、RAM 使用者、RAM 角色有許可權來管理或使用 KMS 密鑰、憑據。詳細介紹,請參見密鑰策略、憑據策略。
使用 RAM 使用者或 RAM 角色調用 STS 服務的 AssumeRole 介面擷取 STS 臨時訪問憑證。具體操作,請參見AssumeRole - 擷取扮演角色的臨時身份憑證。
RamRoleArn
RAM 使用者或雲產品可以通過扮演角色的方式擷取臨時許可權(STS Token),而不是直接使用長期密鑰,降低了密鑰泄露的風險。例如,在臨時的資料處理任務中,RAM 使用者或雲產品臨時扮演一個具有特定 RamRoleArn 的角色,完成任務后角色許可權被收回,減少泄露風險。
建立使用者 AK
登入RAM 控制台,在頁面,單擊目標 RAM 使用者名稱稱。
為 RAM 使用者指派系統策略
AliyunSTSAssumeRoleAccess或包含許可權操作sts:AssumeRole的自訂策略。在憑證管理標籤頁的AccessKey地區,單擊建立 AccessKey。
建立 RAM 角色並授權:
在頁面,單擊创建角色具體操作,請參見建立RAM角色。
授予 RAM 角色訪問 KMS 的許可權。
方式一:設定基於身份的策略
單擊 RAM 角色操作列的新增授权,直接綁定 KMS 內建系統權限原則到 RAM 角色。KMS 內建系統權限原則,請參見Key Management Service系統權限原則參考。
說明同時支援自訂權限原則,具體操作請參見建立自訂權限原則。
方式二:設定基於資源的策略
KMS 支援基於資源的策略,即為單個密鑰和憑據設定存取權限,用於控制哪些阿里雲帳號、RAM 使用者、RAM 角色有許可權來管理或使用 KMS 密鑰、憑據。詳細介紹,請參見密鑰策略、憑據策略。
擷取目標 RAM 角色的 RamRoleArn。具體操作,請參見查看RAM角色。
在頁面,單擊目標角色名稱。
進入角色詳情頁,在ARN地區可擷取 RamRoleArn 資訊。
說明RamRoleArn 是 RAM 角色的 ARN 資訊,即需要扮演的角色 ID。格式為 acs:ram::$accountID:role/$roleName。$accountID 為阿里雲帳號 ID。$roleName 為 RAM 角色名稱。
整合方式
SDK是最易於整合,且支援度最好的OpenAPI調用方式,推薦您選擇使用SDK。
阿里雲SDK
阿里雲為開發人員提供了多種程式設計語言(Java、C#、Go、Python、Node.js/TypeScript、PHP、C++ 等)的SDK。SDK統一封裝了簽名邏輯、逾時機制、重試機制,並提供了介面請求Request對象和介面返回Response對象,易於開發。更多關於阿里雲SDK的介紹,請參見阿里雲SDK。
阿里雲CLI
阿里雲CLI(Alibaba Cloud Command Line Interface)是基於OpenAPI建立的通用命令列工具,您可以藉助阿里雲CLI實現與阿里雲產品的互動,在Shell工具中管理您的阿里雲產品。使用者可以通過CLI直接輸入指令來執行特定操作,而無需依賴圖形化使用者介面(GUI)。更多資訊,請參見什麼是阿里雲 CLI。如何擷取和使用阿里雲CLI命令,請參見CLI 指南。
Terraform
Terraform是一種開源工具,用於安全高效地預覽,配置和管理雲基礎架構和資源,通過將模板轉化為內部資料後完成OpenAPI調用,支援多種主流雲端服務商。Terraform自動計算資源差異並產生執行計畫,使用者可預覽變更影響後再執行,避免意外操作導致的資源損壞或服務中斷。更多詳情,請參見瞭解阿里雲Terraform。快速使用Terraform編排Key Management Service,請參見Terraform概述。
通過Terraform編排和使用Key Management Service,僅部分介面支援。
自訂封裝API調用
原生HTTP調用需要您自己實現簽名演算法,並根據介面入參構建自訂請求,發起HTTP調用。簽名演算法說明參見簽名機制,除了需要傳入所需業務參數外還需要拼接公用請求參數,詳見公用參數。自訂封裝介面樣本可參考V3版本請求體&簽名機制。
注意事項
KMS僅支援使用HTTPS通道發送請求,僅支援TLS 1.0、1.1、1.2版本,不支援SSL v2和SSL v3。
單個阿里雲帳號調用不同API的每秒請求數(QPS)不同,詳情請參見各API文檔的QPS限制。更多資訊,請參見流量控制與配額管理。
說明單個阿里雲帳號下的所有RAM使用者共用該阿里雲帳號的QPS配額。
如果調用API後報錯,您可以根據返回的錯誤碼資訊,提示檢查傳入的請求參數及其取值是否正確。更多資訊,請參見公用錯誤碼。
您可以記錄下調用返回的RequestID或SDK報錯資訊,通過阿里雲OpenAPI診斷平台進行自助診斷。