Funciones de IAM para Cloud Storage

Funciones predefinidas

En la siguiente tabla, se describen las funciones de administración de identidades y accesos (IAM) asociadas con Cloud Storage y se enumeran los permisos que contiene cada función. A menos que se indique lo contrario, estas funciones se pueden aplicar a proyectos enteros o depósitos específicos.

Función Descripción Permisos
Creador de objetos de almacenamiento (roles/storage.objectCreator) Permite a los usuarios crear objetos. No otorga permisos para ver, borrar ni reemplazar objetos. resourcemanager.projects.get
resourcemanager.projects.list
storage.objects.create
Visualizador de objetos de almacenamiento (roles/storage.objectViewer) Otorga acceso para ver los objetos y sus metadatos, sin incluir las LCA.

También se pueden enumerar los objetos de un depósito.

resourcemanager.projects.get
resourcemanager.projects.list
storage.objects.get
storage.objects.list
Administrador de objetos de almacenamiento (roles/storage.objectAdmin) Otorga control total sobre los objetos, lo que incluye permisos para enumerarlos, crearlos, verlos y borrarlos. resourcemanager.projects.get
resourcemanager.projects.list
storage.objects.*
Administrador de claves HMAC de almacenamiento (roles/storage.hmacKeyAdmin) Otorga control total de las claves HMAC en un proyecto. Esta función solo se puede aplicar a un proyecto. storage.hmacKeys.*
Administrador de almacenamiento (roles/storage.admin) Otorga control total sobre los depósitos y objetos.

Cuando se aplica en un depósito individual, el control solo se aplica al depósito especificado y a los objetos que contiene.

firebase.projects.get
resourcemanager.projects.get
resourcemanager.projects.list
storage.buckets.*
storage.objects.*

Funciones básicas

Las funciones básicas son funciones que existían antes de IAM. Estas funciones tienen características únicas:

  • Las funciones básicas solo se pueden otorgar a un proyecto completo, no a depósitos individuales dentro del proyecto. Al igual que las otras funciones que se otorgan a un proyecto, las funciones básicas se aplican a todos los depósitos y objetos del proyecto.

  • Las funciones básicas contienen permisos adicionales para otros servicios de Google Cloud que no se tratan en esta sección. Consulta las funciones básicas para ver un análisis general de los permisos que otorgan estas funciones.

  • En algunos casos, las funciones básicas se pueden usar como si fueran grupos, lo que hace que cualquier miembro que tenga la función básica obtenga acceso adicional para algunos recursos.

    • Se puede usar una función básica como si fuera un grupo cuando se otorgan funciones para depósitos.

    • Una función básica se puede usar como si fuera un grupo cuando se configuran las LCA en los objetos.

    Para ver un análisis del acceso adicional que los miembros de las funciones básicas suelen obtener debido a este comportamiento, consulta comportamiento modificable.

Permisos intrínsecos

En la siguiente tabla, se describen los permisos de Cloud Storage que siempre están asociados con cada función básica.

Función Descripción Permisos de Cloud Storage
Visualizador (roles/viewer) Otorga permiso para enumerar los depósitos del proyecto, ver los metadatos del depósito durante la enumeración (sin incluir las LCA), y enumerar y obtener las claves HMAC del proyecto. storage.buckets.list
storage.hmacKeys.get
storage.hmacKeys.list
Editor (roles/editor) Otorga el permiso para crear, enumerar y borrar los depósitos en el proyecto, ver los metadatos del depósito durante la enumeración (sin incluir las LCA), y controlar las claves HMAC del proyecto. storage.buckets.create
storage.buckets.delete
storage.buckets.list
storage.hmacKeys.*
Propietario (roles/owner)

Otorga el permiso para crear, enumerar y borrar los depósitos en el proyecto, ver los metadatos del depósito durante la enumeración (sin incluir las LCA), y controlar las claves HMAC del proyecto.

En general, en Google Cloud, los miembros con esta función pueden realizar tareas administrativas, como cambiar las funciones de los miembros del proyecto o cambiar la facturación.

storage.buckets.create
storage.buckets.delete
storage.buckets.list
storage.hmacKeys.*

Comportamiento modificable

Los miembros a los que se les otorga una función básica suelen tener acceso adicional más allá de los permisos intrínsecos asociados con la función básica. Esto se debe a que las funciones básicas pueden tener acceso a depósitos y objetos. En la siguiente tabla, se describe el acceso adicional a Cloud Storage que suele asociarse con cada función básica. Puedes modificar o quitar este acceso adicional otorgado a las funciones básicas.

Función Acceso adicional que obtienen los miembros con esa función
Visualizador (roles/viewer)
Editor (roles/editor)
Propietario (roles/owner)

Funciones heredadas predefinidas

En la siguiente tabla, se enumeran las funciones de IAM que son equivalentes a los permisos de Lista de control de acceso (LCA). Puedes otorgar funciones heredadas solo para depósitos individuales, no para proyectos.

Función Descripción Permisos
Lector de objetos heredados de almacenamiento (roles/storage.legacyObjectReader) Otorga permiso para ver los objetos y sus metadatos, sin incluir las LCA. storage.objects.get
Propietario de objetos heredados de almacenamiento (roles/storage.legacyObjectOwner) Otorga permiso para ver y editar objetos y sus metadatos, incluidas las LCA. storage.objects.get
storage.objects.update
storage.objects.setIamPolicy
storage.objects.getIamPolicy
Lector de depósitos heredados de almacenamiento (roles/storage.legacyBucketReader) Otorga permiso para enumerar el contenido y leer los metadatos de un depósito, sin incluir las políticas de IAM. También otorga permiso para leer metadatos de objeto cuando se enumeran objetos (sin incluir las políticas de IAM).

El uso de esta función también se refleja en las LCA del depósito. Consulta la relación de la IAM con las LCA para obtener más información.

storage.buckets.get
storage.objects.list
Escritor de depósitos heredados de almacenamiento (roles/storage.legacyBucketWriter) Otorga permiso para crear, reemplazar y borrar objetos; enumerar objetos en un depósito; leer los metadatos de objetos cuando se los enumera (excepto las políticas de IAM); y leer los metadatos del depósito, excepto las políticas de IAM.

El uso de esta función también se refleja en las LCA del depósito. Consulta la relación de la IAM con las LCA para obtener más información.

storage.buckets.get
storage.objects.list
storage.objects.create
storage.objects.delete
Propietario de depósitos heredados de almacenamiento (roles/storage.legacyBucketOwner) Otorga permiso para crear, reemplazar y borrar objetos; enumerar objetos en un depósito; leer los metadatos de objetos cuando se los enumera (excepto las políticas de IAM); y leer y editar los metadatos del depósito, incluidas las políticas de IAM.

El uso de esta función también se refleja en las LCA del depósito. Consulta la relación de la IAM con las LCA para obtener más información.

storage.buckets.get
storage.buckets.update
storage.buckets.setIamPolicy
storage.buckets.getIamPolicy
storage.objects.list
storage.objects.create
storage.objects.delete

Funciones personalizadas

Es posible que desees definir tus propias funciones que contengan paquetes de permisos específicos. Para ello, IAM ofrece funciones personalizadas.

¿Qué sigue?