Funciones predefinidas
En la siguiente tabla, se describen las funciones de Identity and Access Management (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, buckets o carpetas administradas.
Para aprender a controlar el acceso a los buckets, consulta Usa permisos de IAM. Si deseas obtener información sobre cómo controlar el acceso a las carpetas administradas, consulta Usa IAM para carpetas administradas.
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. No otorga permisos para obtener Listas de control de acceso (LCA) de objetos ni establecer LCA de objetos como parte de una solicitud de actualización de objetos. | orgpolicy.policy.get 1resourcemanager.projects.get 2resourcemanager.projects.list 2storage.objects.create storage.managedFolders.create storage.multipartUploads.create storage.multipartUploads.abort storage.multipartUploads.listParts |
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 y las carpetas administradas de un bucket. |
resourcemanager.projects.get 2resourcemanager.projects.list 2storage.managedFolders.get storage.managedFolders.list storage.objects.get storage.objects.list |
Usuario de objetos de almacenamiento (roles/storage.objectUser ) |
Otorga acceso para crear, ver, enumerar, actualizar y borrar objetos y carpetas administradas, junto con sus metadatos. No otorga permisos para obtener o establecer las LCA ni las políticas de IAM. | orgpolicy.policy.get 1resourcemanager.projects.get 2resourcemanager.projects.list 2storage.managedFolders.create storage.managedFolders.delete storage.managedFolders.list storage.managedFolders.get storage.multipartUploads.* storage.objects.create storage.objects.delete storage.objects.get storage.objects.list storage.objects.restore storage.objects.update |
Administrador de objetos de almacenamiento (roles/storage.objectAdmin ) |
Otorga control total sobre los objetos, lo que incluye enumerarlos, crearlos, visualizarlos y borrarlos, así como establecer LCA de objetos. También otorga acceso para crear, borrar, obtener y enumerar carpetas administradas. | orgpolicy.policy.get 1resourcemanager.projects.get 2resourcemanager.projects.list 2storage.managedFolders.create storage.managedFolders.delete storage.managedFolders.get storage.managedFolders.list storage.objects.* storage.multipartUploads.* |
Administrador de carpetas de almacenamiento
(roles/storage.folderAdmin ) |
Otorga control total sobre los objetos y las carpetas administradas, lo que incluye enumerar, crear, visualizar, borrar y administrar permisos de IAM. | orgpolicy.policy.get 1resourcemanager.projects.get 2resourcemanager.projects.list 2storage.managedFolders.* storage.multipartUploads.* 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. | orgpolicy.policy.get 1storage.hmacKeys.* |
Administrador de almacenamiento (roles/storage.admin ) |
Otorga control total sobre los buckets, carpetas administradas y objetos, lo que incluye obtener y establecer LCA de objetos o políticas de IAM. Cuando se aplica en un bucket individual, el control solo se aplica al bucket especificado y a las carpetas administradas y los objetos dentro del bucket. |
firebase.projects.get orgpolicy.policy.get 1resourcemanager.projects.get 2resourcemanager.projects.list 2storage.buckets.* storage.managedFolders.* storage.objects.* storage.multipartUploads.* |
Administrador de Storage Insights (roles/storageinsights.admin ) |
Otorga control total sobre los informes y las configuraciones de inventario de Storage Insights. | cloudresourcemanager.projects.get cloudresourcemanager.projects.list storageinsights.reportConfigs.* storageinsights.reportDetails.* |
Visualizador de Storage Insights (roles/storageinsights.viewer ) |
Otorga acceso de solo lectura a los informes y configuraciones de inventario de Storage Insights. | cloudresourcemanager.projects.get cloudresourcemanager.projects.list storageinsights.reportConfigs.list storageinsights.reportConfigs.get storageinsights.reportDetails.list storageinsights.reportDetails.get |
Servicio de recopilación de Storage Insights (roles/storage.insightsCollectorService ) |
Otorga acceso de lectura a los metadatos de objetos en los informes de inventario. | resourcemanager.projects.get resourcemanager.projects.list storage.buckets.getObjectInsights storage.buckets.get |
1 El permiso orgpolicy.policy.get
permite que las principales conozcan las restricciones de las políticas de la organización a las que está sujeto un proyecto.
Actualmente, este permiso solo es efectivo si el rol se otorga a nivel de proyecto o superior.
2 Para obtener más información sobre los permisos resourcemanager.projects.*
, consulta Control de acceso para proyectos con IAM.
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.
Cada rol básico tiene un valor de conveniencia que te permite usar el rol básico como si fuera un grupo. Cuando se usa de esta manera, se considera que cualquier principal que tiene el rol básico es parte del grupo. Todos los miembros del grupo obtienen acceso adicional a los recursos según el acceso que tenga el valor de conveniencia.
Los valores de conveniencia se pueden usar cuando se otorgan funciones para buckets.
Los valores de conveniencia se pueden usar cuando se configuran las LCA en los objetos.
Los roles básicos no otorgan de forma intrínseca todo el acceso a los recursos de Cloud Storage que implican sus nombres. En cambio, proporcionan una parte del acceso esperado de forma intrínseca y el resto del acceso esperado mediante el uso de valores de conveniencia. Debido a que los valores de conveniencia se pueden agregar o quitar de forma manual, como cualquiera otra principal de IAM, es posible revocar el acceso que, de lo contrario, las principales podrían tener.
Para ver un análisis del acceso adicional que los principales de las funciones básicas suelen obtener debido a los valores de conveniencia, 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 bucket s del proyecto, ver los metadatos del bucket 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 bucket s en el proyecto, ver los metadatos del bucket 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 permiso para crear, enumerar y borrar buckets en el proyecto; ver los metadatos del bucket durante la enumeración (sin incluir las LCA); crear, borrar y enumerar vinculaciones de etiquetas 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 principales del proyecto o cambiar la facturación. |
storage.buckets.create storage.buckets.delete storage.buckets.list storage.buckets.createTagBinding storage.buckets.deleteTagBinding storage.buckets.listEffectiveTags storage.buckets.listTagBindings storage.hmacKeys.* |
Comportamiento modificable
Los miembros con roles básicos a menudo tienen acceso adicional a los buckets y objetos de un proyecto debido a los valores de conveniencia. Cuando se crea un bucket, los valores de conveniencia se otorgan a cierto nivel a nivel de bucket, pero luego puedes editar las políticas de IAM del bucket y las LCA de tu objeto para quitar o cambiar el acceso.
Cuando creas un bucket que tiene habilitado el acceso uniforme a nivel de bucket, el siguiente acceso se otorga a través de valores de conveniencia:
Los principales a los que se les otorgó
roles/viewer
obtienen los rolesroles/storage.legacyBucketReader
yroles/storage.legacyObjectReader
para el bucket.Los principales a los que se les otorgó
roles/editor
obtienen los rolesroles/storage.legacyBucketOwner
yroles/storage.legacyObjectOwner
para el bucket.Los principales a los que se les otorgó
roles/owner
obtienen los rolesroles/storage.legacyBucketOwner
yroles/storage.legacyObjectOwner
para el bucket.
Cuando creas un bucket que no tiene habilitado el acceso uniforme a nivel de bucket, se otorga el siguiente acceso con valores de conveniencia:
Los principales a los que se les otorgó
roles/viewer
obtienen el rolroles/storage.legacyBucketReader
para el bucket.Los principales a los que se les otorgó
roles/editor
obtienen el rolroles/storage.legacyBucketOwner
para el bucket.Los principales a los que se les otorgó
roles/owner
obtienen el rolroles/storage.legacyBucketOwner
para el bucket.Además, el depósito tiene una Lista de control de acceso (LCA) de objetos predeterminada. Esta LCA predeterminada a menudo se aplica a objetos nuevos en el bucket y a menudo otorga acceso adicional a valores de conveniencia.
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.setRetention storage.objects.overrideUnlockedRetention 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 bucket, sin incluir las políticas de IAM. También otorga permiso para leer metadatos de objeto cuando se enumeran objetos y carpetas administradas (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.managedFolders.get storage.managedFolders.list storage.multipartUploads.list |
Escritor de depósitos heredados de almacenamiento (roles/storage.legacyBucketWriter ) |
Otorga permiso para crear, reemplazar, enumerar y borrar objetos y carpetas administradas; crear objetos que tengan una configuración de retención; leer metadatos de objetos y carpetas administradas durante la enumeración (sin incluir las políticas de IAM); y leer los metadatos del bucket, 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 storage.objects.restore storage.objects.setRetention storage.managedFolders.create storage.managedFolders.delete storage.managedFolders.get storage.managedFolders.list storage.multipartUploads.* |
Propietario de buckets heredados de almacenamiento (roles/storage.legacyBucketOwner ) |
Otorga permiso para crear, reemplazar, enumerar y borrar objetos y carpetas administradas; crear objetos que tengan una configuración de retención; crear, borrar y enumerar vinculaciones de etiquetas; leer metadatos de objeto durante la enumeración (sin incluir las políticas de IAM); leer metadatos de carpetas administradas durante la enumeración (incluidas las políticas de IAM); leer y editar los metadatos del bucket (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.createTagBinding storage.buckets.deleteTagBinding storage.buckets.listEffectiveTags storage.buckets.listTagBindings storage.buckets.update storage.buckets.enableObjectRetention storage.buckets.restore storage.buckets.setIamPolicy storage.buckets.getIamPolicy storage.managedFolders.* storage.objects.list storage.objects.create storage.objects.delete storage.objects.restore storage.objects.setRetention storage.multipartUploads.* |
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?
Usa los permisos de IAM para controlar el acceso a los depósitos y objetos.
Obtén información sobre cada permiso de IAM para Cloud Storage.
Consulta las referencias de IAM para Cloud Storage, como los permisos de IAM que permiten a los usuarios realizar acciones con varias herramientas y APIs.
Para obtener una referencia de otras funciones de Google Cloud, consulta la página Comprende las funciones.