GoogleStorageのACLについてのメモ
ACLってのはアクセス制限を定義するやつ。ここに書いてある。
http://code.google.com/intl/ja/apis/storage/docs/accesscontrol.html
- スコープごとにパーミッションを指定する
- スコープごとっていうのはユーザーごとにとか、メールアドレスごとにとか、グループ(管理画面で設定できるEditorsとかTeam)ごととか
- パーミッションっていうのはReadかWriteかFULL_CONTROLのどれか
- FULL_CONTROLはREAD/Writeってこと
- ファイルごとに、Editorsの人はFULL_CONTROLでTeamの人はREADだけ、みたいな権限の設定ができるってこと
- BucketsとObjectsではパーミッションの意味が違う
- ACLはXMLで記述する
- あらかじめ用意されたpredefined(canned)ACLsってのがあるからそれ使うと簡単
- project-privateとかprivateとかpublic-readとか色々
- Bucketsのデフォルトはproject-privateになってて、Owners、EditorsはFULL_CONTROL、TeamはREADになってる
- Objectsのデフォルトはprivateになってて自分(アップした人)だけFULL_CONTROL
という感じ。gsutilでは
$ gsutil getacl gs://<buckets>/path/to/file
ってやると設定されてるXMLが返ってくる。
設定するときはXMLのファイル名を指定するかcanned ACLsで設定する
$ gsutil setacl hoge.xml gs://<buckets>/path/to/file $ gsutil setacl project-private gs://<buckets>/path/to/file
もしくはcpのときに-aオプションで指定する
$ gsutil cp -a project-private hoge.txt gs://<buckets>
今のところWebのUIからはACL設定できなさそげ。
あと、ObjectsのデフォルトのACLをproject-privateにしたいけどできなさそう。