本文列出了Key Management Service(Key Management Service)提供的API介面及相關描述。
密鑰服務介面
- 使用者主要金鑰管理
密鑰管理介面用於密鑰的建立、屬性修改以及生命週期管理。
API 描述 CreateKey 建立使用者主要金鑰。使用者可以選擇由KMS產生密鑰材料,也可以選擇自己上傳密鑰材料(即是BYOK,此時CreateKey是BYOK的第一步)。 GetParametersForImport 建立外部金鑰(BYOK)的第二步:擷取匯入主要金鑰的材料。 ImportKeyMaterial 建立外部金鑰(BYOK)的第三步:匯入密鑰材料到使用者主要金鑰中,完成外部金鑰的建立。 EnableKey 修改密鑰的狀態為啟用。 DisableKey 修改密鑰的狀態為禁用。 SetDeletionProtection 為使用者主要金鑰(CMK)開啟或關閉刪除保護。 ScheduleKeyDeletion 計劃刪除密鑰。將密鑰的狀態設定為待刪除狀態,處於待刪除狀態的主要金鑰,會在計劃日期到期後刪除。 CancelKeyDeletion 取消計劃刪除。處於待刪除狀態的密鑰,在計劃的日期到期之前,可以取消刪除的計劃,重新設定密鑰狀態為啟用。 DeleteKeyMaterial 直接刪除使用者主要金鑰的密鑰材料。針對匯入的外部金鑰(BYOK),可以直接刪除匯入的密鑰材料,刪除密鑰材料後的使用者主要金鑰狀態為等待匯入。 DescribeKey 查詢指定密鑰的資訊。 ListKeys 列出雲帳號在本地區的所有密鑰。 UpdateKeyDescription 更新使用者主要金鑰的描述資訊。 - 密鑰版本管理
密鑰版本管理介面用於對主要金鑰進行密鑰輪轉。
API 描述 DescribeKeyVersion 查看一個密鑰版本。 ListKeyVersions 列出主要金鑰的所有密鑰版本。 UpdateRotationPolicy 更新對稱主要金鑰的輪轉策略。如果配置自動輪轉,KMS將周期性自動產生新的密鑰版本。 CreateKeyVersion 建立新的密鑰版本,適用於非對稱金鑰。 - 密碼運算
密碼運算介面用於對資料進行密碼運算,例如資料的加密和解密。
API 描述 Encrypt 使用指定使用者主要金鑰加密資料,用於少量資料(不多於6KB)的線上加密。 GenerateDataKey 產生一個隨機數,並用指定的使用者主要金鑰加密後,返回隨機數的密文以及明文。隨機數可被用作資料密鑰,在本地做大量資料加密或解密。 GenerateDataKeyWithoutPlaintext 產生一個隨機數,並用指定的使用者主要金鑰加密後,返回隨機數的密文。隨機數可被用作資料密鑰,在本地做大量資料加密或解密。 ExportDataKey 使用傳入的公開金鑰加密匯出資料密鑰。 GenerateAndExportDataKey 隨機產生一個資料密鑰,通過您指定的主要金鑰(CMK)和公開金鑰加密後,返回CMK加密資料密鑰的密文和公開金鑰加密資料密鑰的密文。 Decrypt 解密Encrypt或GenerateDataKey介面產生的密文,不需要指定用於解密的使用者主要金鑰。 ReEncrypt 對密文進行轉加密。即先解密密文,然後將解密得到的資料或者資料密鑰使用新的主要金鑰再次進行加密,返回加密結果。 AsymmetricSign 非對稱金鑰的私密金鑰運算:產生數位簽章。 AsymmetricVerify 非對稱金鑰的公開金鑰運算:驗證私密金鑰產生的數位簽章。 AsymmetricDecrypt 非對稱金鑰的私密金鑰運算:解密公開金鑰加密的資料。 AsymmetricEncrypt 非對稱金鑰的公開金鑰運算:加密資料。 GetPublicKey 擷取非對稱金鑰的公開金鑰,可用於離線驗證數位簽章,或者加密資料。 - 別名管理
別名是獨立的對象,但是必須和唯一的使用者主要金鑰進行綁定,從而可以在特定API中代替KeyId參數來指代使用者主要金鑰。
API 描述 CreateAlias 建立一個別名,並且將別名與一個使用者主要金鑰綁定。 UpdateAlias 更新已存在的別名所代表的主要金鑰(CMK)ID。 DeleteAlias 刪除別名。 ListAliases 列出雲帳號在本地區的所有別名。 ListAliasesByKeyId 列出與指定使用者主要金鑰綁定的別名。
憑據管家介面
KMS憑據管家提供憑據的託管、保護、分發和輪轉能力。
API | 描述 |
CreateSecret | 建立憑據,並存入憑據的初始版本。 |
ListSecrets | 查詢目前使用者雲帳號所在地區的所有憑據。 |
DeleteSecret | 刪除憑據對象。 |
DescribeSecret | 擷取憑據的中繼資料資訊。 |
GetSecretValue | 擷取憑據值。 |
PutSecretValue | 為憑據存入一個新版本的憑據值。 |
UpdateSecret | 更新憑據的中繼資料。 |
UpdateSecretVersionStage | 更新憑據的版本狀態。 |
RestoreSecret | 恢複被刪除的憑據。 |
ListSecretVersionIds | 查詢憑據的所有版本資訊。 |
GetRandomPassword | 獲得一個隨機密碼串。 |
認證介面
認證介面用於認證的建立、刪除、更新、查詢、簽名驗簽等操作。
API | 描述 |
CreateCertificate | 建立認證。 |
UploadCertificate | 將CA機構頒發的認證和憑證鏈結匯入認證管家。 |
GetCertificate | 查詢認證管家託管的認證。 |
DescribeCertificate | 查詢認證資訊。 |
UpdateCertificateStatus | 更新認證狀態。 |
DeleteCertificate | 刪除認證及其對應的私密金鑰和憑證鏈結。 |
CertificatePrivateKeySign | 使用指定認證產生數位簽章。 |
CertificatePublicKeyVerify | 使用指定認證驗證數位簽章。 |
CertificatePublicKeyEncrypt | 使用指定認證加密資料。 |
CertificatePrivateKeyDecrypt | 使用指定認證解密資料。 |
標籤管理介面
使用者主要金鑰支援標籤。您可以為使用者主要金鑰添加多個標籤,每一個標籤為一組標籤鍵(TagKey)和標籤值(TagValue)。
API | 描述 |
TagResource | 為使用者主要金鑰或者憑據添加或修改標籤。 |
UntagResource | 刪除使用者主要金鑰或者憑據的指定標籤。 |
ListResourceTags | 列出使用者主要金鑰或者憑據的所有標籤。 |
其他
API | 描述 |
DescribeRegions | 查詢當前賬戶的可用地區列表。 |
OpenKmsService | 為當前阿里雲帳號開通Key Management Service。 |
DescribeAccountKmsStatus | 查詢當前阿里雲帳號的Key Management Service狀態。 |