Q48 — AWS SAA-C03 第17章

第 48/89 問 | ← 第17章

Q1348. ある会社は、複数のアプリケーションを Amazon EC2 インスタンス上で実行しています。また、設定ファイルを Amazon S3 バケットに保存しています。ソリューションアーキテクトは、これらのアプリケーションが設定ファイルにアクセスできるようにする必要があります。その際、AWS のセキュリティに関するベストプラクティスに従わなければなりません。この要件を満たすソリューションはどれですか?

正解: C. IAM ロールを使用して、アプリケーションに必要な権限を付与する。

解説

正解は C です。「IAM ロールを使用して、アプリケーションに必要な権限を付与する」。解説:要件は、Amazon EC2 インスタンス上で実行されるアプリケーションが、Amazon S3 バケットに格納された設定ファイルに安全にアクセスできることです。また、AWS のセキュリティに関するベストプラクティス(例:固定資格情報の使用回避、最小権限の原則)に従う必要があります。選択肢 C が正しい理由:EC2 インスタンス用 IAM ロールにより、インスタンスは自動的に一時的な AWS 資格情報を取得できます(インスタンスメタデータサービス経由)。アプリケーションコードや設定ファイル内に静的なアクセスキーを管理・格納する必要がなく、ロールにアタッチされた IAM ポリシーで権限をきめ細かく制御できます。AWS のベストプラクティスでは、EC2 インスタンスに対して長期的な資格情報(アクセスキー)ではなく、IAM ロールの使用が強く推奨されています。これは、セキュリティ性が高く、資格情報のローテーションなども自動的に行えるため、運用も容易です。他の選択肢が不適切な理由:A:AWS アカウントのルートユーザーのアクセスキーを使用するのは極めて危険です。ルートユーザーはすべての AWS リソースに対する完全なアクセス権を持ち、アプリケーションでの使用は厳禁です。最小権限の原則に反し、重大なセキュリティ侵害リスクを招きます。B:AWS アクセスキー ID とシークレットアクセスキーをアプリケーションコードや設定ファイルにハードコードまたは保存するのは、資格情報の漏洩・盗難リスクがあり、セキュリティ上問題があります。AWS は、EC2 インスタンスには長期的な資格情報ではなく IAM ロールの利用を推奨しています。D:S3 バケットにおける MFA およびバージョニングの有効化は、データ保護の観点からは有益ですが、EC2 上のアプリケーションが S3 に認証・アクセスするための手段を提供しません。これはアクセス制御ではなく、データの安全性向上に関する対策です。正しいアプローチ(選択肢 C):S3 バケットへの読み取り権限(例:s3:GetObject)を持つ IAM ロールを作成し、それを EC2 インスタンスにアタッチします(AWS マネジメントコンソール、CLI、または SDK を使用)。その後、EC2 上のアプリケーションは AWS SDK や CLI を使って、明示的な資格情報を指定することなく S3 バケットにアクセスできます(SDK が自動的にインスタンスメタデータから一時的な資格情報を取得します)。例:ロールにアタッチする IAM ポリシー(JSON 形式):{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": ["s3:GetObject"], "Resource": ["arn:aws:s3:::your-config-bucket/"] }]}結論:選択肢 C は、EC2 上のアプリケーションが S3 リソースにアクセスするための、唯一安全かつ AWS が推奨するソリューションです。ハードコードされた資格情報の使用を排除し、最小権限の原則を遵守します。