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.getIamPolicy 2storage.buckets.getIpFilter 13storage.anywhereCaches.get 18 |
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 13storage.anywhereCaches.list |
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 |
Ninguno |
Buckets |
update |
storage.buckets.update storage.buckets.getIamPolicy 4storage.buckets.setIamPolicy 5storage.buckets.setIpFilter 14storage.buckets.getIpFilter 13storage.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 storage.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.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.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 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
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.