The specified KMS key does not exist or is not allowed to be used with Arn 'arn:aws:logs:ap-northeast-1:xxxx:log-group:StyleLog'
• 原因:
• KMS キーのポリシーに CloudWatch Logs サービスの利用許可が無かった。
• Key policy に logs.ap-northeast-1.amazonaws.com を Principal として追加する必要があった。
• 修正例(KMS キーポリシー抜粋):
{
"Sid": "Allow CloudWatch Logs",
"Effect": "Allow",
"Principal": {
"Service": "logs.ap-northeast-1.amazonaws.com"
},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Resource": "*"
}
• この設定を入れることで、CloudWatch が KMS を利用できるようになり解決。
✅ 振り返ると、今回の一番の難所は KMS ポリシー でした。 Session Manager 自体は簡単に CloudWatch に送れるけど、「暗号化する」一歩で権限地獄にハマる、という典型例でしたね 🔑