Q91 — AWS SAA-C03 第13章

第 91/100 問 | ← 第13章

Q991. ある企業がAWS上でアプリケーションを構築しています。このアプリケーションでは、複数のAWS Lambda関数が、処理のために単一のAmazon S3バケットから機密データを取得します。企業は、許可されたLambda関数のみがそのデータにアクセスできるようにする必要があります。また、このソリューションは最小権限の原則(principle of least privilege)を満たさなければなりません。これらの要件を満たすソリューションはどれですか?

正解: C. 各Lambda関数ごとに個別のIAMロールを作成し、そのIAMロールにS3バケットへのアクセス権限を付与する。その後、各IAMロールを対応するLambda関数のLambda実行ロールとして割り当てる。

解説

機密データを格納する単一のAmazon S3バケットへのアクセスを、許可されたAWS Lambda関数のみに制限し、かつ最小権限の原則を遵守するには、以下の選択肢Cが最も適したソリューションです。C:各Lambda関数ごとに個別のIAMロールを作成し、そのIAMロールにS3バケットへのアクセス権限を付与する。その後、各IAMロールを対応するLambda関数のLambda実行ロールとして割り当てる。解説:個別のIAMロールの活用:各Lambda関数に対して専用のIAMロールを作成することで、各関数が実際に必要とする最小限のS3アクセス権限(例:特定のオブジェクトに対するGetObjectのみ)のみを付与できます。これにより、最小権限の原則が厳密に適用され、過剰な権限によるリスクが排除されます。Lambda実行ロールの活用:各Lambda関数に適切なIAMロールを実行ロールとして割り当てることで、関数単位でのきめ細かなアクセス制御が可能となり、機密データへの不正アクセスリスクを最小限に抑えられます。他の選択肢の検討:A:共有IAMロールによるフルアクセス付与——これは、各関数の実際の必要性を超えた広範な権限を付与するため、最小権限の原則に明確に反します。B:VPCおよびVPCエンドポイントIPアドレスに基づく制御——ネットワークレベルの制約は補完的手段にはなり得ますが、アクセス許可の主体(誰がアクセスできるか)をIAMで明示的に管理するというAWSのベストプラクティスに反し、運用上の複雑さと信頼性の低下を招きます。D:バケットポリシーによる関数ARNベースの制御——理論的には可能ですが、Lambda関数の数が増えればポリシーの管理が困難になり、保守性・拡張性に劣ります。また、バケットポリシーはリソース所有者(S3側)の視点で制御するものであり、Lambda関数側のアイデンティティ(実行ロール)を直接制御するIAMベースの方法より、セキュリティ境界が曖昧になります。結論として、選択肢Cは、最小権限の原則を厳密に遵守しつつ、セキュリティ性・保守性・拡張性のいずれにおいても最適なソリューションです。