私は、非常に一般的なユースケースであるべきだと思うことに触れている投稿をたくさん読んできましたが、私が望むものや、それができない単純な理由を正確に見つけることはできませんでした.
S3にいくつかのファイルがあります。私が構築したフロントエンドを介して、特定のユーザーに特定のファイルへのアクセスを許可できるようにしたいと考えています。
これまでのところ、私はそれを次のように機能させました:
- 組み込みのユーザーとグループを使用して、Djangoでフロントエンドを構築しました
- S3 バケットをミラーリングするバケットのモデルがあります。
- S3 権限を表すグループからバケットへの m2m 関係があります。
- ユーザーはログインし、Django のユーザーに対して認証を行います。
- ユーザーが表示できるバケットのリストを Django から取得します。
- boto を使用して、それらのバケットからファイルへのリンクのリストを取得し、ユーザーに表示します。
これは機能しますが、理想的ではなく、気分も良くありません。バケットのミラーを保持する必要があり、AWS にすべてが組み込まれている場合、ユーザー/パスワードとアクセス許可の独自のリストも維持する必要があります。
私が本当に望んでいるのは、IAM でユーザーを作成し、IAM でグループ権限を使用して S3 バケットへのアクセスを制御することです。データや機能の重複はありません。私のアプリはユーザーに UN/PW を要求し、それを使用して IAM/S3 に接続し、バケットとファイルのリストを取得してから、ユーザーへのリンクを表示します。単純。
どうすればできますか、またはなぜできませんか?
私はこれを間違った方法で見ていますか?
これに対処する「正しい」方法は何ですか (私は推測します) 非常に一般的なユースケースですか?