これに対する答えを探してみましたが、おそらく間違った用語を使用していると思うので、これを試してみます.
私は会社が複数のユーザーを持つアカウントを持つことができる Rails アプリを持っており、それぞれにさまざまな権限などがあります。システムの一部はファイルをアップロードする機能であり、ストレージ用に S3 を検討しています。私が欲しいのは、会社 A のユーザーはその会社に関連付けられたファイルのみをダウンロードできると言う機能ですか?
ダウンロードを展開サーバーの IP 範囲 (Heroku になります) に制限し、コントローラーと send_file() 呼び出しを介してファイルをフィードしない限り、ダウンロードできないという印象を受けます。これは機能しますが、S3 から Heroku にデータを読み込んでからユーザーに戻すのではなく、S3 からユーザーに直接読み込んでいます。
send_file メソッドを使用した場合、S3 サーバーを外部に対して閉じて、Heroku アプリにファイルを直接送信させることはできますか?
私が持っていた安全性の低いアイデアは、ファイルごとに一意のスラッグを作成し、その名前で保存して、ファイルのランダムな推測http://mys3server/W4YIU5YIU6YIBKKD.jpg
などを防ぐことでした.これは迅速で汚いですが、100%安全ではありません.