CircleCIでセキュリティインシデントが発生してしまったようです。1
漏洩した恐れのあるAWSのアクセスキーのリストがAWSから送られてきました。
対処としてはキーをローテートすればよいそうです。
ただAWSアカウント、IAMユーザーともにそれなりの数があり、対象のキーをすべてマネジメントコンソールから手作業で確認するのは骨が折れそうです。調べたところAWS CLIで確認できるそうで便利でした。
確認は二段階で、
- AWSアカウントの特定
- IAMユーザーの特定
になります。AWSアカウントはAWS CLIで該当のAWSアカウントの権限が無くても確認できるようです。JWTのようにアクセスキー内にアカウント情報が入っているのかもしれません。
アクセスキーからAWSアカウントを調べる
sts get-access-key-info
を使い、AKIAxxxxxxxxxxxxxx
というキーに付いて調べるときには下記のようにします。
$ aws sts get-access-key-info --access-key-id AKIAxxxxxxxxxxxxxx
{
"Account": "xxxxxxxxxxx"
}
アクセスキーからIAMユーザーを調べる
AWSアカウントがわかったら、該当のAWSアカウントへの権限があるプロファイルを指定して iam get-access-key-last-used
を使って調べます。
下記では someAWSprofile
というプロファイルで、 AKIAxxxxxxxxxxxxxx
というアクセスキーの確認をします。
$ aws --profile someAWSprofile iam get-access-key-last-used --access-key-id AKIAxxxxxxxxxxxxxx
{
"UserName": "some_iam_user_account",
"AccessKeyLastUsed": {
"LastUsedDate": "2025-01-01T00:00:00+00:00",
"ServiceName": "ec2",
"Region": "ap-northeast-1"
}
}
もしエラーになった場合には該当のIAMユーザーがいないそうです。
終わり
該当ユーザーについては不要そうであれば削除、引続き使う場合にはキーのローテートをすればよいそうです。