Google Cloud コンソールに必要な IAM 権限

ここでは、Google Cloud コンソールの Cloud Storage で操作を行うために必要な Identity and Access Management(IAM)権限について説明します。IAM 権限をバンドルしてロールを作成し、ユーザーとグループにロールを付与します

Google Cloud コンソールの使用に必要な一般的な権限

Google Cloud コンソールを使用するには、次のような特定の権限が広く必要です。

  • バケットを使用するすべての操作には、プロジェクト レベルで resourcemanager.projects.get 権限と storage.buckets.list 権限を含める必要があります。

    これらの権限により、バケットの作成、表示、更新を行う [バケット] ページにアクセスできるようになります。

  • リクエストに請求先プロジェクトが含まれるすべての操作には、指定されたプロジェクトに対する serviceusage.services.use 権限が必要です。

    この権限により、指定したプロジェクトに課金する権限が与えられます。たとえば、リクエスト元による支払いを有効にしてバケットにアクセスするときに、請求プロジェクトを含めることができます。

特定の操作に必要な権限

操作 必要な IAM 権限(上記の権限以外)
バケットを作成する storage.buckets.create storage.buckets.enableObjectRetention1
バケットにタグを適用する storage.buckets.createTagBinding
バケットを一覧表示またはフィルタリングする 追加の権限なし
バケットに直接添付されたタグを一覧表示する storage.buckets.listTagBindings
継承されたタグとバケットに直接添付されたタグの両方を一覧表示する storage.buckets.listEffectiveTags
次のバケット情報を表示します。
  • ロケーション、レプリケーションのステータス、デフォルトのストレージ クラス
  • 保護設定
  • バケットラベル
  • オブジェクトのライフサイクル ポリシー
  • 公開アクセスの防止のステータス
  • 均一なバケットレベルのアクセスのステータス
  • Autoclass のステータス
  • ウェブサイトの構成
storage.buckets.get
次のバケット設定を変更します。
  • 保護設定
  • デフォルトのストレージ クラス
  • バケットラベル
  • オブジェクトのライフサイクル ポリシー
  • 均一なバケットレベルのアクセスのステータス
  • Autoclass のステータス
  • ウェブサイトの構成
  • オブジェクト保持の構成
storage.buckets.get
storage.buckets.update
storage.buckets.enableObjectRetention1
リクエスト元による支払い機能を有効にする storage.buckets.get
storage.buckets.update
リクエスト元による支払い機能を無効にする storage.buckets.get
storage.buckets.update
resourcemanager.projects.createBillingAssignment3
公開アクセスの防止の設定を変更する storage.buckets.get
storage.buckets.setIamPolicy
storage.buckets.update
バケットの権限を変更する storage.buckets.get
storage.buckets.getIamPolicy
storage.buckets.setIamPolicy
storage.buckets.update
空のバケットを削除する storage.buckets.delete
storage.objects.list
空でないバケットを削除する storage.buckets.delete
storage.objects.delete
storage.objects.list
バケットからタグの適用を解除する storage.buckets.deleteTagBinding
フォルダを作成する storage.folders.create
フォルダのメタデータを取得する storage.folders.get
フォルダの一覧表示 storage.folders.list
フォルダの名前を変更する storage.folders.rename(ソースバケットの場合)
storage.folders.create(宛先バケットの場合)
フォルダを削除する storage.folders.delete
オブジェクトまたはオブジェクトのフォルダをアップロードする storage.objects.create
storage.objects.delete2
storage.objects.setRetention4
オブジェクトの詳細を表示する5 storage.objects.get
storage.objects.list
オブジェクトの変更履歴を表示する storage.objects.get
storage.objects.list
オブジェクト5 またはオブジェクトのフォルダをダウンロードする storage.objects.get
storage.objects.list
非現行オブジェクトと削除済み(復元可能)オブジェクトを含む、バケット内のオブジェクトを一覧表示する storage.objects.list
オブジェクトが一般公開されているかどうかを調べる5 storage.buckets.getIamPolicy
storage.objects.list
storage.objects.getIamPolicy7
オブジェクトの名前を変更する、オブジェクトの非現行バージョンを復元する storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.list
storage.objects.getIamPolicy7
storage.objects.setIamPolicy7
オブジェクトをコピーする storage.objects.create(宛先バケットの場合)
storage.objects.delete2(宛先バケットの場合)
storage.objects.get(ソース オブジェクトの場合)
storage.objects.list(ソースバケットと宛先バケットの場合)
storage.objects.getIamPolicy7、8(ソース オブジェクトの場合)
storage.objects.setIamPolicy7、8(宛先バケットの場合)
オブジェクトを移動する storage.objects.create(宛先バケットの場合)
storage.objects.delete2(宛先バケットの場合)
storage.objects.delete (ソースバケットの場合)
storage.objects.get(コソース オブジェクトの場合)
storage.objects.list(ソースバケットと宛先バケットの場合)
storage.objects.getIamPolicy7、8(ソース オブジェクトの場合)
storage.objects.setIamPolicy7、8(宛先バケットの場合)
オブジェクトのアクセス権限を表示する 5、6 storage.objects.get
storage.objects.list
storage.objects.getIamPolicy
オブジェクトのアクセス権限を編集する 5、6 storage.objects.get
storage.objects.list
storage.objects.getIamPolicy
storage.objects.setIamPolicy
storage.objects.update
オブジェクトのメタデータを編集する5 storage.objects.get
storage.objects.list
storage.objects.update
オブジェクトの保持構成を追加、変更、削除する5 storage.objects.get
storage.objects.list
storage.objects.update
storage.objects.setRetention
storage.objects.overrideUnlockedRetention9
オブジェクトの保留を追加または削除する5 storage.objects.get
storage.objects.list
storage.objects.update
オブジェクト5、オブジェクトの非現行バージョン、またはオブジェクトのフォルダを削除する storage.objects.delete
storage.objects.list
削除されたオブジェクトを復元する storage.objects.create
storage.objects.delete2
storage.objects.list
storage.objects.restore
削除されたオブジェクトを一括で復元する storage.objects.create
storage.objects.delete10
storage.objects.restore
storage.buckets.restore
storage.objects.setIamPolicy7、11
プロジェクトの Cloud Storage サービス エージェントの名前を表示する resourcemanager.projects.get
プロジェクトのサービス アカウントの HMAC キーを表示する resourcemanager.projects.get
storage.hmacKeys.list
サービス アカウントの HMAC キーを作成する resourcemanager.projects.get
storage.hmacKeys.list
storage.hmacKeys.create
サービス アカウントの HMAC キーを無効または再度有効にする resourcemanager.projects.get
storage.hmacKeys.list
storage.hmacKeys.update
サービス アカウントの HMAC キーを削除する resourcemanager.projects.get
storage.hmacKeys.list
storage.hmacKeys.delete
ログイン中のユーザー アカウントの HMAC キーを作成、表示、または削除する resourcemanager.projects.get

1 この権限は、バケットでオブジェクト保持構成のサポートを有効にする場合にのみ必要です。

2 この権限は、同じ名前のオブジェクトがすでに宛先バケットに存在している場合にのみ必要です。

3 この権限は、リクエストに請求先プロジェクトを含めない場合にのみ必要になります。詳細については、リクエスト元による支払いの使用条件とアクセス要件をご覧ください。

4 この権限は、オブジェクトのアップロードの一環として保持構成を追加する場合にのみ必要です。

5 このアクションでは、関連オブジェクトの詳細ページで実行された場合に storage.objects.list は必要ありません。その際、バケットのオブジェクトの全体的なリストから詳細ページにはアクセスしません。

6 このアクションは、均一なバケットレベルのアクセスが有効になっているバケットには適用されません。

7 この権限は、均一なバケットレベルのアクセスが有効になっているバケットには適用されません。

8 この権限は、元のオブジェクトに現在適用されている権限を保持する場合にのみ必要になります。

9 この権限は、既存の保持構成を変更して、構成をロック、削減、削除する場合に必要です。

10 この権限は、同じ名前のオブジェクトがすでに宛先バケットに存在し、[ライブ オブジェクトを上書きする] オプションが選択されている場合にのみ必要です。

11 この権限は、[ソースのアクセス制御(ACL)をコピーする] オプションを選択した場合にのみ必要です。

次のステップ