概要
AWS Cloudwatch LogsにはKey Management Store(KMS)を利用して暗号化する機能が公式で紹介されていますが、これで閲覧制限はできません。
詳細
前回に引き続いて、KMSの利用ができなかった話です。
AWSの開発環境では重要データを扱うことももちろん多いので、皆がログなどを閲覧することができないようにするためにIAMではなくてKMSを使って閲覧制限をしようと考えました。
AWSのCloudwatch Logsには、KMSのKey ARNを指定する項目があり、これがあればKMS(Customer Managemented Keys:CMKs)で暗号化できる旨が「[AWS KMS を使用した CloudWatch Logs でのログデータの暗号化]
(https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/encrypt-log-data-kms.html)」として公開されています。
KMSで特定のユーザだけ閲覧できるようにした後、他のユーザから「logが閲覧できるんだけれど」という連絡がありました。設定は間違いないようなので、AWSのサポートに連絡しました。
お世話になります。
KMS(CMK)を使用してCloudwatch LogsのLog Groupの閲覧を制限しようとしています。
以下のような設定で、期待した挙動としてはPrincipalで指定したassumed-roleユーザの私(tanaka.tarou)だけが
Cloudwatch Logsを参照できるようになることでした。
ですが、実際の挙動としては、該当のAWSアカウントにおける他にassumed-roleされたユーザも
Cloudwatch Logsを参照することができました。
assumed-roleのユーザに対してCloudwatch LogsのLog Groupを閲覧制限する方法についてご教示お願い致します。
なお、以下の設定は公式の手順に則っています。
・・・・・・・
待つことおよそ5日、ようやくAWSサポートから回答が来ました。
ロググループのデータは常に CloudWatch Logs で暗号化され、また、CloudWatch Logs はリクエストがあるといつでもデータを復元いたします。
CloudWatch Logs に対する KMS 利用の許可は、キーポリシーの "Service": "logs.<Region>.amazonaws.com" の Principal で行われております。
そのため、大変恐縮ではございますが、ユーザーやロールごとに復号を許可することは現状できません
・・・じゃあ暗号化ってなんのためにしているの?
ちなみに、これはAWS側でも検証漏れだったのだろうと思っていつ直るか聞いてみたところ、まあそう答えるだろうな、という回答でした。
他のリソースに使用しているKMSキーポリシーの挙動まで不安になりますよね。
AWS サポートでは、今後のサービス予定などに関するご質問につきましては、一般に公開された情報以外にご案内をすることができません。
そのため、KMS のキーポリシーにおけるアクセス制限が今後可能になるかに関しましてもご案内いたしかねますことをご了承くださいますと幸いでございます。
明確な回答ができず大変心苦しく存じますが、何卒ご理解賜りますようお願い申し上げます。
というわけでご注意を!!