本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 加密異常偵測器及其結果 AWS KMS
異常偵測器資料一律會在 CloudWatch Logs 中加密。根據預設,CloudWatch Logs 會對靜態資料使用伺服器端加密。或者,您可以使用 AWS Key Management Service 進行此加密。如果您這麼做,則會使用 AWS KMS 金鑰完成加密。透過將 KMS 金鑰與異常偵測器建立關聯,在異常偵測器層級啟用使用 AWS KMS 加密。
重要
CloudWatch Logs 僅支援對稱 KMS 金鑰。請勿使用非對稱金鑰來加密日誌群組中的資料。如需詳細資訊,請參閱使用對稱和非對稱金鑰。
限制
-
若要執行下列步驟,您必須擁有下列許可:
kms:CreateKey
、kms:GetKeyPolicy
和kms:PutKeyPolicy
。 -
將金鑰與異常偵測器建立關聯或取消關聯後,操作最多可能需要五分鐘才會生效。
-
如果您撤銷 CloudWatch Logs 對已關聯金鑰的存取權,或刪除所關聯的 KMS 金鑰,您將無法再擷取 CloudWatch Logs 中的加密資料。
步驟 1:建立 AWS KMS 金鑰
若要建立 KMS 金鑰,請使用以下 create-key 命令:
aws kms create-key
輸出包含金鑰 ID 和金鑰的 Amazon Resource Name (ARN)。下列為範例輸出:
{
"KeyMetadata": {
"Origin": "AWS_KMS",
"KeyId": "key-default-1",
"Description": "",
"KeyManager": "CUSTOMER",
"Enabled": true,
"CustomerMasterKeySpec": "SYMMETRIC_DEFAULT",
"KeyUsage": "ENCRYPT_DECRYPT",
"KeyState": "Enabled",
"CreationDate": 1478910250.94,
"Arn": "arn:aws:kms:us-west-2:123456789012:key/key-default-1",
"AWSAccountId": "123456789012",
"EncryptionAlgorithms": [
"SYMMETRIC_DEFAULT"
]
}
}
步驟 2:設定 KMS 金鑰許可
根據預設,所有 AWS KMS 金鑰都是私有的。只有資源擁有者可以使用它來加密和解密資料。然而,資源擁有者可以授與其他使用者和資源存取 KMS 金鑰的許可。在此步驟中,您會給予 CloudWatch Logs 服務主體使用金鑰的許可。此服務主體必須位於存放 KMS 金鑰的相同 AWS 區域中。
根據最佳實務,建議您將 KMS 金鑰的使用限制為您指定的 AWS 帳戶或異常偵測器。
首先,使用以下 get-key-policy 命令,將 KMS 金鑰的預設政策儲存為 policy.json
:
aws kms get-key-policy --key-id
key-id
--policy-name default --output text > ./policy.json
在文字編輯器中開啟 policy.json
檔案,並從下列其中一個陳述式中加入區段 (以粗體顯示)。使用逗號從新陳述式中分隔現有陳述式。這些陳述式使用Condition
區段來增強 AWS KMS 金鑰的安全性。如需詳細資訊,請參閱AWS KMS 金鑰和加密內容。
此範例中的 Condition
區段會將金鑰 AWS KMS 的使用限制在指定的帳戶,但可用於任何異常偵測器。
最後,使用下列 put-key-policy 命令新增更新的政策:
aws kms put-key-policy --key-id
key-id
--policy-name default --policy file://policy.json
步驟 3:將 KMS 金鑰與異常偵測器建立關聯
您可以在主控台或使用 或 AWS CLI APIs 建立 KMS 金鑰時,將 KMS 金鑰與異常偵測器建立關聯。
步驟 4:取消金鑰與異常偵測器的關聯
金鑰與異常偵測器建立關聯後,您就無法更新金鑰。移除金鑰的唯一方法是刪除異常偵測器,然後重新建立它。