本文為您介紹使用OpenAPI查詢指定密鑰的密鑰詳情的完整示例。
查看OpenAPI文檔
通過閱讀API概覽得知,查詢指定密鑰的密鑰詳情的OpenAPI為DescribeKey。請您根據文檔,了解調用該接口需要準備的數據和權限。
創建RAM用戶并授權
身份
您可以使用阿里云賬號(主賬號)、RAM用戶、RAM角色調用該接口,有關各種身份的差異,請參見身份、憑據、授權。本示例中,我們使用RAM用戶進行接口調用。
登錄RAM訪問控制,創建一個僅允許API調用的RAM用戶,并記錄AccessKey信息。具體操作,請參見創建RAM用戶。
授權
訪問RAM用戶列表,單擊目標RAM用戶操作列的添加權限。
在權限策略區塊中,搜索并選擇AliyunKMSFullAccess策略。
說明KMS的系統權限策略如下:
AliyunKMSCryptoAdminAccess:本策略定義了在KMS中管理加密密鑰的權限。
AliyunKMSCryptoUserAccess:本策略定義了使用KMS的密鑰進行密碼運算的權限。
AliyunKMSFullAccess:本策略定義了管理密鑰管理服務(KMS)的權限。
AliyunKMSReadOnlyAccess:本策略定義了只讀訪問密鑰管理服務(KMS)的權限。
AliyunKMSSecretAdminAccess:本策略定義了在KMS中管理憑據的權限。
AliyunKMSSecretUserAccess:本策略定義了獲取KMS中的憑據的權限。
關于如何創建自定義權限,請參見密鑰管理服務自定義權限策略參考。
單擊確認新增授權,完成授權操作。
憑證
在創建RAM用戶時會默認生成一個AccessKey,可直接使用。您也可以進入到對應的RAM用戶詳情頁面,在認證管理頁簽,單擊創建AccessKey,創建一個新的AccessKey。具體操作,請參見創建AccessKey。
調用OpenAPI
本文以Python語言為例,為您介紹OpenAPI的調用方法。
準備Python環境
下載并安裝Python。
Python 3的下載地址,請參見Python 3。
查看Python版本。
Linux和macOS系統
打開終端,輸入
python --version
。Windows系統
在Python的安裝路徑下,雙擊python.exe。
打開命令提示符頁面。
通過鍵盤快捷鍵Win+R打開運行對話框,輸入命令python,單擊確定。
配置環境變量
為避免將AccessKey硬編碼到業務代碼中帶來的安全風險,本示例采用配置環境變量的方法管理AccessKey。不同操作系統的環境變量配置方法不同,具體操作,請參見在Linux、macOS和Windows系統配置環境變量。
安裝依賴
建議您安裝最新版本的SDK,最新版本信息,請參見KMS SDK。
pip install alibabacloud_credentials
pip install alibabacloud_kms20160120==xx.xx.xx
pip install alibabacloud_tea_console
下載示例代碼
在OpenAPI門戶,訪問DescribeKey接口的調試地址。
請求參數KeyId輸入key-hzz62f1cb66fa42qo****,直接單擊發起調用。
先單擊SDK示例頁簽,再單擊Python頁簽。
獲取Python語言的SDK示例。
單擊下載完整工程,下載示例代碼包。
在本地解壓示例代碼包,并進入alibabacloud_sample目錄。
運行代碼
執行以下命令:
python sample.py
得到如下輸出結果:
{
"KeyMetadata": {
"CreationDate": "2022-08-09T02:50:14Z",
"Description": "",
"KeyId": "key-hzz62f1cb66fa42qo****",
"KeySpec": "Aliyun_AES_256",
"KeyState": "Enabled",
"KeyUsage": "ENCRYPT/DECRYPT",
"PrimaryKeyVersion": "key-hzz62f1cb66fa42qo****-nksr4****",
"DeleteDate": "",
"Creator": "119285303511****",
"Arn": "acs:kms:cn-hangzhou:119285303511****:key/key-hzz62f1cb66fa42qo****",
"Origin": "",
"MaterialExpireTime": "",
"ProtectionLevel": "SOFTWARE",
"LastRotationDate": "2023-08-02T08:36:53Z",
"AutomaticRotation": "Disabled",
"KeyStoreId": "kst-hzz62ee817bvyyr5x****",
"DeletionProtection": "Enabled",
"DKMSInstanceId": "kst-hzz62ee817bvyyr5x****"
},
"RequestId": "7b6c6946-97ca-4e03-a312-28f9e8873c21"
}