En la siguiente tabla se indican los permisos de Gestión de Identidades y Accesos (IAM) necesarios para ejecutar cada método XML de Cloud Storage en un recurso determinado.
| Método | Recurso | Subrecurso | Permisos de gestión de identidades y accesos necesarios1 | 
|---|---|---|---|
| DELETE | bucket | storage.buckets.delete | |
| DELETE | object | storage.objects.delete | |
| DELETE | object | uploadId | storage.multipartUploads.abort | 
| GET | storage.buckets.list | ||
| GET | bucket | storage.objects.list | |
| GET | bucket | acls3 | storage.buckets.getstorage.buckets.getIamPolicy | 
| GET | bucket | Metadatos no ACL | storage.buckets.get | 
| GET | bucket | uploads | storage.multipartUploads.list | 
| GET | object | storage.objects.get | |
| GET | object | acls3 | storage.objects.getstorage.objects.getIamPolicy | 
| GET | object | encryption | storage.objects.get | 
| GET | object | retention | storage.objects.get | 
| GET | object | uploadId | storage.multipartUploads.listParts | 
| HEAD | bucket | storage.buckets.get | |
| HEAD | object | storage.objects.get | |
| POST | object | storage.objects.createstorage.objects.delete4storage.objects.setRetention5 | |
| POST | object | uploadId | storage.multipartUploads.createstorage.objects.createstorage.objects.delete4 | 
| POST | object | uploads | storage.multipartUploads.createstorage.objects.createstorage.objects.setRetention5 | 
| PUT | bucket | storage.buckets.createstorage.buckets.enableObjectRetention6 | |
| PUT | bucket | acls3 | storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update | 
| PUT | bucket | Metadatos no ACL | storage.buckets.update | 
| PUT7 | object | storage.objects.createstorage.objects.get2storage.objects.delete4storage.objects.setRetention5 | |
| PUT | object | acls3 | storage.objects.getstorage.objects.getIamPolicystorage.objects.setIamPolicystorage.objects.update | 
| PUT | object | compose | storage.objects.createstorage.objects.getstorage.objects.delete4storage.objects.setRetention5 | 
| PUT | object | retention | storage.objects.setRetentionstorage.objects.updatestorage.objects.overrideUnlockedRetention8 | 
| PUT | object | uploadId | storage.multipartUploads.createstorage.objects.create | 
| GET | Projects.hmacKeys | storage.hmacKeys.get | |
| POST | Projects.hmacKeys | storage.hmacKeys.createstorage.hmacKeys.updatestorage.hmacKeys.delete | 
1 Si usas el encabezado x-goog-user-project o el parámetro de cadena de consulta userProject 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 es obligatorio para el segmento de origen cuando la solicitud incluye el encabezado x-goog-copy-source.
3 Este subrecurso no se aplica a los segmentos que tienen habilitado el acceso uniforme a nivel de segmento.
4 Este permiso solo es necesario cuando el objeto insertado tiene el mismo nombre que un objeto que ya existe en el segmento.
5 Este permiso solo es necesario cuando la solicitud incluye los encabezados x-goog-object-lock-mode y x-goog-object-lock-retain-until-date.
6 Este permiso solo es necesario cuando la solicitud incluye un encabezado x-goog-bucket-object-lock-enabled definido como true.
7 No se necesitan permisos para hacer solicitudes de PUT asociadas a una subida reanudable.
8 Este permiso solo es necesario cuando la solicitud incluye un encabezado x-goog-bypass-governance-retention con el valor true.
Siguientes pasos
- Para ver una lista de los roles y los permisos que contienen, consulta Roles de gestión de identidades y accesos para Cloud Storage.