7

私はこれを理解することはできません。

これが私が起こりたいことです...

ユーザーが boto と django を使用してファイルを S3 にアップロードするアプリケーションがあります。これらのファイルを非公開にし、API 資格情報を使用してアプリからのみアクセスできるようにしたいと考えています。

したがって、ユーザーが私のアプリを介して写真をアップロードした場合、そのユーザーまたは他の誰かがそれをダウンロードできる唯一の方法は、私のアプリのアカウントを介することです。これは可能ですか。可能であれば、boto の ACL ルールを使用して設定するにはどうすればよいですか。コードは必要ありません。(できれば) それを理解できると思います。

これは理にかなっていますか?私はそれをうまく伝えていないことを知っており、前もってお詫び申し上げます。また、助けてくれてありがとう。

4

3 に答える 3

7

boto の ACL のドキュメントはこちらです。「既定のポリシー」を使用することをお勧めしprivateます。ユーザーはいずれにせよ S3 アカウントを持っていないため、これが最も単純なアイデアです。もちろん、アプリはどのユーザーがどのファイルを「所有」しているかを追跡する必要があります (これは非常に単純な Django モデルである必要があります)。

于 2010-08-17T02:08:03.647 に答える
5

達成したいことに対して間違った領域を探している可能性があると思います。ACL インターフェイスを使用するとアクセス許可を付与できますが、それらは Amazon S3 アカウントを持つユーザーに依存します。@Alex Martelli は、既定のprivateポリシーを使用することを提案しました。同意します — これにより、自分以外のアカウントがバケット/キーにアクセスできなくなります。

ユーザーが独自のアプリケーションからのみダウンロードできるようにするには、URL を生成するexpires_inときにパラメーターに小さな値を渡すだけです。ユーザーはアプリケーションを介してのみ有効なダウンロード リンクを取得し、そのリンクはダウンロード後に無効になります。

于 2010-08-17T02:18:34.677 に答える
2

django-storagesには、この問題に対するメソッドが既にあり、boto バックエンドがあります。教化を除いて、自分自身を転がさないでください。

于 2011-04-13T21:00:21.423 に答える