如果您使用的密鑰類型不支持基于密鑰版本的自動輪轉(zhuǎn),您可以基于使用場景,直接輪轉(zhuǎn)使用的用戶主密鑰(CMK),通過人工的方式實(shí)現(xiàn)密鑰輪轉(zhuǎn)。由于這種方式建立在CMK之上,對于支持和不支持自動輪轉(zhuǎn)的CMK而言,都可以作為特殊場景下的替代技術(shù)方案。

應(yīng)用自定義加密場景

云上或者云下的應(yīng)用可以調(diào)用KMS API實(shí)現(xiàn)自定義的數(shù)據(jù)加密,例如:
  • 在將身份證號、信用卡號、家庭地址等敏感信息寫入數(shù)據(jù)庫之前進(jìn)行加密。
  • 在上傳數(shù)據(jù)到OSS之前,進(jìn)行客戶端加密。
  • 對包含敏感信息的應(yīng)用配置文件、SSL私鑰證書等服務(wù)配置文件進(jìn)行加密。
您可以通過KMS提供的密鑰別名功能,實(shí)現(xiàn)對應(yīng)用中加密密鑰的輪轉(zhuǎn)。KMS的解密API不需要您提供密鑰的ID或者別名。
這一抽象的輪轉(zhuǎn)場景包括以下步驟:
  1. 初始設(shè)置
    1. 管理員創(chuàng)建CMK,假定ID為CMK-A。
    2. 管理員為上述CMK-A綁定別名alias/MyAppKey。
    3. 應(yīng)用加密模塊調(diào)用Encrypt接口時(shí),在KeyId參數(shù)傳入別名alias/MyAppKey:KMS發(fā)現(xiàn)alias/MyAppKey綁定了ID為CMK-A的主密鑰,因此使用CMK-A執(zhí)行加密。
    4. 應(yīng)用解密模塊調(diào)用Decrypt接口時(shí),不傳入KeyId參數(shù),KMS使用實(shí)際用于加密數(shù)據(jù)的CMK執(zhí)行解密。
  2. 人工輪轉(zhuǎn)密鑰
    1. 管理員創(chuàng)建新的CMK,假定ID為CMK-B。
    2. 管理員調(diào)用UpdateAlias,將別名alias/MyAppKey綁定到CMK-B。
    3. 應(yīng)用加密模塊調(diào)用Encrypt接口時(shí),在KeyId參數(shù)傳入別名alias/MyAppKey:KMS發(fā)現(xiàn)alias/MyAppKey綁定了ID為CMK-B的主密鑰,因此使用CMK-B執(zhí)行加密。
    4. 應(yīng)用解密模塊調(diào)用Decrypt接口時(shí),不傳入KeyId參數(shù),KMS使用實(shí)際用于加密數(shù)據(jù)的CMK執(zhí)行解密。

云產(chǎn)品服務(wù)端加密場景

云產(chǎn)品通過集成KMS API,可以對其管理的數(shù)據(jù)進(jìn)行服務(wù)端加密。云產(chǎn)品服務(wù)端加密的場景,從密鑰輪轉(zhuǎn)角度可能出現(xiàn)以下情形:
  • KMS側(cè)配置自動輪轉(zhuǎn)策略對云產(chǎn)品服務(wù)端加密產(chǎn)生效果

    這種情形通常是因?yàn)樵飘a(chǎn)品配置指定CMK加密之后,會持續(xù)性調(diào)用KMS的GenerateDataKey產(chǎn)生新的數(shù)據(jù)密鑰,因此KMS產(chǎn)生新的主版本后,云產(chǎn)品會使用到新的主版本來加密新產(chǎn)生的數(shù)據(jù)密鑰。這類云產(chǎn)品包括OSS等。對于這類情況,如果您希望具備自動輪轉(zhuǎn)密鑰的能力,則不能使用服務(wù)密鑰,也不能使用自帶密鑰(您導(dǎo)入到KMS的外部密鑰),因?yàn)樗鼈儾⒉恢С置荑€自動輪轉(zhuǎn)。

  • KMS側(cè)配置自動輪轉(zhuǎn)策略對云產(chǎn)品服務(wù)端加密不產(chǎn)生效果

    這種情形通常是因?yàn)樵飘a(chǎn)品配置指定CMK加密之后,只會對特定資源調(diào)用一次KMS的加密API,因此KMS即便輪轉(zhuǎn)CMK產(chǎn)生新的密鑰版本,云產(chǎn)品也無法使用。例如ECS對云盤的加密,只會一次性調(diào)用KMS的GenerateDataKey產(chǎn)生數(shù)據(jù)密鑰用于卷加密,后續(xù)不會再對整個(gè)磁盤的卷加密密鑰(Volume Encryption Key)進(jìn)行更新。

如果您在第一種情形中使用了自帶密鑰或者希望對數(shù)據(jù)密鑰也進(jìn)行變更輪轉(zhuǎn),或者應(yīng)用場景屬于第二種情形,則可以通過變更配置、拷貝數(shù)據(jù)等方式達(dá)成密鑰輪轉(zhuǎn)的目的。這類解決方案依賴于云產(chǎn)品的特定功能,詳情請參見相關(guān)云產(chǎn)品文檔。