SAA-C03:AWS Certified Solutions Architect - Associate セキュアなアーキテクチャの設計 問3
セキュアなアーキテクチャの設計/AWS リソースへのセキュアなアクセスの設計EC2 上で動くアプリケーションが S3 と DynamoDB にアクセスします。認証情報の管理負担と漏えいリスクを最小化する、最も適切な方法はどれですか。
当サイトのオリジナル問題(SAA-C03:AWS Certified Solutions Architect - Associateの出題範囲「セキュアなアーキテクチャの設計」に対応。実際の試験問題ではありません)
- Aアプリケーションのコードにアクセスキーをハードコードする
- BEC2 内のファイルにアクセスキーを配置して読み込ませる
- C必要最小限の権限を持つ IAM ロールを EC2 にアタッチ(インスタンスプロファイル)し、自動的に更新される一時認証情報を使わせる
- Dすべての EC2 に管理者権限を持つロールを付与する
正解:C
解説
EC2 上のアプリに AWS リソースへのアクセス権を与えるときは、IAM ロールをインスタンスにアタッチ(インスタンスプロファイル)するのがベストプラクティスです。アプリはインスタンスメタデータから自動的に更新される一時認証情報を取得でき、アクセスキーをコードやファイルに置く必要がなくなります。付与する権限は最小権限の原則に従って絞り込みます。
選択肢ごとの解説
- A誤り。コードへのハードコードは漏えいリスクが高く、キーのローテーションも困難です。
- B誤り。ファイルにアクセスキーを置く方法も漏えいリスクが残り、管理負担も大きくなります。
- C正しい。IAM ロールを EC2 にアタッチすれば、自動更新される一時認証情報を使え、キー管理の負担とリスクを最小化できます。
- D誤り。すべての EC2 に管理者権限を与えるのは最小権限の原則に反し、侵害時の影響が大きくなります。