S3のAWSマネジメントコンソールはウンコ

何がウンコかって、S3を使用できるIAMユーザ全員にListAllMyBuckets権限を付与しないといけないところだ。バケット一覧が見えるようにしとかないとIAMユーザがS3を使えないという困った仕様がある。お客さんのサイトを用意した際に、IAMユーザのパスワードを発行して、「じゃ、後はS3の管理画面でファイルのアップロードをご自由にー」とすると、他のバケットが見えちゃうことになる(もちろんバケットの中身までは見れないけれど)

それを嫌ってS3クライアントを別途インストールするという方法もあるにはあるが、お客さんのところのセキュリティポリシーで許可されていないアプリのインストールが制限されていたりする場合もある。

そこで、なんとかhtmlファイルだけでお客さん専用のバケットに対してファイルのアップロード(とか削除とか)ができないか色々調べたところ、今(2014/04/20)ならChromeに限定されてしまうができることが判明した。ので、実験したコードと結果をまとめていこうと思う。