Acceso uniforme a nivel de bucket (original) (raw)

Configuración

En esta página, se describe el acceso uniforme a nivel de bucket, que te permite controlar de manera uniforme el acceso a los recursos de Cloud Storage. Cuando habilitas el acceso uniforme a nivel de bucket en uno de ellos, las listas de control de acceso (LCA) se inhabilitan y solo los permisos de Identity and Access Management (IAM) a nivel de bucket otorgan acceso a ese bucket y a los objetos que contiene. Revocarás todos los accesos otorgados por las LCA de objetos y la capacidad de administrar permisos a través de LCA de buckets.

Descripción general

Cloud Storage ofrece dos sistemas para otorgar permiso a los usuarios para acceder a tus buckets y objetos: IAM y las listas de control de acceso (LCA). Estos sistemas actúan en paralelo: para que un usuario acceda a un recurso de Cloud Storage, solo uno de los sistemas debe otorgarle permiso. La IAM se usa en todoGoogle Cloud y te permite otorgar una variedad de permisos a nivel de bucket y proyecto. Las LCA solo se usan en Cloud Storage y tienen opciones de permisos limitadas, pero te permiten otorgar permisos por objeto.

Para admitir un sistema de permisos uniforme, Cloud Storage tiene acceso uniforme a nivel de bucket. Usar esta característica en un bucket inhabilita las LCA para todos los recursos de Cloud Storage en el bucket. El acceso a los recursos de Cloud Storage se otorga de forma exclusiva a través de IAM. El acceso uniforme a nivel de bucket no puede inhabilitarse si estuvo activo en un bucket durante 90 días consecutivos.

¿Deberías usar el acceso uniforme a nivel de bucket ?

Por lo general, se recomienda usar el acceso uniforme a nivel de bucket,

No debes usar el acceso uniforme a nivel de bucket si quieres usar el sistema de LCApara tu bucket.

Cómo es el comportamiento cuando está habilitado

Puedes habilitar el acceso uniforme a nivel de bucket cuando crees un bucket nuevo o cuando habilites el acceso uniforme a nivel de bucket de forma explícita en un bucket existente.

Una vez habilitado, el bucket tiene el siguiente comportamiento:

Cómo es el comportamiento cuando se revierte

Para admitir la posibilidad de inhabilitar el acceso uniforme a nivel de bucket y volver a usar las LCA, Cloud Storage guarda las LCA existentes. Si inhabilitas el acceso uniforme a nivel de bucket, ocurre lo siguiente:

Requisitos para inhabilitar el acceso uniforme a nivel de bucket

Para inhabilitar el acceso uniforme a nivel de bucket, debe cumplirse lo siguiente:

Consideraciones para migrar un bucket existente

Cuando habilitas el acceso uniforme a nivel de bucket en un bucket existente, debes asegurarte de que los permisos de los usuarios y servicios que antes dependían de las LCA para obtener el acceso se migren a la IAM. En esta sección, se describen algunos pasos que debes seguir cuando migres un bucket al acceso uniforme a nivel de bucket. Ten en cuenta que, como las LCA y la IAM están sincronizadas para los permisos de depósitos, tus consideraciones se deben enfocar en específico en el acceso a objetos dentro de tu depósito y no en el acceso al depósito.

Considera si un permiso de IAM a nivel de bucket sobreexpone los datos

Antes de asignar equivalentes de IAM a las LCA, ten en cuenta los siguientes factores:

Si deseas aplicar acceso a algunos objetos, pero no a otros, debes agruparlos en depósitos diferentes. Cada agrupación debe contener aquellos objetos que tienen los mismos permisos.

Verifica el uso de LCA de objetos

Cuando migres al acceso uniforme a nivel de bucket, debes comprobar si se accede a los objetos del bucket a través de las LCA que se les aplican. Para comprobarlo, Cloud Monitoring tiene una métrica que realiza seguimientos del uso de la LCA. Si esta métrica indica que los usuarios o servicios dependen de las LCA para acceder a los objetos, debes asignar equivalentes de IAM al depósito antes de habilitar el acceso uniforme a nivel de depósito. Para obtener una guía sobre cómo verificar el uso de las LCA en Monitoring, consulta Verifica el uso de las LCA.

Usa esta métrica para determinar si habilitar el acceso uniforme a nivel de bucket interrumpiría el flujo de trabajo:

Métrica Descripción
storage.googleapis.com/authz/acl_operations_count La cantidad de operaciones de LCA que se inhabilitarán cuando se habilite el acceso uniforme a nivel de bucket, dividida por el tipo de operación de LCA y bucket.

Una operación importante de LCA que se debe examinar es OBJECT_ACCESS_REQUIRED_OBJECT_ACL:

Para obtener más información de las métricas de Monitoring, consulta Métricas, series temporales y recursos.

Revisa la LCA de objetos predeterminada del depósito

Los buckets sin acceso uniforme a nivel de bucket tienen una LCA de objetos predeterminada asociada a ellos. Los objetos nuevos agregados a esos buckets tienen esta LCA de objetos predeterminada aplicada a ellos, a menos que se suministre de forma explícita una LCA en el momento en que el objeto se agrega al bucket.

Por ejemplo, los depósitos suelen usar la LCA predefinida projectPrivate como su LCA de objeto predeterminada. projectPrivate otorga el permiso de objeto READER a los visualizadores de proyectos asociados con el depósito y otorga permiso al objeto OWNER a los editores y propietarios del proyecto. asociados con el bucket.

Antes de habilitar el acceso uniforme a nivel de bucket, revisa la LCA de objetos predeterminada del bucket. Considera si deseas otorgar los permisos asociados con la LCA de objetos predeterminada una vez que hayas habilitado el acceso uniforme a nivel de bucket. De ser así, asigna equivalentes de IAM al depósito.

Asigna equivalentes de IAM para las LCA de objetos

Las LCA de objetos pueden otorgar el acceso que la IAM no otorga en la actualidad. Para garantizar que los usuarios existentes no pierdan el acceso a objetos cuando habilites el acceso uniforme a nivel de depósito, usa la siguiente tabla y asigna a los usuarios afectados las funciones de IAM correspondientes.

Permiso para LCA de objetos Función de IAM equivalente
READER Lector de objetos heredados de almacenamiento (roles/storage.legacyObjectReader)
OWNER Propietario de objetos heredados de almacenamiento (roles/storage.legacyObjectOwner)

Consideraciones para usar las condiciones de IAM

Para evitar conflictos entre las LCA de objetos y las políticas de IAM de un bucket, las condiciones de IAM solo se pueden usar en los buckets que tengan el acceso uniforme a nivel de bucket habilitado. Esto significa lo siguiente:

¿Qué sigue?