次の表に、特定のリソースに Cloud Storage の各 JSON メソッドを実行する場合に必要な Identity and Access Management(IAM)権限を示します。IAM 権限は、ロールを作成するためにバンドルされています。ユーザーとグループにロールを付与します。
均一なバケットレベルのアクセスが無効になっているバケットにのみ適用される追加のメソッドについては、ACL メソッドのテーブルをご覧ください。
リソース | メソッド | 必要な IAM 権限 1 |
---|---|---|
Buckets |
delete |
storage.buckets.delete |
Buckets |
get |
storage.buckets.get storage.buckets.getIamPolicy 2 |
Buckets |
getIamPolicy |
storage.buckets.getIamPolicy |
Buckets |
insert |
storage.buckets.create storage.buckets.enableObjectRetention 3 |
Buckets |
list |
storage.buckets.list storage.buckets.getIamPolicy 2 |
Buckets |
listChannels |
storage.buckets.get |
Buckets |
lockRetentionPolicy |
storage.buckets.update |
Buckets |
patch |
storage.buckets.update storage.buckets.getIamPolicy 4storage.buckets.setIamPolicy 5 |
Buckets |
setIamPolicy |
storage.buckets.setIamPolicy |
Buckets |
testIamPermissions |
なし |
Buckets |
update |
storage.buckets.update storage.buckets.getIamPolicy 4storage.buckets.setIamPolicy 5 |
Channels |
stop |
なし |
Folders |
get |
storage.folders.get |
Folders |
insert |
storage.folders.create |
Folders |
list |
storage.folders.list |
Folders |
rename |
storage.folders.rename storage.folders.create |
Folders |
delete |
storage.folders.delete |
ManagedFolders |
delete |
storage.managedfolders.delete storage.managedfolders.setIamPolicy 10 |
ManagedFolders |
get |
storage.managedfolders.get |
ManagedFolders |
getIamPolicy |
storage.managedfolders.getIamPolicy |
ManagedFolders |
insert |
storage.managedfolders.create |
ManagedFolders |
list |
storage.managedfolders.list |
ManagedFolders |
update |
storage.managedfolders.update |
ManagedFolders |
setIamPolicy |
storage.managedfolders.setIamPolicy |
Notifications |
delete |
storage.buckets.update |
Notifications |
get |
storage.buckets.get |
Notifications |
insert |
storage.buckets.update |
Notifications |
list |
storage.buckets.get |
Objects |
bulkRestore |
storage.buckets.restore storage.objects.create storage.objects.delete 11storage.objects.restore storage.objects.setIamPolicy 6、12 |
Objects |
compose |
storage.objects.get storage.objects.create storage.objects.delete 7storage.objects.getIamPolicy 2、6storage.objects.setRetention 8 |
Objects |
copy |
storage.objects.get storage.objects.create storage.objects.delete storage.objects.setRetention |
Objects |
delete |
storage.objects.delete |
Objects |
get |
storage.objects.get storage.objects.getIamPolicy 2、6 |
Objects |
insert |
storage.objects.create storage.objects.delete 7storage.objects.setRetention 8 |
Objects |
list |
storage.objects.list storage.objects.getIamPolicy 2、6 |
Objects |
patch |
storage.objects.update storage.objects.setRetention 8storage.objects.overrideUnlockedRetention 9storage.objects.getIamPolicy 4、6storage.objects.setIamPolicy 5、6 |
Objects |
restore |
storage.objects.create storage.objects.delete 7storage.objects.restore storage.objects.getIamPolicy 2、6storage.objects.setIamPolicy 6、12 |
Objects |
rewrite |
storage.objects.get storage.objects.create storage.objects.delete storage.objects.setRetention |
Objects |
update |
storage.objects.update storage.objects.setRetention 8storage.objects.overrideUnlockedRetention 9storage.objects.getIamPolicy 4、6storage.objects.setIamPolicy 5、6 |
Objects |
watchAll |
storage.buckets.update |
Projects.hmacKeys |
create |
storage.hmacKeys.create |
Projects.hmacKeys |
delete |
storage.hmacKeys.delete |
Projects.hmacKeys |
get |
storage.hmacKeys.get |
Projects.hmacKeys |
list |
storage.hmacKeys.list |
Projects.hmacKeys |
update |
storage.hmacKeys.update |
Projects.serviceAccount |
get |
resourceManager.projects.get |
ReportConfigs |
delete |
storageinsights.reportConfigs.delete |
ReportConfigs |
get |
storageinsights.reportConfigs.get |
ReportConfigs |
list |
storageinsights.reportConfigs.list |
ReportConfigs |
insert |
storageinsights.reportConfigs.create |
ReportConfigs |
update |
storageinsights.reportConfigs.update |
ReportDetails |
get |
storageinsights.reportDetails.get |
ReportDetails |
list |
storageinsights.reportDetails.list |
1 リクエストで userProject
パラメータまたは x-goog-user-project
ヘッダーを使用する場合、リクエストに必要な通常の IAM 権限に加えて、指定したプロジェクト ID の serviceusage.services.use
権限が必要です。
2 この権限は、full
プロジェクションの一部として ACL または IAM ポリシーを含める場合にのみ必要です。この権限がないときに full
プロジェクションをリクエストすると、部分プロジェクションのみが表示されます。
3 この権限は、リクエストに enableObjectRetention
クエリ パラメータが含まれている場合にのみ必要です。
4 この権限は、レスポンスの一部として ACL を含める場合にのみ必要です。
5 この権限は、ACL または公開アクセスの防止設定の変更をリクエストに含める場合に必要です。
6 この権限は、均一なバケットレベルのアクセスが有効になっているバケットには適用されません。
7 この権限は、リクエストによって同じ名前のオブジェクトが上書きされる場合にのみ必要です。
8 この権限は、リクエスト本文に retention
プロパティを含める場合、または既存の保持構成を持つオブジェクトに対して UPDATE
リクエストを作成する場合に必要です。
9 この権限は、リクエストに overrideUnlockedRetention=true
クエリ パラメータが含まれている場合にのみ必要です。
10 この権限は、リクエストに allowNonEmpty=true
クエリ パラメータが含まれている場合にのみ必要です。
11 この権限は、リクエストに allowOverwrite=true
クエリ パラメータが含まれ、リクエストによって同じ名前のオブジェクトが上書きされる場合にのみ必要です。
12 この権限は、リクエストに copySourceAcl=true
クエリ パラメータが含まれている場合にのみ必要です。
ACL 関連メソッド
次の表に、ACL の管理にのみ適用される JSON メソッドの実行に必要な IAM 権限を示します。これらのメソッドは、均一なバケットレベルのアクセスが無効になっているバケットにのみ適用されます。
リソース | メソッド | 必要な IAM 権限 1 |
---|---|---|
BucketAccessControls |
delete |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
BucketAccessControls |
get |
storage.buckets.get storage.buckets.getIamPolicy |
BucketAccessControls |
insert |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
BucketAccessControls |
list |
storage.buckets.get storage.buckets.getIamPolicy |
BucketAccessControls |
patch |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
BucketAccessControls |
update |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
DefaultObjectAccessControls |
delete |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
DefaultObjectAccessControls |
get |
storage.buckets.get storage.buckets.getIamPolicy |
DefaultObjectAccessControls |
insert |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
DefaultObjectAccessControls |
list |
storage.buckets.get storage.buckets.getIamPolicy |
DefaultObjectAccessControls |
patch |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
DefaultObjectAccessControls |
update |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
ObjectAccessControls |
delete |
storage.objects.get storage.objects.getIamPolicy storage.objects.setIamPolicy storage.objects.update |
ObjectAccessControls |
get |
storage.objects.get storage.objects.getIamPolicy |
ObjectAccessControls |
insert |
storage.objects.get storage.objects.getIamPolicy storage.objects.setIamPolicy storage.objects.update |
ObjectAccessControls |
list |
storage.objects.get storage.objects.getIamPolicy |
ObjectAccessControls |
patch |
storage.objects.get storage.objects.getIamPolicy storage.objects.setIamPolicy storage.objects.update |
ObjectAccessControls |
update |
storage.objects.get storage.objects.getIamPolicy storage.objects.setIamPolicy storage.objects.update |
1 リクエストで userProject
パラメータまたは x-goog-user-project
ヘッダーを使用する場合、リクエストに必要な通常の IAM 権限に加えて、指定したプロジェクト ID の serviceusage.services.use
権限が必要です。
次のステップ
Cloud Storage のロールと権限の一覧について、Cloud Storage に適用される IAM ロールを確認する。
プロジェクト レベルとバケットレベルで IAM ロールを割り当てる。