IAM-Berechtigungen für gcloud-Speicherbefehle

Die folgende Tabelle enthält die IAM-Berechtigungen (Identity and Access Management), die zum Ausführen von gcloud storage-Befehlen erforderlich sind. IAM-Berechtigungen sind zusammengefasst, um Rollen zu erstellen. Sie weisen Hauptkonten Rollen zu.

Hinweise zur Verwendung von Platzhaltern sowie den Flags --recursive und --billing-project finden Sie in den Abschnitten unter der Tabelle.

Befehl Flag Erforderliche IAM-Berechtigungen
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.getIamPolicy1
buckets get-iam-policy storage.buckets.get
storage.buckets.getIamPolicy
buckets list storage.buckets.list
storage.buckets.getIamPolicy1
buckets notifications create storage.buckets.get
storage.buckets.update
pubsub.topics.get (für das Projekt, das das Pub/Sub-Thema enthält)
pubsub.topics.create3 (für das Projekt, das das Pub/Sub-Thema enthält)
pubsub.topics.getIamPolicy (für das Pub/Sub-Thema, das Benachrichtigungen erhält)
pubsub.topics.setIamPolicy3 (für das Pub/Sub-Thema, das Benachrichtigungen erhält)
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.createBillingAssignment2
buckets update --recovery-point-objective
--rpo
--[no-]uniform-bucket-level-access
--[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.list13
cp storage.objects.get (für die Quellobjekte)
storage.buckets.get12 (für den Ziel-Bucket)
storage.objects.list4 (für den Ziel-Bucket)
storage.objects.create (für den Ziel-Bucket)
storage.objects.delete5 (für den Ziel-Bucket)
du storage.objects.list
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
ls (für die Bucket-Auflistung) storage.buckets.list
storage.buckets.getIamPolicy6
ls (für die Objektauflistung) storage.objects.get7
storage.objects.list
storage.objects.getIamPolicy8
ls --buckets storage.buckets.get
storage.buckets.getIamPolicy6
mv storage.objects.list4 (für den Ziel-Bucket)
storage.objects.get (für die Quellobjekte)
storage.objects.create (für den Ziel-Bucket)
storage.objects.delete (für den Quell-Bucket)
storage.objects.delete5 (für den Ziel-Bucket)
objects compose storage.objects.get
storage.objects.create
storage.objects.delete9
objects describe storage.objects.get
storage.objects.getIamPolicy8
objects list storage.objects.list
storage.objects.getIamPolicy8
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.overrideUnlockedRetention11
restore storage.objects.create
storage.objects.delete9
storage.objects.restore
restore --async storage.objects.create
storage.objects.delete14
storage.objects.restore
storage.buckets.restore
rm storage.buckets.delete
storage.objects.delete
storage.objects.list
rsync storage.objects.get (für die Quellobjekte und den Ziel-Bucket)
storage.objects.create (für den Ziel-Bucket)
storage.objects.delete10 (für den Ziel-Bucket)
storage.objects.list (für die Quell- und Ziel-Buckets)
rsync --dry-run storage.objects.list (für die Quell- und Ziel-Buckets)
service-agent resourceManager.projects.get
sign-url Keine; Allerdings muss das Dienstkonto, dessen Schlüssel als Teil dieses Befehls verwendet wird, über die Berechtigung verfügen, die in der signierten URL codierte Anfrage auszuführen.

1Diese Berechtigung ist nur erforderlich, wenn Sie IAM-Richtlinien in die Details aufgenommen haben.

2Diese Berechtigung ist nur erforderlich, wenn in Ihrer Anfrage kein Abrechnungsprojekt enthalten ist. Weitere Informationen finden Sie im Artikel "Anfragesteller bezahlt" unter Anforderungen für Zugriff und Verwendung.

3 Diese Berechtigungen sind nicht erforderlich, wenn das Thema bereits existiert und das entsprechende Dienstkonto darauf zugreifen kann.

4 Diese Berechtigung ist nur erforderlich, wenn das Ziel im Befehl einen Objektpfad enthält.

5 Diese Berechtigung ist nur erforderlich, wenn Sie parallele zusammengesetzte Uploads verwenden oder wenn Sie das Flag --no-clobber nicht verwenden, aber ein Objekt einfügen, das denselben Namen hat wie ein bereits im Bucket vorhandenes Objekt.

6 Diese Berechtigung ist nur erforderlich, wenn Sie IAM-Richtlinien in die Details aufgenommen haben.

7 Diese Berechtigung ist nur erforderlich, wenn Sie das Flag --fetch-encrypted-object-hashes verwenden.

8 Diese Berechtigung ist nur erforderlich, wenn in den Details IAM-Richtlinien enthalten sein sollen. Sie gilt nicht für Buckets mit aktiviertem einheitlichem Zugriff auf Bucket-Ebene.

9 Diese Berechtigung ist nur erforderlich, wenn der Vorgang ein Objekt mit demselben Namen wie ein Objekt erstellt, das bereits im Bucket vorhanden ist.

10 Diese Berechtigung ist nur erforderlich, wenn Sie das Flag --delete-unmatched-destination-objects verwenden oder wenn Sie ein Objekt einfügen, das denselben Namen, aber andere Daten als ein bereits im Bucket vorhandenes Objekt hat.

11 Diese Berechtigung ist nur erforderlich, wenn für die Anfrage auch das Flag --override-unlocked-retention erforderlich ist.

12 Diese Berechtigung ist erforderlich, um parallele zusammengesetzte Uploads auszuführen, wenn das gcloud CLI-Attribut storage/parallel_composite_upload_compatibility_check auf True gesetzt ist.

13 Diese Berechtigung ist nur erforderlich, wenn Sie Objekte mit regulären Ausdrücken abrufen möchten.

14 Diese Berechtigung ist nur erforderlich, wenn die Anfrage das Flag --allow-overwrite enthält und der Vorgang ein Objekt mit demselben Namen wie ein Objekt erstellt, das bereits im Bucket vorhanden ist.

Top-Level-Flag --billing-project

Wenn Sie zum Festlegen eines Projekts, das für Ihre Anfrage abgerechnet werden soll, das globale Flag--billing-project verwenden, benötigen Sie für das Projekt die serviceusage.services.use-Berechtigung. Das Flag --billing-project wird beispielsweise beim Zugriff auf einen Bucket mit aktivierter Option Anforderer bezahlt verwendet.

Platzhalter und wiederkehrende Flags

Wenn Sie URI-Platzhalter verwenden, um in einem Befehl mehrere Objekte auszuwählen, ist für den Bucket mit den Objekten die Berechtigung storage.objects.list erforderlich. Wenn Sie URI-Platzhalter verwenden, um in einem Befehl mehrere Buckets auszuwählen, ist für das Projekt bzw. die Projekte mit den Buckets die Berechtigung storage.buckets.list erforderlich.

Wenn Sie das Flag --recursive verwenden, benötigen Sie zusätzlich zu den Berechtigungen für den jeweiligen Befehl die Berechtigung storage.objects.list für den entsprechenden Bucket.

Nächste Schritte