En la siguiente página, se analizan los permisos necesarios para la administración de identidades y accesos (IAM) a fin de realizar diversas acciones en los buckets y objetos de Cloud Storage cuando se usa Cloud Console. Los permisos de IAM se agrupan para crear funciones, y tú las asignas a usuarios y grupos.
Permisos comunes necesarios para usar Cloud Console
Algunos permisos son muy necesarios para usar Cloud Console:
Todas las acciones que involucran depósitos requieren los permisos
resourcemanager.projects.get
ystorage.buckets.list
a nivel del proyecto.Estos permisos te permiten acceder a la página de depósitos del navegador de Console en la que puedes crear, ver y actualizar depósitos.
En general, las acciones que involucran objetos requieren el permiso
storage.objects.list
a nivel del proyecto o del depósito.Este permiso no es obligatorio si solo accedes a las páginas de detalles de objetos específicos y nunca necesitas acceder a la lista general de objetos en un bucket.
Todas las acciones que incluyen un proyecto de facturación en la solicitud requieren el permiso
serviceusage.services.use
para el proyecto que se especifica.Este permiso te asegura la autorización para facturar el proyecto que especificaste. La inclusión de un proyecto de facturación se usa, por ejemplo, cuando accedes a un depósito con los pagos del solicitante habilitados.
Permisos necesarios para acciones específicas
Acción | Permisos necesarios de IAM (además de los ya enumerados) |
---|---|
Crea un bucket | storage.buckets.create |
Hacer una lista de depósitos o filtrarlos | No se necesitan permisos adicionales |
Acceder a la pestaña “Descripción general” de un bucket | storage.buckets.get |
Ver o editar la configuración del sitio web de un bucket (si está habilitado) | storage.buckets.get storage.buckets.update |
Cambiar las etiquetas del bucket, la clase de almacenamiento predeterminada o la conservación basada en eventos predeterminada | storage.buckets.get storage.buckets.update |
Habilitar la función de pagos del solicitante | storage.buckets.get storage.buckets.update |
Inhabilitar la función de pagos del solicitante | storage.buckets.get storage.buckets.update resourcemanager.projects.createBillingAssignment 3 |
Configurar o actualizar las políticas del ciclo de vida del objeto | storage.buckets.get storage.buckets.update |
Ver las políticas del ciclo de vida de los objetos | storage.buckets.get |
Configurar o quitar la clave predeterminada de un depósito de Cloud Key Management Service | storage.buckets.get storage.buckets.update |
Ver la clave predeterminada de un depósito de Cloud Key Management Service | storage.buckets.get |
Configurar, quitar o bloquear la política de retención de un depósito | storage.buckets.get storage.buckets.update |
Ver la política de retención de un depósito | storage.buckets.get |
Configurar o quitar el acceso uniforme a nivel de bucket de un bucket | storage.buckets.get storage.buckets.update |
Ver el estado del acceso uniforme a nivel de bucket de un bucket | storage.buckets.get |
Cambiar los permisos del bucket | storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
Borrar un bucket vacío | storage.buckets.delete storage.objects.list |
Borrar un bucket que no esté vacío | storage.buckets.delete storage.objects.delete storage.objects.list |
Subir un objeto | storage.objects.create |
Ver la página de detalles de un objeto5 | storage.objects.get |
Descargar un objeto5 | storage.objects.get |
Hacer una lista de objetos de un bucket | No se necesitan permisos adicionales |
Determinar si un objeto es de acceso público5 | storage.buckets.getIamPolicy storage.objects.getIamPolicy 4 |
Cambiarle el nombre a un objeto | storage.objects.create storage.objects.delete storage.objects.get storage.objects.getIamPolicy 4storage.objects.setIamPolicy 4 |
Copiar un objeto | storage.objects.create storage.objects.delete 1storage.objects.get storage.objects.getIamPolicy 2,4storage.objects.setIamPolicy 2,4 |
Mover un objeto | storage.objects.create storage.objects.delete 1storage.objects.delete storage.objects.get storage.objects.getIamPolicy 2,4storage.objects.setIamPolicy 2,4 |
Ver los permisos de acceso de un objeto5,6 | storage.objects.get storage.objects.getIamPolicy |
Editar los permisos de acceso de un objeto5,6 | storage.objects.get storage.objects.getIamPolicy storage.objects.setIamPolicy storage.objects.update |
Editar los metadatos de un objeto | storage.objects.get storage.objects.update |
Agregar o quitar una conservación en un objeto | storage.objects.get storage.objects.update |
Borrar un objeto5 | storage.objects.delete |
Ver las claves HMAC de un proyecto | resourcemanager.projects.get storage.hmacKeys.list |
Crear una clave HMAC para una cuenta de servicio | resourcemanager.projects.get storage.hmacKeys.list storage.hmacKeys.create |
Inhabilitar o volver a habilitar una clave HMAC para una cuenta de servicio | resourcemanager.projects.get storage.hmacKeys.list storage.hmacKeys.update |
Borrar una clave HMAC para una cuenta de servicio | resourcemanager.projects.get storage.hmacKeys.list storage.hmacKeys.delete |
1 Este permiso solo es necesario cuando el objeto copiado o movido tiene el mismo nombre que un objeto que ya existe en el depósito.
2 Este permiso solo es necesario cuando se mantienen los permisos que se aplican en la actualidad al objeto de origen.
3 Este permiso solo es necesario si no incluyes un proyecto de facturación en tu solicitud. Consulta los requisitos de uso y acceso de los Pagos del solicitante para obtener más información.
4 Este permiso no se aplica a los buckets que tengan el acceso uniforme a nivel de bucket habilitado.
5 Esta acción no requiere storage.objects.list
si se realiza en la página de detalles del objeto relevante.
6 Esta acción no se aplica a los buckets que tengan el acceso uniforme a nivel de bucket habilitado.
Próximos pasos
A fin de obtener una lista de las funciones y los permisos que contienen, consulta Funciones de IAM para Cloud Storage.
Asigna funciones de IAM a nivel de proyecto y de bucket.