A不正解
ルートユーザーのアクセスキーをコードに記述する
ルートユーザーはアカウント内で最も強力な権限を持ち、その認証情報をコードに埋め込むのは極めて危険です。
漏洩時の被害が甚大で、推奨される方法とは正反対のため不正解です。
EC2 インスタンス上のアプリケーションから Amazon S3 にアクセスさせたいとき、アクセスキーをコードに埋め込まずに一時的な認証情報で安全に権限を与える最も推奨される方法はどれですか。
EC2 のアプリに安全に権限を与える推奨方法を選ぶ問題。
ルートユーザーのアクセスキーをコードに記述する
ルートユーザーはアカウント内で最も強力な権限を持ち、その認証情報をコードに埋め込むのは極めて危険です。
漏洩時の被害が甚大で、推奨される方法とは正反対のため不正解です。
IAM ロールを EC2 インスタンスに割り当てる
正解。IAM ロールを EC2 に割り当てると、アプリは一時的な認証情報を自動で取得して S3 にアクセスできます。アクセスキーをコードに埋め込む必要がなく、認証情報は自動でローテーションされるため安全です。これがベストプラクティスです。
IAM ユーザーのアクセスキーをコードにハードコーディングする
IAM ユーザーのアクセスキーであっても、コードに直接書き込むと漏洩リスクが高く、ローテーションも手間がかかります。
一時的な認証情報を安全に使うという要件を満たさないため不正解です。
セキュリティグループでアクセスを許可する
セキュリティグループは通信(ポートや IP)を制御するファイアウォールで、AWS サービスへの権限(認証・認可)を与える仕組みではありません。
S3 への権限付与には使えないため不正解です。
『EC2 から AWS サービスへアクセス』『キーを埋め込まない』『一時的な認証情報』は IAM ロール が定石。ルート鍵やアクセスキーのハードコードは禁忌。セキュリティグループは通信制御で権限付与ではない。