次の表に、gcloud storage
コマンドの実行に必要な Identity and Access Management(IAM)権限を示します。複数の IAM 権限がバンドルされ、ロールが作成されます。プリンシパルにロールを付与します。
ワイルドカード、--recursive
フラグ、--billing-project
フラグを使用する際の注意事項については、表の下のセクションをご覧ください。
コマンド | フラグ | 必要な IAM 権限 |
---|---|---|
buckets add-iam-policy-binding |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
|
buckets create |
storage.buckets.create |
|
buckets delete |
storage.buckets.delete |
|
buckets describe |
storage.buckets.get storage.buckets.getIamPolicy 1 |
|
buckets get-iam-policy |
storage.buckets.get storage.buckets.getIamPolicy |
|
buckets list |
storage.buckets.list storage.buckets.getIamPolicy 1 |
|
buckets notifications create |
storage.buckets.get storage.buckets.update pubsub.topics.get (Pub/Sub トピックを含むプロジェクト)pubsub.topics.create 3(Pub/Sub トピックを含むプロジェクト)pubsub.topics.getIamPolicy (通知を受信する Pub/Sub トピック)pubsub.topics.setIamPolicy 3(通知を受信する Pub/Sub トピック) |
|
buckets notifications create |
--skip-topic-setup |
storage.buckets.get storage.buckets.update |
buckets notifications delete |
storage.buckets.get storage.buckets.update |
|
buckets notifications describe |
storage.buckets.get |
|
buckets notifications list |
storage.buckets.get |
|
buckets remove-iam-policy-binding |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
|
buckets set-iam-policy |
storage.buckets.setIamPolicy storage.buckets.update |
|
buckets update |
storage.buckets.update |
|
buckets update |
--no-requester-pays |
storage.buckets.update resourcemanager.projects.createBillingAssignment 2 |
buckets update |
--recovery-point-objective --rpo --[no-]uniform-bucket-level-access |
storage.buckets.get storage.buckets.update |
buckets update |
--clear-pap --clear-public-access-prevention --[no-]pap --[no-]public-access-prevention |
storage.buckets.get storage.buckets.update storage.buckets.setIamPolicy |
cat |
storage.objects.get storage.objects.list 13 |
|
cp |
storage.objects.get storage.buckets.get 12storage.objects.list 4(宛先バケット)
storage.objects.create storage.objects.delete 5storageinsights.reportDetails.get 15 |
|
du |
storage.objects.list |
|
folders create |
storage.folders.create |
|
folders delete |
storage.folders.delete |
|
folders describe |
storage.folders.get |
|
folders list |
storage.folders.list |
|
folders rename |
storage.folders.rename storage.folders.create |
|
hash |
storage.objects.get |
|
hmac create |
storage.hmacKeys.create |
|
hmac delete |
storage.hmacKeys.delete |
|
hmac describe |
storage.hmacKeys.get |
|
hmac list |
storage.hmacKeys.list |
|
hmac update |
storage.hmacKeys.update |
|
insights inventory-reports create |
storageinsights.reportConfigs.create |
|
insights inventory-reports delete |
storageinsights.reportConfigs.delete |
|
insights inventory-reports details list |
storageinsights.reportDetails.list |
|
insights inventory-reports details describe |
storageinsights.reportDetails.get |
|
insights inventory-reports list |
storageinsights.reportConfigs.list |
|
insights inventory-reports update |
storageinsights.reportConfigs.get storageinsights.reportConfigs.update |
|
ls (バケットの一覧表示) |
storage.buckets.list storage.buckets.getIamPolicy 6 |
|
ls (オブジェクトを一覧表示する場合) |
storage.objects.get 7storage.objects.list storage.objects.getIamPolicy 8 |
|
ls |
--buckets |
storage.buckets.get storage.buckets.getIamPolicy 6 |
mv |
storage.objects.list 4(宛先バケット)storage.objects.get (ソース オブジェクト)storage.objects.create (宛先バケット)storage.objects.delete (ソースバケット)storage.objects.delete 5(宛先バケット) |
|
objects compose |
storage.objects.get storage.objects.create storage.objects.delete 9 |
|
objects describe |
storage.objects.get storage.objects.getIamPolicy 8 |
|
objects list |
storage.objects.list storage.objects.getIamPolicy 8 |
|
objects update |
storage.objects.get storage.objects.list storage.objects.update |
|
objects update |
--storage-class --encryption-key --clear-encryption-key |
storage.objects.get storage.objects.list storage.objects.create storage.objects.delete |
objects update |
--retention-mode --retain-until --clear-retention |
storage.objects.get storage.objects.list storage.objects.update storage.objects.setRetention storage.objects.overrideUnlockedRetention 11 |
operations cancel |
storage.bucketOperations.cancel |
|
operations describe |
storage.bucketOperations.get |
|
operations list |
storage.bucketOperations.list |
|
restore |
storage.objects.create storage.objects.delete 9storage.objects.restore |
|
restore |
--async |
storage.objects.create storage.objects.delete 14storage.objects.restore storage.buckets.restore |
rm |
storage.buckets.delete storage.objects.delete storage.objects.list |
|
rsync |
storage.objects.get storage.objects.create storage.objects.delete 10storage.objects.list |
|
rsync |
--dry-run |
storage.objects.list (ソースバケットと宛先バケット) |
service-agent |
resourceManager.projects.get |
|
sign-url |
なし。ただし、このコマンドの一部として鍵が使用されているサービス アカウントには、署名付き URL にエンコードされたリクエストを実行する権限が必要です。 |
1 この権限は、詳細の中に IAM ポリシーを含める場合にのみ必要です。
2 この権限は、リクエストに請求先プロジェクトを含めない場合にのみ必要です。詳細については、リクエスト元による支払いの使用条件とアクセス要件をご覧ください。
3 この権限は、トピックがすでに存在し、当該サービス アカウントにそのトピックへのアクセス権がある場合は必要ありません。
4 この権限は、コマンドの宛先にオブジェクトのパスが含まれている場合にのみ必要です。
5 この権限は、並列複合アップロードを使用する場合や、--no-clobber
フラグを使用せずにバケット内にすでに存在しているオブジェクトと同じ名前のオブジェクトを挿入する場合にのみ必要です。
6 この権限は、詳細の中に IAM ポリシーを含める場合にのみ必要です。
7 この権限は、--fetch-encrypted-object-hashes
フラグを使用する場合にのみ必要です。
8 この権限は、詳細の中に IAM ポリシーを含める場合にのみ必要です。この権限は、均一なバケットレベルのアクセスが有効になっているバケットには適用されません。
9 この権限は、バケット内にすでに存在するオブジェクトと同じ名前でオブジェクトを作成する場合にのみ必要です。
10 この権限は、--delete-unmatched-destination-objects
フラグを使用する場合や、バケット内にすでに存在しているオブジェクトと同じ名前のオブジェクトと同じ名前で、別のデータを持つオブジェクトを挿入する場合にのみ必要です。
11 この権限は、リクエストで --override-unlocked-retention
フラグを使用する必要がある場合にのみ必要です。
12 この権限は、gcloud CLI プロパティ storage/parallel_composite_upload_compatibility_check
が True
に設定されている場合に、並列複合アップロードを実行するために必要です。
13 この権限は、正規表現を使用してオブジェクトを取得する場合にのみ必要です。
14 この権限は、リクエストに --allow-overwrite
フラグが含まれており、バケット内にすでに存在するオブジェクトと同じ名前でオブジェクトを作成する場合にのみ必要です。
15 この権限は、インベントリ レポートのダウンロードにのみ必要です。
--billing-project
トップレベル フラグ
--billing-project
グローバル フラグを使用して、リクエストの料金の請求先プロジェクトを指定する場合は、指定するプロジェクトに対する serviceusage.services.use
権限が必要です。たとえば、リクエスト元による支払いが有効にされているバケットにアクセスするには、--billing-project
フラグが必要です。
ワイルドカードと再帰フラグ
1 つのコマンドの中で URI ワイルドカードを使用して複数のオブジェクトを選択する場合は、それらのオブジェクトを含むバケットに対する storage.objects.list
権限が必要です。同じように、1 つのコマンドの中で URI ワイルドカードを使用して複数のバケットを選択する場合は、それらのバケットが含まれるプロジェクトに対する storage.buckets.list
権限が必要です。
--recursive
フラグを使用する場合は、使用している特定のコマンドに必要な権限に加えて、関連するバケットに対する storage.objects.list
権限が必要です。
次のステップ
- プロジェクト レベルとバケットレベルで IAM ロールを割り当てる。
- Cloud Storage の権限を含む IAM ロールを確認する。