ポリシーを追加しようとしたらなんか出た!!
DjangoからS3へメディアをアップロードしたいなぁと思ってdjango-storageのドキュメント通りにJSONをコピペしたのだが、
このポリシーには、「Has prohibited field Principal」というエラーが含まれています For more information about the IAM policy grammar, see AWS IAM Policies
とエラーが出てしまい、手詰まりに・・・
慣れてないAWSなので詰まるのは予想していたが、早々にエラーにぶつかってしまった。
なんでこうなったのかすら分からず、権限周りの設定等で問題があるのかと思いググっていく。
そもそもの勘違い
DjangoからIAMでユーザーを作成し、管理する際はグループを作成してAmazonS3FullAccess
のアクセス権限を付与したものに対してユーザーを所属させるべきであり、ユーザーにポリシー云々を直接付与するということではないらしい・・・?
少なくとともこれららのリンクではそういった方法が取られており、それに従うのがより簡単な方法っぽいのでこちらを採用する。
- https://qiita.com/okoppe8/items/7ecbc92187171926238f
- https://simpleisbetterthancomplex.com/tutorial/2017/08/01/how-to-setup-amazon-s3-in-a-django-project.html
なお、これらはテスト的にS3を使った実験であるためクローズドなものであるため、実際に運用する際にはセキュリティ的な観点などから管理することも考えなければならなさそう。