我想使用 AWS Key Management Service (AWS KMS) 加密 Amazon CloudWatch Logs 中的日誌資料。
簡短描述
CloudWatch Logs 預設會使用伺服器端加密 (SSE) 金鑰來加密日誌群組資料。為了控制日誌資料加密或遵守您的安全政策,您也可以使用 AWS KMS 中的客戶自管金鑰。
**注意:**當您使用 AWS KMS 加密時,可能會產生更高的成本。
解決方法
**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
您可以使用現有的客戶自管金鑰來加密日誌群組中的日誌資料。如果您沒有客戶自管金鑰,請在開始之前建立金鑰。
**重要:**您只能在 CloudWatch Logs 中使用對稱的 AWS KMS key。請勿使用非對稱金鑰。
授予 CloudWatch Logs 存取 AWS KMS key 所需的權限
若要授予 CloudWatch Logs 存取 AWS KMS key 的權限,請變更金鑰政策。請確定 CloudWatch Logs 服務主體和呼叫者角色具有使用金鑰所需的權限。
將 AWS KMS key 與日誌群組建立關聯
您可以在建立期間或建立之後關聯 AWS KMS key。您的金鑰在加密過程中可能需要長達 5 分鐘才能建立關聯。
在建立金鑰期間關聯 AWS KMS key
請完成下列步驟:
- 開啟 CloudWatch 主控台。
- 在導覽窗格中,選擇 Log groups (日誌群組)。
- 選擇 Create log group (建立日誌群組)。
- 輸入日誌群組的名稱和 AWS KMS key ARN。
- 選擇 Create (建立)。
或者,執行以下 create-log-group AWS CLI 命令:
aws logs create-log-group --log-group-name example-log-group --kms-key-id example-key-arn
**注意:**將 example-log-group 替換為日誌群組名稱,將 example-key-arn 替換為 AWS KMS key ID。
建立金鑰後關聯 AWS KMS key
**注意:**您無法使用 CloudWatch 主控台將 AWS KMS key 與現有日誌群組建立關聯。
若要在建立 AWS KMS key 後建立關聯,請執行下列 associate-kms-key 命令:
aws logs associate-kms-key --log-group-name example-log-group --kms-key-id example-key-arn
**注意:**將 example-log-group 替換為日誌群組名稱,將 example-key-arn 替換為 AWS KMS key ID。
您也可以取消 AWS KMS key 與日誌群組的關聯。取消關聯或變更 AWS KMS key 後,CloudWatch Logs 可以解密並傳回日誌資料。但是,如果您停用 AWS KMS key,則 CloudWatch Logs 將無法讀取使用該金鑰加密的日誌。
相關資訊
使用 AWS Key Management Service 加密 CloudWatch Logs 中的日誌資料
Amazon CloudWatch Logs 中的資料保護