全部產品
Search
文件中心

Simple Log Service:資料加密

更新時間:Jul 11, 2024

Log Service支援通過Key Management Service(Key Management Service)對資料進行加密儲存,提供資料靜態保護能力。本文主要介紹Log Service的資料加密機制以及使用KMS進行資料加密的操作步驟。

前提條件

已開通Key Management Service。更多資訊,請參見開通Key Management Service

資料加密機制

Log Service支援如下兩種加密類型機制:

  • 通過Log Service內建的服務祕密金鑰加密

    Log Service為每個Logstore產生獨立的資料加密金鑰,用於資料加密。該加密金鑰永不到期。

    支援的資料加密演算法為AES演算法(預設)。

  • 通過使用者內建密鑰(BYOK)加密

    您可以在KMS控制台上建立主要金鑰CMK,並授權Log Service相應的許可權。Log Service調用KMS介面時,使用該CMK建立用於資料加密的密鑰。當您的主要金鑰CMK被刪除或禁用後,BYOK密鑰失效。

    重要

    由KMS BYOK產生的主要金鑰(CMK)失效後,Logstore上的所有讀寫請求都會失敗。

步驟一:BYOK授權

如果使用BYOK加密,則需先完成RAM授權。

  1. 登入RAM控制台

  2. 建立可信實體為阿里雲服務的RAM角色,按下圖配置。

    image

  3. 為RAM角色授權AliyunKMSReadOnlyAccess、AliyunKMSCryptoUserAccess許可權。更多資訊,請參見為RAM角色授權

    授權

  4. 如果使用RAM使用者操作BYOK加密,還需為RAM使用者授予PassRole許可權,僅允許該RAM使用者使用指定的RAM角色。更多資訊,請參見建立自訂權限原則為RAM使用者授權

    下述策略中的Resource值,需要替換為上述步驟中建立的RAM角色的ARN。關於如何查看角色ARN,請參見如何查看RAM角色的ARN?

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "ram:PassRole",
                "Resource": "acs:ram::<account-id>:role/<role-name>"  
            }
        ]
    }

步驟二:配置資料加密

在調用CreateLogStore API建立Logstore或UpdateLogStore API修改Logstore時,添加如下encrypt_conf參數完成加密設定。

重要

配置後,不支援修改密碼編譯演算法和加密類型,您只能通過enable參數開啟或者關閉加密功能,且後續UpdateLogstore時,需每次攜帶完整encrypt_conf參數。

encrypt_conf = {
    "enable" : True,                 # 是否啟用加密。
    "encrypt_type" : "default"       # 密碼編譯演算法,只支援default和m4。
    "user_cmk_info" :                # 可選欄位。如果設定該欄位,則表示使用內建密鑰(BYOK),否則使用Log Service的服務密鑰。
    {
          "cmk_key_id" : ""          # BYOK的主要金鑰ID,例如f5136b95-2420-ab31-xxxxxxxxx。
          "arn" :  ""                # RAM角色的ARN。
          "region_id" : ""           # 主要金鑰所在的地區ID。
    }
}