LoginSignup
31
31

More than 5 years have passed since last update.

Google Cloud Storage ACL

Last updated at Posted at 2014-04-10

GCS ACL について

Google Cloud StorageはBlobstoreと違い、ACLによるアクセス制御ができる。

設定できるスコープ

  • Google Storage ID
  • Google account email address
  • Google group email address
  • Google Apps domain
  • Special identifier for all Google account holders
  • Special identifier for all users

Google Storage ID

Googleアカウント,Google Groupの識別するための64進数の文字列。
内部で利用しているIDのようで、意識することはない。

Google account email address

Google Accountのemail address
1人ずつUserを登録できる。
GAEからGCSを利用する場合、GAEのaddressはこのスコープで設定する。(DefaultGcsBucketについては設定しなくても良いようだ。)

Google group email address

Google Groupのemail address
特定のGoogle Groupに所属しているUserにだけ利用させたい場合に設定する。

Google Apps domain

Google Appsのdomain
特定のGoogle AppsのdomainのUserにだけ利用させたい場合に設定する。

Special identifier for all Google account holders

Google accountにログインしているUser
Google accountにさえログインしていれば、だれでもよいという設定

Special identifier for all users

全User
認証がない状態

ACLを設定する対象

  • Objects
  • Buckets

Objects

ファイル。
Cloud Consoleからフォルダを作ることができるが、フォルダにはACLを設定することができない。
フォルダはあくまで階層構造を表現することができるのみ。

Buckets

バケット。
BucketのACLはあくまでそのBucketに対するもので、中に入っているObjectsには関与しない。
BucketのREADを持っていても、中のObjectのREADを持っていない場合、そのObjectを読むことはできない。

権限の種類

  • NONE
  • READ
  • WRITE
  • FULL_CONTROLL

NONE

権限無し

READ

Objects

そのObjectをDownloadすることができる。

Buckets

Bucketの中に入っているObject一覧を見ることができる。

WRITE

Objects

WRITEはObjectには設定できない。

Buckets

Bucketの中にObjectsを書くことができる

FULL_CONTROL

Objects

READが可能な上に、ACLの閲覧,変更ができる。

Buckets

READ,WRITEが可能な上に、ACLの閲覧,変更ができる。

Default ACL

新しくファイルをUploadした場合のACLは、Bucketに設定されているDefault ACLが適用される。
BucketのACLが設定されるわけではないので、注意が必要。
Default ACLはBucketの設定として保存されているので、Developers Consoleで編集したいbacketのOptionから オブジェクトの既定の権限を編集 を選択して編集する。
もしくは、Command Line Toolであるgsutilを使って、編集する。
gsutilを利用して、Default ACLを取得するためのcommandは以下。

gsutil defacl get gs://{your bucket name}

gsutil command sample

他のcommandはDocumentを参照のこと

  • 対象のbucketのACLを取得
gsutil acl get gs://{your bucket name}
gsutil acl ch -u hoge@example.com:WRITE gs://{your bucket name}
  • 対象のbucketのObject一覧を取得
gsutil ls gs://{your bucket name}
  • Local FileをGCSにCopy
gsutil cp hoge.txt gs://{your bucket name}
31
31
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
31
31