AWSにプログラムからアクセスするときは、アクセスキーが必要。
とはいえ、アクセスキーの管理は非常に困難なのだ。
そこで下記を参考に、ベストプラクティスを自分なりにまとめた。
https://docs.aws.amazon.com/ja_jp/general/latest/gr/aws-access-keys-best-practices.html
ベストプラクティス
1. ルートユーザーのアカウントアクセスキーを削除する
- ルートユーザーのアクセスキーはなんでも見れちゃうから持たないほうがよい、削除せよ。
- IAM User に必要な権限を付与して、アプリケーションからはそのユーザーを使う。
2. 一時的なセキュリティ認証情報(IAMロール)を使う
- IAMユーザーのアクセスキーのような期限のない長期アクセスキーは悪用リスクがある。
- 管理コストもかかる。
- IAMロールを作成すれば時間制限付きの一時認証情報がを利用できる。
- AWSへの問い合わせの度に自動取得する。
3. IAMユーザーを適切に管理する
- アクセスキーを直接コードに埋め込まない。
- 異なるアプリケーションには、異なるアクセスキーを。
- アクセスキーを定期更新せよ。
- 使用してないアクセスキーを削除せよ。
- 多要素認証を設定せよ。
最後に
IAMユーザーを適切に管理するのって大変そうだな。
アプリケーションから利用する際はIAMロールを使おう。
完全に理解した。