全部產品
Search
文件中心

Key Management Service:API概覽

更新時間:Jul 06, 2024

本文列出了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解密EncryptGenerateDataKey介面產生的密文,不需要指定用於解密的使用者主要金鑰。
    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狀態。