概要
- 調査で利用した
- AWSコンソールだとリージョンごとにフィルタしないと確認できないから面倒なのでAWS CLIを利用する
- その時のメモ
準備
- Dockerでやった
- 認証情報は試したディレクトリに
aws/config
を用意した
$ mkdir aws
$ touch aws/config
# 内容保存(省略)
$ cat aws/config
[default]
aws_access_key_id = xxx
aws_secret_access_key = yyy
作ったやつ
#!/bin/bash
ALL_REGION=(`docker run --rm -w /app -e AWS_PAGER="" -v $(pwd):/app -v $(pwd)/aws:/root/.aws -it amazon/aws-cli:latest --region us-west-1 ec2 describe-regions --all-regions --query 'Regions[].[RegionName]' --output text`)
for region in ${ALL_REGION[@]}
do
echo '-----------'
echo "[${region}]"
docker run --rm -w /app -e AWS_PAGER="" -v $(pwd):/app -v $(pwd)/aws:/root/.aws -it amazon/aws-cli:latest cloudtrail lookup-events --lookup-attributes "AttributeKey=EventName,AttributeValue=StartLogging" --start-time 2024-01-01 --region ${region} --query "Events[*].[Username, EventName, EventTime, Resources]"
echo '-----------'
done
Dockerのコマンド部分を変数にできたらもっと省略できそう(当時一旦よし!でやっちゃった)
補足
- 全リージョン取得するコマンドに
--region us-west-1
がついているけど、リージョン指定しないとなぜかコマンドが動かない - CloudTrailで検索したい対象と値を変更したい場合は
--lookup-attributes "AttributeKey=xxx,AttributeValue=yyy"
を変更すればよい - https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events-cli.html#look-up-events-by-attributes
参考URL