Cloud Storage
Documentation
- Best Practices: https://cloud.google.com/storage/docs/best-practices
- Bucket locations | Cloud Storage | Google Cloud
Spec
オブジェクトのバージョニング
オブジェクトのバージョニング | Cloud Storage | Google Cloud
CLI操作
# バージョニングのON/OFF確認
gsutil versioning get gs://[BUCKET_NAME]
# バージョニングの有効化
gsutil versioning set on gs://[BUCKET_NAME]
# バージョニングの無効化
gsutil versioning set off gs://[BUCKET_NAME]
# バージョン化されたオブジェクトの一覧表示
gsutil ls -a gs://[BUCKET_NAME]
# 非現行バージョンのオブジェクトの削除
gsutil rm gs://[BUCKET_NAME]/[OBJECT_NAME]#[GENERATION_NUMBER]
アクセス制御
https://cloud.google.com/storage/docs/access-control
バケットのアクセス制御のタイプが2つある:
- 均一アクセス(Uniform) … 2020-10-05時点の推奨
- IAMのみで権限管理する。IAM Coditionsを使える
- きめ細かいアクセス(Fine-grained)
- レガシー
- IAMとACLを併用して権限管理できる。Amazon S3と相互運用できるようにデザインされている
IAM
Cloud Identity and Access Management | Cloud Storage | Google Cloud
関連項目:
メンバータイプ
Cloud Storageバケットのみに適用できる特別なメンバータイプがある:
projectOwner:[PROJECT_ID]
projectEditor:[PROJECT_ID]
projectViewer:[PROJECT_ID]
いずれかにロールを付与すると、指定したプロジェクトに対して指定された権限を持つすべてのメンバーが、選択されたロールを取得する。
ただし、これらの権限はコンソールや gsutil iam ch
コマンドでは設定できないようだ。gsutil iam set
コマンドであれば設定することができる。
Example:
gsutil iam set policy.json gs://my-bucket
最終更新 2020-11-10: [gcp] Divide cli.md -> cli/{bq,gcloud}.md etc. (da4ddfc7c)