Permisos de la gestión de identidades y accesos para los comandos gsutil

En la siguiente tabla se enumeran los permisos de la gestión de identidades y accesos necesarios para ejecutar cada comando gsutil de Cloud Storage en un recurso determinado. Consulta las notas debajo de la tabla sobre el uso de comodines y las marcas -r y -m.

Comando Subcomando Recurso de interacción Permisos de gestión de identidades y accesos necesarios
acl get Segmentos storage.buckets.get
storage.buckets.getIamPolicy
acl set o ch Segmentos storage.buckets.get
storage.buckets.getIamPolicy
storage.buckets.setIamPolicy
storage.buckets.update
acl get Objetos storage.objects.get
storage.objects.getIamPolicy
acl set o ch Objetos storage.objects.get
storage.objects.getIamPolicy
storage.objects.setIamPolicy
storage.objects.update
cat Objetos storage.objects.get
compose Objetos storage.objects.get (para los objetos de origen)
storage.objects.create (para el segmento de destino)
storage.objects.delete1 (para el segmento de destino)
config Ninguno
cors get Segmentos storage.buckets.get
cors set Segmentos storage.buckets.setIamPolicy10
storage.buckets.update
cp Objetos storage.objects.get (para los objetos de origen)3
storage.objects.create (para el segmento de destino)
storage.objects.delete1,2 (para el segmento de destino)
storage.objects.getIamPolicy 4 (para los objetos de origen)
storage.objects.setIamPolicy4 (para el segmento de destino)
defacl get Segmentos storage.buckets.get
storage.buckets.getIamPolicy
defacl set o ch Segmentos storage.buckets.get
storage.buckets.getIamPolicy
storage.buckets.setIamPolicy
storage.buckets.update
defstorageclass get Segmentos storage.buckets.get
defstorageclass set Segmentos storage.buckets.setIamPolicy10
storage.buckets.update
du Objetos storage.objects.get
hash Objetos storage.objects.get
help Ninguno
iam get Segmentos storage.buckets.get
storage.buckets.getIamPolicy
iam set o ch Segmentos storage.buckets.get
storage.buckets.getIamPolicy
storage.buckets.setIamPolicy
storage.buckets.update
iam get Objetos storage.objects.get
storage.objects.getIamPolicy
iam set o ch Objetos storage.objects.get
storage.objects.getIamPolicy
storage.objects.setIamPolicy
storage.objects.update
label get Segmentos storage.buckets.get
label set/ch Segmentos storage.buckets.setIamPolicy10
storage.buckets.update
lifecycle get Segmentos storage.buckets.get
lifecycle set/ch Segmentos storage.buckets.setIamPolicy10
storage.buckets.update
logging get Segmentos storage.buckets.get
logging set Segmentos storage.buckets.setIamPolicy10
storage.buckets.update
ls Proyectos storage.buckets.list
storage.buckets.get5
storage.buckets.getIamPolicy6
ls -b Segmentos storage.buckets.get
storage.buckets.getIamPolicy6
ls Segmentos storage.objects.list
storage.objects.get5
storage.objects.getIamPolicy6
ls Objetos storage.objects.list
storage.objects.get5
storage.objects.getIamPolicy6
mb Segmentos storage.buckets.create
mv Objetos storage.objects.get (para los objetos de origen)3
storage.objects.create (para el segmento de destino)
storage.objects.delete (para el segmento de origen)
storage.objects.delete1,2 (para el segmento de destino)
storage.objects.getIamPolicy 4 (para los objetos de origen)
storage.objects.setIamPolicy4 (para el segmento de destino)
notification create Segmentos storage.buckets.update
notification delete Segmentos storage.buckets.update
notification list Segmentos storage.buckets.get
notification watchbucket Segmentos storage.buckets.update
notification stopchannel Segmentos storage.buckets.update
perfdiag Segmentos storage.buckets.get
storage.objects.create
storage.objects.delete
storage.objects.list
storage.objects.get
rb Segmentos storage.buckets.delete
requesterpays get Segmentos storage.buckets.get
requesterpays set Segmentos storage.buckets.setIamPolicy10
storage.buckets.update
rewrite Objetos storage.objects.list
storage.objects.get
storage.objects.create
storage.objects.delete
storage.objects.update7
rm Segmentos storage.buckets.delete
storage.objects.delete
storage.objects.list
rm Objetos storage.objects.delete
rsync8 Objetos storage.objects.get (para los objetos de origen y el segmento de destino)
storage.objects.create (para el segmento de destino)
storage.objects.delete1,9 (para el segmento de destino)
storage.objects.list (para los segmentos de origen y de destino)
storage.objects.getIamPolicy 4 (para los objetos de origen)
storage.objects.setIamPolicy4 (para el segmento de destino)
setmeta Objetos storage.objects.get
storage.objects.list
storage.objects.update
signurl Ninguno. Sin embargo, la cuenta de servicio afiliada con la petición debe tener storage.objects.get.
stat Objetos storage.objects.get
test Ninguno
update Ninguno
version Ninguno
versioning get Segmentos storage.buckets.get
versioning set Segmentos storage.buckets.setIamPolicy10
storage.buckets.update
web get Segmentos storage.buckets.get
web set Segmentos storage.buckets.setIamPolicy10
storage.buckets.update

1Este permiso solo es obligatorio cuando el nombre del objeto insertado coincide con el de otro objeto que ya existe en el segmento.

2Este permiso no es obligatorio si la marca -n se utiliza en el comando.

3Este permiso también es obligatorio para el segmento de destino si la marca -n se utiliza en el comando.

4Este permiso solo es obligatorio cuando se utilizan las marcas -a o -p en el comando.

5Este permiso solo es obligatorio cuando se utilizan las marcas -L o -l en el comando.

6Este permiso solo es obligatorio si se quiere que las políticas de gestión de identidades y accesos se incluyan en los detalles.

7Este permiso solo es obligatorio cuando se utiliza la marca -k o -s en el comando.

8Si utilizas la marca -n con rsync, el único permiso que necesitas es storage.objects.list.

9Este permiso es obligatorio si la marca -d se utiliza en el comando.

10Este permiso solo es obligatorio si tienes el permiso storage.buckets.getIamPolicy.

La marca de nivel superior -u

Si utilizas la marca de nivel superior -u para especificar un proyecto que debe facturarse según tu petición, debes tener el permiso serviceusage.services.use del proyecto que especificas. La marca -u se utiliza, por ejemplo, para acceder a un segmento con la opción Pagos del solicitante habilitada.

Comodines y marcas repetitivas

Si utilizas comodines de URI para seleccionar varios objetos en un comando, debes tener el permiso storage.objects.list para el segmento que contiene los objetos. Del mismo modo, si utilizas comodines de URI para seleccionar varios segmentos en un comando, debes tener el permiso storage.buckets.list para los proyectos que contienen los segmentos.

Si utilizas marcas repetitivas (-r y -R), debes tener el permiso storage.objects.list para el segmento relevante, además de los permisos necesarios para el comando específico que utilizas.

La marca de nivel superior -m

Normalmente, si utilizas un comando gsutil que actúa en varios objetos o segmentos, el comando falla en el primer error. Sin embargo, cuando utilizas la marca de nivel superior -m, gsutil registra los errores que encuentre y continúa con el proceso.

Por ejemplo, supongamos que intentas realizar un comando acl set en una serie de objetos, pero solo tienes permiso para hacerlo en algunos de los objetos. Si no utilizas la marca -m, gsutil aplicará las LCA correctamente hasta que llegue a un objeto para el que no puedas aplicar una LCA por carecer del permiso adecuado. En ese punto, gsutil falla. Si utilizas la marca -m, gsutil registra los errores que surgen cuando intenta aplicar una LCA en un objeto para el que no tienes permiso; no obstante, continúa con el proceso.

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Si necesitas ayuda, visita nuestra página de asistencia.