SAP-C02既存のソリューションの継続的な改善HARD単一選択

ある企業が AWS 上で稼働する Lambda 関数が Amazon S3 の特定バケットにアクセスするための IAM ロールを持っています。セキュリティ審査で「この Lambda 関数の IAM ロールは必要以上に広い権限を持っている(S3 の全操作が許可されている)」との指摘を受けました。実際に Lambda が使用している S3 API アクションのみに権限を絞り込みたいと考えています。最もデータドリブンなアプローチはどれですか?

  1. A. Lambda のコードを手動でレビューして使用している S3 API を特定し、そのアクションのみを許可する IAM ポリシーを作成する
  2. B. S3 の一般的なベストプラクティスポリシーを検索してそのまま適用する
  3. C. AWS IAM Access Analyzer の「未使用アクセス」分析機能を使って Lambda のロールが過去 90 日間に実際に使用した API アクションを確認し、未使用のアクションを削除して最小権限ポリシーを生成する。Access Analyzer のポリシー生成機能(Generate policy based on access activity)でアクティビティに基づく最小権限ポリシーを自動生成する
  4. D. S3 バケットに対して GetObject と PutObject のみを許可するポリシーをすべての Lambda に一律適用する
解答と解説を見る

正解: C

IAM Access Analyzer のポリシー生成機能は CloudTrail ログを分析し、ロールが実際に使用した API アクションと条件を基にした最小権限ポリシーを自動生成します。手動レビューより正確で、Lambda が実際に呼び出している S3 API のみを反映したポリシーが得られます。これがデータドリブンな最小権限実現の AWS 推奨アプローチです。 B: 一般的なベストプラクティスポリシーは過剰な権限を含む可能性があり、特定の Lambda の実際の使用パターンを反映していません。 A: コードの手動レビューは有効ですが、ライブラリや SDK が内部で呼び出す API コールが漏れるリスクがあります。Access Analyzer の実際のアクティビティ分析の方が正確です。 D: 一律の GetObject と PutObject 適用は、他の S3 アクション(ListBucket など)が必要な Lambda で機能障害を引き起こす可能性があります。

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