非公開のS3オブジェクトを期間限定で渡す

署名付きURLは、発行した主体の権限で、期限内だけ対象のオブジェクトへのアクセスを許す。URLの有効期間は、署名に使った認証情報の有効期間も超えられないため、ロールの一時認証情報で発行する場合はその期限にも注意する。 利用者へ長期の認証情報を渡すことになり、管理と漏えいの危険が大きい。 バージョニングは過去の版を残す機能で、期限付きの共有はできない。 URLを知れば誰でも取得でき、期間も限定できない。

非公開のS3バケットにある請求書のPDFを、ログインした利用者だけが一定時間ダウンロードできるようにしたい。バケットは公開せず、利用者にAWSの認証情報は渡さない。

最も適切なものを1つ選択してください。

出典AWS非公式・オリジナル問題
ア
利用者ごとにIAMユーザーを作り、アクセスキーをアプリから利用者へ配る
イ
S3のバージョニングを有効にし、古いバージョンを期限付きで公開する
ウ
アプリのロールで、有効期限を付けた署名付きURLを発行して利用者へ渡す
エ
バケットのパブリックアクセスブロックを解除し、PDFのオブジェクトだけを公開する