S3はとても便利なものの権限周りが煩雑で結構混乱します。今回PHPを使ったWebアプリから、AWS SDKを使ってデータの書き込みを行うにはIAMの権限設定だけで問題ありません。
1.IAMにてユーザを作成する
2.そのユーザに対して、S3への全アクセスの権限を付与
3.そのユーザのアクセスキーとシークレットを取得
4.Webアプリにてそのアクセスキーとシークレットを設定し、データにアクセス
これだけでデータを扱えるようになります。
Bucketの設定画面でパブリックとか非公開とかステータスがありますが、基本的にはこちらは非公開にしておけば問題ありません。パケットポリシーも設定可能なものの、ここは未入力で大丈夫です。
インターネットにデータを全公開しないのなら、上記運用が楽で良いと思います。微妙にハマったのでメモでした。