Ruby on Railsを用いたアプリケーションで、carrierwave gemを利用して画像アップロード機能を実装しました。
また、画像アップロード先はAmazon Web ServicesのS3であり、CloudFrontを利用して画像配信を行うところまでは出来ております。
その上で、当該アプリケーションには「User」、「Admin」、「SuperAdmin」というモデルがあり、モデル毎に画像の閲覧制限を実装したいです。
要件は以下です。
・「Admin」は特定の「User」宛に画像を送信できる。
・「User」は、自分宛に送信された画像しか閲覧ができない。
・「Admin」は、自分が送信した画像しか閲覧ができない。
・「SuperAdmin」は全ての画像を閲覧できる
画像はアルバム機能を付しており、「Album」(アルバム)と「Image」(画像)が多対多の関係で、「Admin」は「User」宛に「Album」を送信します。
現状Railsの機能としては閲覧制限が出来ていますが、万が一URLが流出した際に全ての画像が第三者に見られてしまいます。
上記要件を満たすためのS3、CloudFrontの設定、Railsアプリケーション内での対応方法をご教示いただきたいです。
ぜひアドバイスよろしくお願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。