SAA-C03セキュアなアーキテクチャの設計MEDIUM単一選択

ある企業が、EC2 インスタンス上でデータ処理アプリケーションを運用している。アプリケーションが使用する S3 バケット、DynamoDB テーブル、SQS キューへのアクセス権限を最小権限の原則に基づいて管理したい。新しいサービスが追加されるたびに権限の見直しも必要である。最も適切なアプローチはどれか。

  1. A. アプリケーションのサービスごとに別々の EC2 インスタンスを立て、それぞれのインスタンスに最小権限の IAM ロールをアタッチする。
  2. B. IAM ポリシーの代わりに S3 バケットポリシー、DynamoDB リソースポリシー、SQS キューポリシーをそれぞれ設定し、EC2 インスタンスの IAM ロールには権限を付与しない。
  3. C. 各サービスへのアクセスに必要な権限のみを含む IAM ポリシーを作成し、EC2 インスタンスにアタッチする IAM ロールに付与する。AWS IAM Access Analyzer を使って定期的に未使用の権限を特定し、ポリシーを最適化する。
  4. D. EC2 インスタンスにアドミニストレーター権限の IAM ロールをアタッチし、アプリケーション自身が必要なリソースにアクセスできるようにする。
解答と解説を見る

正解: C

必要な権限のみを IAM ポリシーで定義してロールにアタッチし、IAM Access Analyzer の未使用権限分析機能(Unused Access Analyzer)で実際に使用されていない権限を定期的に検出・削除することが最小権限の原則の継続的な実践になる。Access Analyzer は IAM コンソールや AWS Organizations から有効化でき、権限の棚卸しを自動化できる。選択肢Dのアドミニストレーター権限付与は最小権限の原則に根本的に反する。選択肢Aは機能分離の観点では有効だが、アプリ機能ごとにEC2を分割するのは過剰な対応でありコスト増につながる。選択肢Bはリソースポリシーのみを使ってEC2 ロールに権限を与えない構成だが、すべてのAWSサービスがリソースポリシーをサポートしているわけではなく(DynamoDB はリソースポリシーの機能が限定的)、管理も複雑になる。

▸ この試験を本気で演習する(全150問・無料)