Q95 — AWS SAA-C03 第14章

第 95/100 問 | ← 第14章

Q1095. メディア企業がAWS上でWebアプリケーションをホストしています。このアプリケーションは、ユーザーが動画をアップロードおよび閲覧できる機能を提供しており、動画はAmazon S3バケットに保存されています。同社は、認証済みユーザーのみが動画をアップロードできるようにしたいと考えています。また、認証済みユーザーは、認証後に指定された時間枠内でのみ動画をアップロードできる必要があります。これらの要件を満たす、運用オーバーヘッドが最も少ないソリューションはどれですか?

正解: B. ユーザーが認証された際に事前署名付きURL(pre-signed URL)を生成するAWS Lambda関数を作成する。

解説

認証済みユーザーのみが指定された時間枠内で動画をアップロードできるようにするという要件を満たすための最適なソリューションを判断するには、各選択肢を検討します。A:アプリケーションが直接一時的なIAM資格情報を生成する方法は、実装ミスによるセキュリティリスクや、アプリケーションがIAM資格情報の作成・管理権限を持つ必要がある点から、運用負荷とセキュリティリスクが高くなります。B:Lambda関数でユーザー認証時に事前署名付きURLを生成する方法は、S3への一時的かつ制限付きアクセスを安全・簡潔に実現できます。このURLには有効期限を設定でき、指定された時間枠に完全に対応可能です。Lambdaはサーバーレスであり、インフラ管理不要のため運用オーバーヘッドが最小限です。C:Amazon Cognitoと連携するカスタム認証サービスの開発・保守は、追加の開発コストと複雑さを伴い、運用オーバーヘッドが大幅に増加します。D:AWS STSによるIAMロールの仮定は、ロールおよびポリシーの管理、アプリケーション側でのロール仮定処理など、追加の複雑さと運用負荷を伴います。したがって、運用オーバーヘッドを最小限に抑えつつ要件を確実に満たすには、選択肢Bが最も適しています。Lambdaによる事前署名付きURL生成は、セキュアでシンプル、かつサーバーレスであるという利点を活かし、S3資格情報の露出を回避しながら一時的アクセスを実現します。