最小権限のセキュアアーキテクチャ(EC2インスタンスロール)難易度 標準無料
EC2上で稼働するアプリケーションがAWS APIを呼び出す際、IAMユーザーの長期アクセスキーをアプリケーションの設定ファイルに埋め込む代わりに、EC2インスタンスプロファイル経由のIAMロールを使うべき理由として正しいものを2つ選べ。
- AインスタンスロールはEC2メタデータサービス経由で一時的な認証情報を自動配布・自動ローテーションするため、長期アクセスキーをアプリ設定に埋め込んで手動管理・手動ローテーションする必要がなくなる
- Bインスタンスロールを使えば、そのロールにIAMポリシーをアタッチしなくてもEC2上のアプリケーションは自動的にすべてのAWSリソースへフルアクセスできる
- C万一インスタンスが侵害されても、ロールの認証情報は自動的に定期更新される短期間の一時クレデンシャルであるため、長期アクセスキーが漏えいした場合に比べ悪用できる時間的な窓が限定される
- Dインスタンスロールの認証情報はローテーションされることが一切なく、インスタンスのライフタイム全体を通じて同一の認証情報が固定的に使われ続ける
正解・解説・誤答理由・ひっかけを見る▼ open
✓ 正解:AAI作成・独立検証済
解説
EC2インスタンスロールは、Well-Architectedフレームワークのセキュリティの柱が推奨する「長期認証情報を避ける」ベストプラクティスの代表例である。
- ロールの認証情報はインスタンスメタデータサービス(IMDS)経由で自動的に発行・定期的に自動ローテーションされる一時的なセキュリティ認証情報であり、 開発者が長期アクセスキーを設定ファイルへ埋め込んで手動管理・手動ローテーションする必要がなくなる。
- この一時認証情報には有効期限があり自動的に更新され続けるため、万一インスタンスが侵害されても、 漏えいした認証情報が悪用できる時間的な窓は、失効しない長期アクセスキーが漏えいした場合に比べて限定的になる。
なお、ロールを使う場合でもアタッチする権限ポリシー自体は別途必要であり(自動的にフルアクセスになるわけではない)、 またロールの認証情報はローテーションされないわけではなく、定期的に自動更新されるという点を混同しないこと。
- Bロールにも権限ポリシーを明示的にアタッチする必要がある。ロールを使うだけで自動的にフルアクセスになるわけではない。
- D事実に反する。インスタンスロールの一時認証情報はIMDS経由で定期的に自動更新(ローテーション)される。固定的に使われ続けるのは長期アクセスキーの方の性質。
ひっかけ: 「ロールを使えばIAMポリシーの付与が不要になる(B)」「ロールの認証情報は一切ローテーションされない(D)」はいずれも典型的な誤解。
ロールにも権限ポリシーは必要であり、むしろロールの利点は認証情報が自動でローテーションされ続けることにある。
公式ドキュメント・関連IAM User Guide ― IAM roles for Amazon EC2↗AWS General Reference ― Security best practices in IAM↗
AIが作成し、独立した検証を経た解説です(有資格者による監修は経ていません)