En la siguiente página, se analizan los permisos de Identity and Access Management (IAM) necesarios para realizar acciones dentro de la parte de Cloud Storage de la consola de Google Cloud. Los permisos de IAM se agrupan para crear roles, y tú asignas roles a usuarios y grupos.
Permisos comunes necesarios para usar la consola de Google Cloud
Algunos permisos son muy necesarios para usar la consola de Google Cloud:
Todas las acciones que involucran buckets deben incluir los permisos
resourcemanager.projects.get
ystorage.buckets.list
a nivel del proyecto.Estos permisos te permiten acceder a la página Buckets, en la que puedes crear, ver y actualizar buckets.
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 storage.buckets.enableObjectRetention 1 |
Adjunta una etiqueta a un bucket | storage.buckets.createTagBinding |
Hacer una lista de buckets o filtrarlos | No se necesitan permisos adicionales |
Enumera las etiquetas directamente conectadas a un bucket | storage.buckets.listTagBindings |
Enumera las etiquetas heredadas y las etiquetas directamente conectadas a un bucket | storage.buckets.listEffectiveTags |
Observa la siguiente información del bucket:
|
storage.buckets.get |
Cambia la siguiente configuración de bucket:
|
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 |
Cambia la configuración de prevención del acceso público | storage.buckets.get storage.buckets.setIamPolicy storage.buckets.update |
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 |
Desconecta una etiqueta de un bucket | storage.buckets.deleteTagBinding |
Crea una carpeta | storage.folders.create |
Obtén los metadatos de una carpeta | storage.folders.get |
Mostrar lista de carpetas | storage.folders.list |
Cambiar de nombre carpetas | storage.folders.rename (para el bucket de origen)storage.folders.create (para el bucket de destino) |
Borrar carpetas | storage.folders.delete |
Subir un objeto o una carpeta de objetos | storage.objects.create storage.objects.delete 2storage.objects.setRetention 4 |
Ver los detalles de un objeto5 | storage.objects.get storage.objects.list |
Ver el historial de versiones de un objeto | storage.objects.get storage.objects.list |
Descargar un objeto5 o una carpeta de objetos | storage.objects.get storage.objects.list |
Enumera los objetos de un bucket, incluidos los objetos no actuales y los objetos borrados de forma no definitiva | storage.objects.list |
Determinar si un objeto es de acceso público5 | storage.buckets.getIamPolicy storage.objects.list storage.objects.getIamPolicy 7 |
Cambiar el nombre de un objeto o restablecer una versión no actual de un objeto | storage.objects.create storage.objects.delete storage.objects.get storage.objects.list storage.objects.getIamPolicy 7storage.objects.setIamPolicy 7 |
Copiar un objeto | storage.objects.create storage.objects.delete 2storage.objects.get storage.objects.list storage.objects.getIamPolicy 7,8storage.objects.setIamPolicy 7,8 |
Mover un objeto | storage.objects.create storage.objects.delete 2storage.objects.delete storage.objects.get storage.objects.list storage.objects.getIamPolicy 7,8storage.objects.setIamPolicy 7,8 |
Ver los permisos de acceso de un objeto5,6 | storage.objects.get storage.objects.list storage.objects.getIamPolicy |
Editar los permisos de acceso de un objeto5,6 | storage.objects.get storage.objects.list storage.objects.getIamPolicy storage.objects.setIamPolicy storage.objects.update |
Edita los metadatos de un objeto.5 | storage.objects.get storage.objects.list storage.objects.update |
Agregar, cambiar o quitar una configuración de retención en un objeto5 | storage.objects.get storage.objects.list storage.objects.update storage.objects.setRetention storage.objects.overrideUnlockedRetention 9 |
Agregar o quitar una conservación en un objeto5 | storage.objects.get storage.objects.list storage.objects.update |
Borrar un objeto5, una versión no actual de un objeto o una carpeta de objetos | storage.objects.delete storage.objects.list |
Restablece un objeto borrado | storage.objects.create storage.objects.delete 2storage.objects.list storage.objects.restore |
Restablece de forma masiva los objetos borrados | storage.objects.create storage.objects.delete 10storage.objects.restore storage.buckets.restore storage.objects.setIamPolicy 7,11 |
Ver el nombre del agente de servicio de Cloud Storage de un proyecto | resourcemanager.projects.get |
Ver las claves HMAC de la cuenta de servicio 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 |
Crear, ver o borrar una clave HMAC para la cuenta de usuario con la que accediste | resourcemanager.projects.get |
1Este permiso solo es necesario cuando se habilita un bucket para admitir configuraciones de retención de objetos.
2Este permiso solo es necesario si ya existe un objeto con el mismo nombre en el bucket de destino.
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.
4Este permiso solo es necesario cuando se agrega una configuración de retención como parte de la carga del objeto.
5 Esta acción no requiere storage.objects.list
si se realiza en la página de detalles del objeto relevante y no accedes a ella desde la lista general de objetos para el bucket.
6 Esta acción no se aplica a los depósitos que tengan el acceso uniforme a nivel de depósito habilitado.
6Este permiso no se aplica a los buckets que tengan el acceso uniforme a nivel de bucket habilitado.
8Este permiso solo es necesario cuando se mantienen los permisos que se aplican en la actualidad al objeto de origen.
9Este permiso es necesario cuando se cambia una configuración de retención existente de modo que la configuración se bloquee, se reduzca o se quite.
10Este permiso solo es necesario si ya existe un objeto con el mismo nombre en el bucket de destino y seleccionas la opción Reemplazar objetos activos.
11 Este permiso solo es necesario cuando se selecciona la opción Copiar controles de acceso de origen (LCA).
¿Qué sigue?
A fin de obtener una lista de roles y los permisos que contienen, consulta Roles de IAM para Cloud Storage.
Asigna roles de IAM a nivel de proyecto y de bucket.