Die folgende Tabelle enthält die Berechtigungen von Identity and Access Management (IAM), die benötigt werden, um die einzelnen JSON-Methoden von Cloud Storage auf einer bestimmten Ressource auszuführen. IAM-Berechtigungen sind zusammengefasst, um Rollen zu erstellen. Sie weisen Nutzern und Gruppen Rollen zu.
Weitere Methoden, die nur für Buckets mit deaktiviertem einheitlichen Zugriff auf Bucket-Ebene gelten, finden Sie in der Tabelle der ACL-Methoden.
Resource | Methode | Erforderliche IAM-Berechtigungen1 |
---|---|---|
Buckets |
delete |
storage.buckets.delete |
Buckets |
get |
storage.buckets.get storage.buckets.getIamPolicy 2storage.buckets.getIpFilter 13 |
Buckets |
getIamPolicy |
storage.buckets.getIamPolicy |
Buckets |
insert |
storage.buckets.create storage.buckets.enableObjectRetention 3storage.buckets.setIpFilter 14 |
Buckets |
list |
storage.buckets.list storage.buckets.getIamPolicy 2storage.buckets.getIpFilter 13 |
Buckets |
listChannels |
storage.buckets.get |
Buckets |
lockRetentionPolicy |
storage.buckets.update |
Buckets |
patch |
storage.buckets.update storage.buckets.getIamPolicy 4storage.buckets.setIamPolicy 5storage.buckets.setIpFilter 14storage.buckets.getIpFilter 13 |
Buckets |
relocate |
storage.buckets.relocate |
Buckets |
setIamPolicy |
storage.buckets.setIamPolicy |
Buckets |
testIamPermissions |
Keine |
Buckets |
update |
storage.buckets.update storage.buckets.getIamPolicy 4storage.buckets.setIamPolicy 5storage.buckets.setIpFilter 14storage.buckets.getIpFilter 13 |
Channels |
stop |
Keine |
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 |
move |
storage.objects.move 15storage.objects.delete 15storage.objects.get 15storage.objects.create storage.objects.delete 16storage.folders.create 17 |
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 Wenn Sie in Ihrer Anfrage den Parameter userProject
oder den Header x-goog-user-project
verwenden, benötigen Sie für die Projekt-ID, die Sie angeben, die Berechtigung serviceusage.services.use
, zusätzlich zu den normalen IAM-Berechtigungen, die zum Senden der Anfrage erforderlich sind.
2 Diese Berechtigung ist nur erforderlich, wenn Sie ACLs oder IAM-Richtlinien als Teil einer Projektion des Typs full
einschließen möchten. Wenn Sie diese Berechtigung nicht haben und die Projektion full
anfordern, erhalten Sie nur eine Teilprojektion.
3 Diese Berechtigung ist nur erforderlich, wenn die Anfrage den Abfrageparameter enableObjectRetention
enthält.
4 Diese Berechtigung ist nur erforderlich, wenn Sie ACLs als Teil der Antwort einschließen möchten.
5 Diese Berechtigung ist erforderlich, wenn Sie ACLs oder Änderungen an der Einstellung Verhinderung des öffentlichen Zugriffs als Teil der Anfrage einschließen möchten.
6 Diese Berechtigung gilt nicht für Buckets mit aktiviertem einheitlichen Zugriff auf Bucket-Ebene.
7 Diese Berechtigung ist nur erforderlich, wenn die Anfrage zum Überschreiben eines Objekts mit demselben Namen führt.
8 Diese Berechtigung ist erforderlich, wenn der Anfragetext das Attribut retention
enthält oder wenn eine UPDATE
-Anfrage für ein Objekt mit einer vorhandenen Aufbewahrungskonfiguration erfolgt.
9 Diese Berechtigung ist nur erforderlich, wenn die Anfrage den Abfrageparameter overrideUnlockedRetention=true
enthält.
10 Diese Berechtigung ist nur erforderlich, wenn die Anfrage den Abfrageparameter allowNonEmpty=true
enthält.
11 Diese Berechtigung ist nur erforderlich, wenn die Anfrage den Abfrageparameter allowOverwrite=true
enthält und die Anfrage dazu führt, dass ein Objekt mit demselben Namen überschrieben wird.
12 Diese Berechtigung ist nur erforderlich, wenn die Anfrage den Abfrageparameter copySourceAcl=true
enthält.
13 Diese Berechtigung ist nur erforderlich, wenn Sie IP-Filterregeln für Bucket als Teil einer full
-Projektion einschließen möchten. Wenn Sie diese Berechtigung nicht haben und die Projektion full
anfordern, erhalten Sie nur eine Teilprojektion. Wenn Sie IP-Filterregeln für Bucket in Ihrer Antwort ausschließen möchten, können Sie eine noAcl
-Projektion anfordern.
14: Diese Berechtigung ist nur erforderlich, wenn Sie IP-Filterregeln für Bucket erstellen, auflisten, löschen und aktualisieren möchten.
15: Wenn Sie ein Objekt innerhalb eines Buckets verschieben möchten, für den der hierarchische Namespace aktiviert ist, benötigen Sie entweder die Berechtigungen storage.objects.delete
und storage.objects.get
oder die Berechtigung storage.objects.move
, wenn Sie es verschieben möchten, ohne Lese- oder Löschzugriff auf das Objekt zu gewähren.
16 Diese Berechtigung ist nur erforderlich, wenn Sie ein Objekt ersetzen möchten.
17 Diese Berechtigung ist nur erforderlich, wenn Sie fehlende übergeordnete Ordner automatisch erstellen möchten.
ACL-bezogene Methoden
In der folgenden Tabelle sind die IAM-Berechtigungen aufgeführt, die zum Ausführen der speziell für die Verwaltung von ACLs geltenden JSON-Methoden erforderlich sind. Diese Methoden gelten nur für Buckets, für die der einheitliche Zugriff auf Bucket-Ebene deaktiviert ist.
Resource | Methode | Erforderliche IAM-Berechtigungen1 |
---|---|---|
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 Wenn Sie in Ihrer Anfrage den Parameter userProject
oder den Header x-goog-user-project
verwenden, benötigen Sie für die Projekt-ID, die Sie angeben, die Berechtigung serviceusage.services.use
, zusätzlich zu den normalen IAM-Berechtigungen, die zum Senden der Anfrage erforderlich sind.
Nächste Schritte
Eine Liste der Rollen und der darin enthaltenen Berechtigungen finden Sie unter IAM-Rollen für Cloud Storage.