Permisos de gestión de identidades y accesos para métodos JSON

En la siguiente tabla se indican los permisos de Gestión de Identidades y Accesos (IAM) necesarios para ejecutar cada método JSON de Cloud Storage en un recurso determinado. Los permisos de gestión de identidades y accesos se agrupan para formar roles. Concede roles a usuarios y grupos.

Para ver otros métodos que solo se aplican a los segmentos con el acceso uniforme a nivel de segmento inhabilitado, consulta la tabla de métodos de LCA.

Recurso Método Permisos de gestión de identidades y accesos necesarios1
AnywhereCache create storage.anywhereCaches.create
AnywhereCache disable storage.anywhereCaches.disable
AnywhereCache get storage.anywhereCaches.get
AnywhereCache list storage.anywhereCaches.list
AnywhereCache pause storage.anywhereCaches.pause
AnywhereCache resume storage.anywhereCaches.resume
AnywhereCache update storage.anywhereCaches.update
Buckets delete storage.buckets.delete
Buckets get storage.buckets.get
storage.buckets.getIamPolicy2
storage.buckets.getIpFilter13
storage.anywhereCaches.get18
Buckets getIamPolicy storage.buckets.getIamPolicy
Buckets insert storage.buckets.create
storage.buckets.enableObjectRetention3
storage.buckets.setIpFilter14
Buckets list storage.buckets.list
storage.buckets.getIamPolicy2
storage.buckets.getIpFilter13
storage.anywhereCaches.list
Buckets listChannels storage.buckets.get
Buckets lockRetentionPolicy storage.buckets.update
Buckets patch storage.buckets.update
storage.buckets.getIamPolicy4
storage.buckets.setIamPolicy5
storage.buckets.setIpFilter14
storage.buckets.getIpFilter13
Buckets relocate storage.buckets.relocate
Buckets setIamPolicy storage.buckets.setIamPolicy
Buckets testIamPermissions Ninguno
Buckets update storage.buckets.update
storage.buckets.getIamPolicy4
storage.buckets.setIamPolicy5
storage.buckets.setIpFilter14
storage.buckets.getIpFilter13
storage.anywhereCaches.update
DatasetConfigs delete storageinsights.datasetConfigs.delete
DatasetConfigs get storageinsights.datasetConfigs.get
DatasetConfigs insert storageinsights.datasetConfigs.create
DatasetConfigs list storageinsights.datasetConfigs.list
DatasetConfigs linkDataset storageinsights.datasetConfigs.linkDataset
DatasetConfigs unlinkDataset storageinsights.datasetConfigs.unlinkDataset
DatasetConfigs patch storageinsights.datasetConfigs.update
Channels stop Ninguno
Folders get storage.folders.get
Folders insert storage.folders.create
Folders list storage.folders.list
Folders rename storage.folders.rename (para la carpeta de origen)
storage.folders.create (para la carpeta de destino)
Folders delete storage.folders.delete
IntelligenceConfig getIntelligenceConfig storage.intelligenceConfigs.get
IntelligenceConfig updateIntelligenceConfig storage.intelligenceConfigs.update
Jobs create storagebatchoperations.jobs.create
Jobs get storagebatchoperations.jobs.get
storagebatchoperations.operations.get
Jobs list storagebatchoperations.jobs.list
storagebatchoperations.operations.list
Jobs cancel storagebatchoperations.jobs.cancel
storagebatchoperations.operations.cancel
Jobs delete storagebatchoperations.jobs.delete
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 contenedor de origen)
storage.objects.create (para el contenedor de destino)
storage.objects.delete (para el contenedor de destino)7
storage.objects.setRetention (para el contenedor 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 move storage.objects.move15 (para el objeto de origen)
storage.objects.delete15 (para el objeto de origen)
storage.objects.get15 (para el objeto de origen)
storage.objects.create (para el objeto de destino)
storage.objects.delete16 (para el objeto de destino)
storage.folders.create17 (para el objeto de destino)
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 contenedor de origen)
storage.objects.create (para el contenedor de destino)
storage.objects.delete (para el contenedor de destino)7
storage.objects.setRetention (para el contenedor 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 de proyecto que especifiques, además de los permisos de gestión de identidades y accesos normales necesarios para hacer la solicitud.

2 Este permiso solo es necesario si quieres incluir LCA o políticas de gestión de identidades y accesos 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 consulta enableObjectRetention.

4 Este permiso solo es obligatorio si quieres incluir ACLs como parte de la respuesta.

5 Este permiso es obligatorio si quieres incluir LCA o cambios en el ajuste Prevención de acceso público como parte de la solicitud.

6 Este permiso no se aplica a los segmentos que tienen habilitado el acceso uniforme a nivel de segmento.

7 Este permiso solo es necesario si la solicitud provoca que se sobrescriba 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.

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

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

11 Este permiso solo es necesario cuando la solicitud incluye el parámetro de consulta allowOverwrite=true y la solicitud provoca que se sobrescriba un objeto con el mismo nombre.

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

13 Este permiso solo es necesario si quieres incluir reglas de filtrado de IP de segmentos como parte de la solicitud Buckets: get. Si no tienes este permiso, solo recibirás una proyección parcial.

14 Este permiso solo es necesario si quieres crear, enumerar, eliminar y actualizar reglas de filtrado por IP de un contenedor.

15 Para mover un objeto dentro de un segmento con el espacio de nombres jerárquico habilitado, necesitas los permisos storage.objects.delete y storage.objects.get, o bien el permiso storage.objects.move si quieres moverlo sin conceder acceso de lectura o eliminación al objeto.

16 Este permiso solo es necesario si quieres sustituir un objeto.

17 Este permiso solo es necesario si quieres crear automáticamente las carpetas superiores que falten.

18 Este permiso solo es obligatorio si quieres devolver cachés creadas con Anywhere Cache.

Métodos relacionados con las LCAs

En la siguiente tabla se indican los permisos de IAM necesarios para ejecutar métodos JSON que se aplican específicamente a la gestión de ACLs. Estos métodos solo se aplican a los segmentos que tienen inhabilitado el acceso uniforme a nivel de segmento.

Recurso Método Permisos de gestión de identidades y accesos necesarios1
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 de proyecto que especifiques, además de los permisos de gestión de identidades y accesos normales necesarios para hacer la solicitud.

Siguientes pasos