Qraft(クラフト) 資格・学習クイズアプリ

AWS Certified Solutions Architect Associate(SAA-C03) 練習問題 4:タスクロールとEC2インスタンスロールとの使い分け

AWSでアプリケーションがAWSリソース(S3やDynamoDBなど)にアクセスする際のIAM権限付与に関して、正しい説明はどれか。

  1. EC2インスタンス上で動くアプリケーションにはIAMユーザーのアクセスキーをコードにハードコードするのが推奨される方法である。
  2. ECSタスクで動くコンテナアプリケーションにはEC2インスタンスロールをタスクに適用することで権限を付与する。
  3. EC2インスタンスロールはEC2インスタンスにアタッチするIAMロールであり、インスタンス上のアプリケーションはインスタンスメタデータ経由で一時的な認証情報を取得できる。
  4. ECSタスクロールとEC2インスタンスロールは同一の概念であり、どちらも同じ方法でコンテナとインスタンスの両方に適用できる。
  5. Lambda関数にAWSリソースへのアクセス権を与える場合は、リソースベースポリシーのみで設定するのが正しい方法であり、Lambda実行ロール(IAMロール)のアタッチは不要である。

Qraftユーザーの成績:正答率 40%(4/10回正解)

正解と解説を見る
正解:EC2インスタンスロールはEC2インスタンスにアタッチするIAMロールであり、インスタンス上のアプリケーションはインスタンスメタデータ経由で一時的な認証情報を取得できる。

AWSリソースへのアクセス権限をアプリケーションに付与する際、IAMユーザーのアクセスキーをコードにハードコードすることはセキュリティリスクが高く、AWSのベストプラクティスでは禁止されています。

正しいのは「EC2インスタンスロールをインスタンスにアタッチすることで、インスタンスメタデータ経由で一時的な認証情報を取得できる」という内容です。EC2インスタンスにIAMロールをアタッチすると、インスタンスメタデータサービス(IMDS)を通じて自動的に一時クレデンシャルが提供されます。

ECSの場合は「ECSタスクロール(Task Role)」を別途設定します。ECSタスクロールはタスク定義で指定し、コンテナ内のアプリケーションに対してAWSリソースへのアクセス権を付与します。EC2インスタンスロールはECSコンテナランタイムが使うロール(ECSコンテナエージェントの権限)であり、タスク内のアプリケーションが使うタスクロールとは別物です。この使い分けを正しく理解することがSAA試験の重要ポイントです。

← 前の問題問題一覧次の問題 →
アプリで解いてレーティングを上げる(無料・登録不要)