EC2 インスタンス上のアプリケーションから Amazon S3 にアクセスさせたいとき、アクセスキーをコードに埋め込まずに一時的な認証情報で安全に権限を与える最も推奨される方法はどれですか。

1 / 1
回答を選択してください
正解B

解説

EC2 のアプリに安全に権限を与える推奨方法を選ぶ問題。

  • 1アクセスキーをコードに埋め込まず長期的なキーのハードコードを避ける
  • 2一時的な認証情報自動取得・自動ローテーションされる認証情報=IAM ロール
  • 3安全に権限を与える漏洩リスクを抑えた権限付与
A不正解

ルートユーザーのアクセスキーをコードに記述する

ルートユーザーはアカウント内で最も強力な権限を持ち、その認証情報をコードに埋め込むのは極めて危険です。

漏洩時の被害が甚大で、推奨される方法とは正反対のため不正解です。

B正解

IAM ロールを EC2 インスタンスに割り当てる

正解。IAM ロールを EC2 に割り当てると、アプリは一時的な認証情報を自動で取得して S3 にアクセスできます。アクセスキーをコードに埋め込む必要がなく、認証情報は自動でローテーションされるため安全です。これがベストプラクティスです。

C不正解

IAM ユーザーのアクセスキーをコードにハードコーディングする

IAM ユーザーのアクセスキーであっても、コードに直接書き込むと漏洩リスクが高く、ローテーションも手間がかかります。

一時的な認証情報を安全に使うという要件を満たさないため不正解です。

D不正解

セキュリティグループでアクセスを許可する

セキュリティグループは通信(ポートや IP)を制御するファイアウォールで、AWS サービスへの権限(認証・認可)を与える仕組みではありません。

S3 への権限付与には使えないため不正解です。

ポイント

『EC2 から AWS サービスへアクセス』『キーを埋め込まない』『一時的な認証情報』は IAM ロール が定石。ルート鍵やアクセスキーのハードコードは禁忌。セキュリティグループは通信制御で権限付与ではない。