0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ControlTowerで集約したCloudTrailのログをAthenaで検索したときにエラーが出た

Posted at

サマリ

  • ControlTowerでログアーカイブアカウントに保管しているCloudTrailを検索しようとしたらエラーが出た
  • テーブル設計はドキュメント通りで問題無くクエリ可能なはず
  • IAM側の権限は必要十分だった

本文

Athenaを使ってAWSが生成するログを検索する場合のテーブル定義については以下にまとまっているのでこれを使ってサクッとテーブルを作る
AWS のサービス ログのクエリ
https://docs.aws.amazon.com/ja_jp/athena/latest/ug/querying-aws-service-logs.html

クエリを投げるとオブジェクトに対しての権限が足りない旨が表示されている。
この権限が足りないってのがハマったポイントでした。実際にオブジェクトを見に行ったら権限エラーが出たんですが、詳細を呼んでみると復号化が出来ていないみたいだったのでピンと来ました。

他のアカウントのユーザーに KMS キーの使用を許可する
https://docs.aws.amazon.com/ja_jp/kms/latest/developerguide/key-policy-modifying-external-accounts.html

ドキュメントを参考にControlTowerの管理アカウントのKMSにポリシを追加する。

 {
            "Sid": "Allow a LOG ACCOUNT to use this KMS key",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::ACCOUNT_ID:root"
            },
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "*"
        }

手元の検証用なのでロール単位ではなく、アカウントレベルで今回は許可を与えた。

結論

ControlTowerででKMSの暗号化を有効化していて、KMSのキーポリシに許可を書いていないだけだった。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?