ここでは、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.enableObjectRetention 1 |
バケットにタグを適用する | storage.buckets.createTagBinding |
バケットを一覧表示またはフィルタリングする | 追加の権限なし |
バケットに直接適用されたタグを一覧表示する | storage.buckets.listTagBindings |
継承されたタグとバケットに直接適用されたタグの両方を一覧表示する | storage.buckets.listEffectiveTags |
次のバケット情報を表示します。
|
storage.buckets.get |
次のバケット設定を変更します。
|
storage.buckets.get storage.buckets.update |
リクエスト元による支払い機能を有効にする | storage.buckets.get storage.buckets.update |
リクエスト元による支払い機能を無効にする | storage.buckets.get storage.buckets.update resourcemanager.projects.createBillingAssignment 3 |
公開アクセスの防止の設定を変更する | 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.delete 2storage.objects.setRetention 4 |
オブジェクトの詳細を表示する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.getIamPolicy 7 |
オブジェクトの名前を変更する、オブジェクトの非現行バージョンを復元する | storage.objects.create storage.objects.delete storage.objects.get storage.objects.list storage.objects.getIamPolicy 7storage.objects.setIamPolicy 7 |
オブジェクトをコピーする | storage.objects.create storage.objects.delete 2storage.objects.get storage.objects.list storage.objects.getIamPolicy 7、8storage.objects.setIamPolicy 7、8 |
オブジェクトを移動する | storage.objects.create storage.objects.delete 2storage.objects.delete storage.objects.get storage.objects.list storage.objects.getIamPolicy 7、8storage.objects.setIamPolicy 7、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.overrideUnlockedRetention 9 |
オブジェクトの保留を追加または削除する5 | storage.objects.get storage.objects.list storage.objects.update |
オブジェクト5、オブジェクトの非現行バージョン、またはオブジェクトのフォルダを削除する | storage.objects.delete storage.objects.list |
削除されたオブジェクトを復元する | storage.objects.create storage.objects.delete 2storage.objects.list storage.objects.restore |
削除されたオブジェクトを一括で復元する | storage.objects.create storage.objects.delete 10storage.objects.restore storage.buckets.restore storage.objects.setIamPolicy 7、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)をコピーする] オプションを選択した場合にのみ必要です。
次のステップ
Cloud Storage のロールと権限の一覧について、Cloud Storage に適用される IAM ロールを確認する。
プロジェクト レベルとバケットレベルで IAM ロールを割り当てる。