EC2 上のアプリから S3 にアクセスする。認証情報の渡し方として適切なのは?
正答
- IAM ユーザーのアクセスキーをコードに埋め込む
- IAM ロールを作ってインスタンスに付与する
- ルートユーザーのアクセスキーを環境変数に置く
- S3 バケットを公開にして認証を不要にする
解説
Amazon EC2 インスタンスに IAM ロールを付与すると、インスタンス上のアプリは SDK や CLI 経由で一時的な認証情報を自動で受け取れる。鍵をファイルやコードに置かないので漏えいの心配が少なく、ローテーションも AWS 側で行われる。アクセスキーをコードに埋め込むとリポジトリや AMI 経由で漏れやすい。ルートユーザーの鍵は作らないことが推奨されており、アプリに渡すのは最も避けるべき。バケットを公開して認証をなくすのは、誰でも読める状態を作るだけで解決にならない。
この問題を含む AWS のテストを制限時間つきで解く
AWSクイズへ