CircleCI 1.0 の AWS Permissions で設定した AWS Credentials をローテーションする
Posted on
CircleCI に設定した AWS Credentials のローテーションでハマったのでメモしておきます。
以前は AWS Permissions という項目から設定していましたが、CircleCI 2.0 に移行してからは Environment Variables で設定するようになりました。ビルドの設定画面からも AWS Permissions の項目はなくなっています。
IAM のベストプラクティスに則り Credentials をローテーションしようとしましたが、Environment Variables に AWS_ACCESS_KEY_ID
と AWS_SECRET_ACCESS_KEY
を設定しても古い Credentials が使われ続けました(CloudTrail で確認しました)。
ここまででわかったことは、
- CircleCI 1.0 の AWS Permissions で設定した Credentials がどこかに残っている
- Environment Variables よりも AWS Permissions の設定が優先される
ということで、AWS Permissions で設定した Credentials を消さないとローテーションできないことがわかりましたが、消そうにも設定画面に項目がないので手詰まりになりました。
ドキュメントにも載っていないのでサポートに問い合わせしようと思いましたが、設定画面の URL を見て直打ちしてみると AWS Permissions のページが表示されました (笑) AWS Permissions の設定は /gh/(organization)/(project)/edit#aws
でアクセスできます。
"Clear AWS keys" で Credentials を消せば Environment Variables で設定した新しい Credentials が使われるようになりました。