Permisos de IAM para métodos de JSON

En la siguiente tabla, se enumeran los permisos de administración de identidades y accesos (IAM) necesarios para ejecutar cada método de JSON de Cloud Storage en un recurso dado. Los permisos de IAM se agrupan para crear funciones. Las funciones se les otorgan a usuarios y grupos.

Para conocer los métodos adicionales que solo se aplican a los depósitos con el acceso uniforme a nivel de depósito inhabilitado, consulta la tabla de métodos de LCA.

Recurso Método Permisos de IAM obligatorios1
Buckets delete storage.buckets.delete
Buckets get storage.buckets.get
storage.buckets.getIamPolicy2
Buckets getIamPolicy storage.buckets.getIamPolicy
Buckets insert storage.buckets.create
storage.buckets.enableObjectRetention3
Buckets list storage.buckets.list
storage.buckets.getIamPolicy2
Buckets listChannels storage.buckets.get
Buckets lockRetentionPolicy storage.buckets.update
Buckets patch storage.buckets.update
storage.buckets.getIamPolicy4
storage.buckets.setIamPolicy5
Buckets setIamPolicy storage.buckets.setIamPolicy
Buckets testIamPermissions Ninguno
Buckets update storage.buckets.update
storage.buckets.getIamPolicy4
storage.buckets.setIamPolicy5
Channels stop Ninguno
ManagedFolders delete storage.managedfolders.delete
storage.managedfolders.setIamPolicy10
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.delete11
storage.objects.restore
storage.objects.setIamPolicy6,12
Objects compose storage.objects.get
storage.objects.create
storage.objects.delete7
storage.objects.getIamPolicy2,6
storage.objects.setRetention8
Objects copy storage.objects.get (para el bucket de origen)
storage.objects.create (para el bucket de destino)
storage.objects.delete (para el bucket de destino)7
storage.objects.setRetention (para el bucket de destino) 8
Objects delete storage.objects.delete
Objects get storage.objects.get
storage.objects.getIamPolicy2, 6
Objects insert storage.objects.create
storage.objects.delete7
storage.objects.setRetention8
Objects list storage.objects.list
storage.objects.getIamPolicy2, 6
Objects patch storage.objects.update
storage.objects.setRetention8
storage.objects.overrideUnlockedRetention9
storage.objects.getIamPolicy4,6
storage.objects.setIamPolicy5,6
Objects restore storage.objects.create
storage.objects.delete7
storage.objects.restore
storage.objects.getIamPolicy2,6
storage.objects.setIamPolicy6,12
Objects rewrite storage.objects.get (para el bucket de origen)
storage.objects.create (para el bucket de destino)
storage.objects.delete (para el bucket de destino)7
storage.objects.setRetention (para el bucket de destino) 8
Objects update storage.objects.update
storage.objects.setRetention8
storage.objects.overrideUnlockedRetention9
storage.objects.getIamPolicy4,6
storage.objects.setIamPolicy5,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 Si usas el parámetro userProject o el encabezado x-goog-user-project en tu solicitud, debes tener el permiso serviceusage.services.use para el ID del proyecto que especificas, además de los permisos normales de IAM necesarios a fin de hacer una solicitud.

2 Este permiso solo es necesario si deseas incluir LCA o políticas de IAM como parte de una proyección full. Si no tienes este permiso y solicitas una proyección full, solo recibirás una proyección parcial.

3 Este permiso solo es necesario cuando la solicitud incluye el parámetro de búsqueda enableObjectRetention.

4 Este permiso solo es necesario si deseas incluir al LCA como parte de la respuesta.

5 Este permiso solo es necesario si deseas incluir LCAs o cambios en la configuración de la prevención del acceso público como parte de la solicitud.

6 Este permiso no se aplica a los buckets que tengan el acceso uniforme a nivel de depósito habilitado.

7 Este permiso solo es necesario si la solicitud hace que se reemplace un objeto con el mismo nombre.

8 Este permiso es obligatorio cuando el cuerpo de la solicitud incluye la propiedad retention o cuando se hace una solicitud UPDATE para un objeto que tiene una configuración de retención existente.

9 Este permiso solo es necesario cuando la solicitud incluye el parámetro de búsqueda overrideUnlockedRetention=true.

10 Este permiso solo es necesario cuando la solicitud incluye el parámetro de búsqueda allowNonEmpty=true.

11 Este permiso solo es necesario cuando la solicitud incluye el parámetro de búsqueda allowOverwrite=true y la solicitud hace que se reemplace un objeto con el mismo nombre.

12 Este permiso solo es necesario cuando la solicitud incluye el parámetro de búsqueda copySourceAcl=true.

Métodos relacionados con las LCA

En la siguiente tabla, se enumeran los permisos de IAM necesarios para ejecutar métodos de JSON que se aplican específicamente a la administración de las LCA. Estos métodos solo se aplican a los depósitos que tienen inhabilitado el acceso uniforme a nivel del depósito.

Recurso Método Permisos de IAM obligatorios1
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 Si usas el parámetro userProject o el encabezado x-goog-user-project en tu solicitud, debes tener el permiso serviceusage.services.use para el ID del proyecto que especificas, además de los permisos normales de IAM necesarios a fin de hacer una solicitud.

¿Qué sigue?