こんにちは寝る

古い記事の情報は参考程度にお願いします

GoogleCloudStorageで権限を与えるバケットを制御する

概要

とあるグループや個人に対して リソース管理者 のロールを割り当てると
そのプロジェクトにおける全てのバケットへの管理権限が付与されてしまう。

これだと過剰なので付与されるバケットを制御して権限を付与する。

やり方

  1. 特定のプロジェクトのIAMにグループまたは個人などを追加する
  2. 『Cloud Storage > リソース管理者』などのロールを割り当てる
  3. 条件を追加する(条件エディタに以下を貼り付け)
# 制御したいバケットが1つの場合
(resource.type != 'storage.googleapis.com/Bucket' &&
 resource.type != 'storage.googleapis.com/Object') ||
resource.name.startsWith('projects/_/buckets/ここに表示するバケット名')

# 2つ以上の場合
(resource.type != 'storage.googleapis.com/Bucket' &&
 resource.type != 'storage.googleapis.com/Object') ||
resource.name.startsWith('projects/_/buckets/ここに表示するバケット名') ||
resource.name.startsWith('projects/_/buckets/ここに表示するバケット名') ||
resource.name.startsWith('projects/_/buckets/ここに表示するバケット名')
...

メモ:resource.name.startsWith を使わないと上手く動きません。

参考