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.getstorage.buckets.getIamPolicy2storage.buckets.getIpFilter13storage.anywhereCaches.get18 |
Buckets |
getIamPolicy |
storage.buckets.getIamPolicy |
Buckets |
insert |
storage.buckets.createstorage.buckets.enableObjectRetention3storage.buckets.setIpFilter14 |
Buckets |
list |
storage.buckets.liststorage.buckets.getIamPolicy2storage.buckets.getIpFilter13storage.anywhereCaches.list |
Buckets |
listChannels |
storage.buckets.get |
Buckets |
lockRetentionPolicy |
storage.buckets.update |
Buckets |
patch |
storage.buckets.updatestorage.buckets.getIamPolicy4storage.buckets.setIamPolicy5storage.buckets.setIpFilter14storage.buckets.getIpFilter13 |
Buckets |
relocate |
storage.buckets.relocate |
Buckets |
setIamPolicy |
storage.buckets.setIamPolicy |
Buckets |
testIamPermissions |
Ninguno |
Buckets |
update |
storage.buckets.updatestorage.buckets.getIamPolicy4storage.buckets.setIamPolicy5storage.buckets.setIpFilter14storage.buckets.getIpFilter13storage.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.renamestorage.folders.create |
Folders |
delete |
storage.folders.delete |
IntelligenceConfig |
getIntelligenceConfig |
storage.intelligenceConfigs.get |
IntelligenceConfig |
updateIntelligenceConfig |
storage.intelligenceConfigs.update |
Jobs |
create |
storagebatchoperations.jobs.create |
Jobs |
get |
storagebatchoperations.jobs.getstoragebatchoperations.operations.get |
Jobs |
list |
storagebatchoperations.jobs.liststoragebatchoperations.operations.list |
Jobs |
cancel |
storagebatchoperations.jobs.cancelstoragebatchoperations.operations.cancel |
Jobs |
delete |
storagebatchoperations.jobs.delete |
ManagedFolders |
delete |
storage.managedfolders.deletestorage.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.restorestorage.objects.createstorage.objects.delete11storage.objects.restorestorage.objects.setIamPolicy6,12 |
Objects |
compose |
storage.objects.getstorage.objects.createstorage.objects.delete7storage.objects.getIamPolicy2,6storage.objects.setRetention8storage.objects.createContext19 |
Objects |
copy |
storage.objects.getstorage.objects.createstorage.objects.deletestorage.objects.setRetentionstorage.objects.createContext19 |
Objects |
delete |
storage.objects.delete |
Objects |
get |
storage.objects.getstorage.objects.getIamPolicy2,6 |
Objects |
insert |
storage.objects.createstorage.objects.delete7storage.objects.setRetention8storage.objects.createContext19 |
Objects |
list |
storage.objects.liststorage.objects.getIamPolicy2,6 |
Objects |
move |
storage.objects.move15storage.objects.delete15storage.objects.get15storage.objects.createstorage.objects.delete16storage.folders.create17 |
Objects |
patch |
storage.objects.updatestorage.objects.setRetention8storage.objects.overrideUnlockedRetention9storage.objects.getIamPolicy4,6storage.objects.setIamPolicy5,6storage.objects.createContext20storage.objects.updateContext21storage.objects.deleteContext22 |
Objects |
restore |
storage.objects.createstorage.objects.delete7storage.objects.restorestorage.objects.getIamPolicy2,6storage.objects.setIamPolicy6,12 |
Objects |
rewrite |
storage.objects.getstorage.objects.createstorage.objects.deletestorage.objects.setRetentionstorage.objects.createContext19 |
Objects |
update |
storage.objects.updatestorage.objects.setRetention8storage.objects.overrideUnlockedRetention9storage.objects.getIamPolicy4,6storage.objects.setIamPolicy5,6storage.objects.createContext20storage.objects.updateContext21storage.objects.deleteContext22 |
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 LCAs o políticas de gestión de identidades y accesos como parte de una full proyección. Si no tienes este permiso y solicitas una proyección full, solo recibirás una proyección parcial.
3 Este permiso solo es obligatorio 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 las cachés creadas con Anywhere Cache.
19 Este permiso solo es necesario si la solicitud incluye una propiedad destination.contexts.custom no vacía para componer un objeto o una propiedad contexts.custom no vacía para copiar, insertar o reescribir un objeto.
20 Este permiso solo es necesario si quieres añadir contextos a un objeto.
21 Este permiso solo es necesario si quieres actualizar los contextos de un objeto.
22 Este permiso solo es necesario si quiere eliminar contextos de un objeto.
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.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
BucketAccessControls |
get |
storage.buckets.getstorage.buckets.getIamPolicy |
BucketAccessControls |
insert |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
BucketAccessControls |
list |
storage.buckets.getstorage.buckets.getIamPolicy |
BucketAccessControls |
patch |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
BucketAccessControls |
update |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
DefaultObjectAccessControls |
delete |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
DefaultObjectAccessControls |
get |
storage.buckets.getstorage.buckets.getIamPolicy |
DefaultObjectAccessControls |
insert |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
DefaultObjectAccessControls |
list |
storage.buckets.getstorage.buckets.getIamPolicy |
DefaultObjectAccessControls |
patch |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
DefaultObjectAccessControls |
update |
storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
ObjectAccessControls |
delete |
storage.objects.getstorage.objects.getIamPolicystorage.objects.setIamPolicystorage.objects.update |
ObjectAccessControls |
get |
storage.objects.getstorage.objects.getIamPolicy |
ObjectAccessControls |
insert |
storage.objects.getstorage.objects.getIamPolicystorage.objects.setIamPolicystorage.objects.update |
ObjectAccessControls |
list |
storage.objects.getstorage.objects.getIamPolicy |
ObjectAccessControls |
patch |
storage.objects.getstorage.objects.getIamPolicystorage.objects.setIamPolicystorage.objects.update |
ObjectAccessControls |
update |
storage.objects.getstorage.objects.getIamPolicystorage.objects.setIamPolicystorage.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
Para ver una lista de los roles y los permisos que contienen, consulta Roles de gestión de identidades y accesos para Cloud Storage.
Asigna roles de gestión de identidades y accesos a nivel de proyecto y de segmento.