0

これに対する答えを探してみましたが、おそらく間違った用語を使用していると思うので、これを試してみます.

私は会社が複数のユーザーを持つアカウントを持つことができる Rails アプリを持っており、それぞれにさまざまな権限などがあります。システムの一部はファイルをアップロードする機能であり、ストレージ用に S3 を検討しています。私が欲しいのは、会社 A のユーザーはその会社に関連付けられたファイルのみをダウンロードできると言う機能ですか?

ダウンロードを展開サーバーの IP 範囲 (Heroku になります) に制限し、コントローラーと send_file() 呼び出しを介してファイルをフィードしない限り、ダウンロードできないという印象を受けます。これは機能しますが、S3 から Heroku にデータを読み込んでからユーザーに戻すのではなく、S3 からユーザーに直接読み込んでいます。

send_file メソッドを使用した場合、S3 サーバーを外部に対して閉じて、Heroku アプリにファイルを直接送信させることはできますか?

私が持っていた安全性の低いアイデアは、ファイルごとに一意のスラッグを作成し、その名前で保存して、ファイルのランダムな推測http://mys3server/W4YIU5YIU6YIBKKD.jpgなどを防ぐことでした.これは迅速で汚いですが、100%安全ではありません.

4

1 に答える 1

0

Amazon S3 バケットは、さまざまな条件に基づいてアクセスを許可または拒否するためのポリシーをサポートしています。おそらくそれらを使用して、さまざまなユーザーグループからファイルを保護できます。ポリシーのドキュメントを見て、何が可能かを理解してください。その後、AWS ポリシー ジェネレーターに切り替えて、必要に応じて有効なポリシーを生成できます。

于 2012-10-20T08:02:45.043 に答える