Brains4Cloud
ESEN
Practicar

Tema 5 de 10

D3 · Garantizar el funcionamiento de una solución en la nube

Administrar Cloud Storage

El apartado 3.2 del temario empieza por Cloud Storage: gestionar y proteger los objetos de los buckets, configurar políticas de ciclo de vida y estimar el coste del almacenamiento. Las clases y ubicaciones de los buckets están en el dominio D2.

Uniforme (recomendado)

  • Solo IAM, aplicado al bucket o a grupos de objetos con un prefijo común.
  • Permite carpetas gestionadas, condiciones de IAM, uso compartido restringido por dominio y Workforce Identity Federation.
  • Recomendado para datos sensibles.
  • Tras activarlo hay 90 días para volver atrás; después es permanente.

Detallado (fine-grained)

  • IAM más ACL, un sistema heredado pensado para la interoperabilidad con Amazon S3.
  • Permite permisos por objeto individual.
  • Útil para personalizar el acceso a objetos concretos o migrar desde S3.

IAM y ACL funcionan en paralelo

Basta con que uno de los dos conceda acceso. Si el IAM del bucket solo deja leer a unos pocos pero un objeto tiene una ACL pública, ese objeto queda expuesto. IAM no ve los permisos de las ACL ni al revés. La restricción de organización storage.uniformBucketLevelAccess forma parte de la security baseline.

Roles de IAM de Cloud Storage

RolQué permite
Storage Object Viewer
roles/storage.objectViewer
Ver objetos y sus metadatos (sin ACL) y listar los objetos del bucket
Storage Object Creator
roles/storage.objectCreator
Crear objetos; no ver, borrar ni sobrescribir
Storage Object User
roles/storage.objectUser
Crear, leer, actualizar y borrar objetos y subidas multiparte
Storage Object Admin
roles/storage.objectAdmin
Control total de los objetos
Storage Admin
roles/storage.admin
Control total de objetos y buckets (en un bucket, solo de ese bucket)
gcloud storage buckets add-iam-policy-binding gs://my-bucket \
  --member=group:analysts@example.com --role=roles/storage.objectViewer

Dan acceso de lectura o escritura temporal a un objeto mediante una URL que tú generas. Cualquiera que tenga la URL puede usarla durante el tiempo indicado, tenga o no cuenta de usuario. Se usan además de IAM y ACL. La caducidad máxima es de 7 días (604 800 segundos).

gcloud storage sign-url gs://my-bucket/report.pdf --duration=2h \
  --impersonate-service-account=SA_EMAIL

Prevención del acceso público

Cuando se aplica, nadie puede hacer públicos los datos del bucket mediante políticas IAM ni ACL. Se aplica a buckets concretos o con la restricción de organización storage.publicAccessPrevention a nivel de proyecto, carpeta u organización (Google recomienda el nivel más alto posible). Un bucket puede heredarla aunque no la tenga en su configuración.

No afecta a la creación y uso de URL firmadas, porque ese acceso se concede con permisos de cuentas de servicio.

Proteger datos: soft delete, versiones y retención

FunciónQué hace
Soft deleteConserva los objetos y buckets borrados o sobrescritos para poder restaurarlos. Activado por defecto con 7 días, ajustable entre 7 y 90; 0 lo desactiva. Puede encarecer buckets con datos temporales
Versiones de objetosAl reemplazar o borrar un objeto, guarda la versión anterior como no actual, identificada por su número de generación. Google recomienda soft delete para protegerse de borrados; las versiones no protegen frente al borrado del bucket
Política de retención (Bucket Lock)Los objetos no se pueden borrar ni reemplazar hasta cumplir el periodo (error 403 retentionPolicyNotMet). Se aplica también a los objetos existentes
Bloqueo de la políticaIrreversible: no se puede quitar ni reducir el periodo, solo aumentarlo. El bucket no se puede borrar hasta que todos sus objetos cumplan la retención

Bucket Lock, junto con el registro de auditoría detallado, ayuda a cumplir normativas como FINRA, SEC y CFTC. Object Retention Lock permite definir la retención objeto a objeto.

Una configuración de ciclo de vida se define en el bucket y contiene reglas. Cada regla tiene una acción y una o más condiciones; el objeto debe cumplirlas todas.

Delete

Borra el objeto (pasa a soft delete si está activo). Con versiones, borrar la versión activa la convierte en no actual. No actúa si hay una retención o un hold pendiente.

SetStorageClass

Cambia la clase hacia una más fría: Standard → Nearline, Coldline o Archive; Nearline → Coldline o Archive; Coldline → Archive. No se usa con Autoclass.

AbortIncompleteMultipartUpload

Cancela subidas multiparte incompletas. Solo con age, matchesPrefix y matchesSuffix.

Condiciones: age, createdBefore, customTimeBefore, daysSinceCustomTime, daysSinceNoncurrentTime, isLive, matchesStorageClass, matchesPrefix/matchesSuffix, noncurrentTimeBefore, numNewerVersions y tamaño.

{
  "rule": [
    { "action": { "type": "SetStorageClass", "storageClass": "COLDLINE" },
      "condition": { "age": 365, "matchesStorageClass": ["STANDARD"] } },
    { "action": { "type": "Delete" },
      "condition": { "numNewerVersions": 3, "isLive": false } }
  ]
}

gcloud storage buckets update gs://my-bucket --lifecycle-file=lifecycle.json
  • Si varias reglas se cumplen a la vez, Delete gana a SetStorageClass, y entre cambios de clase gana la más barata.
  • Los cambios en la configuración pueden tardar hasta 24 horas en aplicarse.
  • Cloud Storage no valida las transiciones de clase: una transición no admitida simplemente no ocurre.
  • Google recomienda probar las reglas con datos de desarrollo o con un prefijo pequeño.

Estimar costes de almacenamiento

ComponenteDe qué depende
AlmacenamientoDatos guardados, según clase y ubicación del bucket
ProcesamientoOperaciones (clase A, clase B y gratuitas), tarifas de recuperación de las clases frías y replicación entre regiones
RedDatos leídos o movidos entre buckets y salida de datos
Borrado anticipadoBorrar antes de la duración mínima de Nearline, Coldline o Archive

La calculadora de precios de Google Cloud crea estimaciones a partir de tus supuestos y permite compartirlas; Google advierte que pueden no coincidir con la factura real. Para bases de datos como BigQuery se tiene en cuenta además el almacenamiento a largo plazo (tablas sin cambios durante 90 días) y el modelo de cómputo.

Escenarios de examen

SituaciónRespuestaPor qué
Dar a un cliente sin cuenta de Google acceso de lectura a un archivo durante 2 horasURL firmadaAcceso temporal sin cuenta.
Asegurarse de que ningún bucket de la organización se haga públicoRestricción storage.publicAccessPreventionSe aplica a proyecto, carpeta u organización.
Gestionar permisos solo con IAM y sin ACL por objetoAcceso uniforme a nivel de bucketRecomendado; desactiva las ACL.
Pasar a Coldline los objetos de más de 365 díasRegla de ciclo de vida SetStorageClass con ageAutomático según condiciones.
Conservar solo las 3 versiones más recientes de cada objetoRegla Delete con numNewerVersionsRequiere versiones de objetos.
Retención inmutable de registros financieros durante 7 añosPolítica de retención bloqueada (Bucket Lock)No se puede reducir ni quitar.
Recuperar un objeto borrado por error hace 3 díasRestaurarlo desde soft deleteSe conserva 7 días por defecto.
Calcular cuánto costará guardar 50 TB en NearlineCalculadora de precios de Google CloudEstimación según tus supuestos.

Trampas frecuentes del examen

❓ ¿Cuánto puede durar como máximo una URL firmada?

7 días (604 800 segundos).

❓ ¿Se puede desactivar el acceso uniforme a nivel de bucket?

Solo durante 90 días después de activarlo; después es permanente.

❓ ¿Se puede quitar una política de retención bloqueada?

No. Tampoco reducir el periodo; solo aumentarlo.

❓ ¿Una regla de ciclo de vida puede pasar un objeto de Coldline a Nearline?

No. Solo hacia clases más frías; la transición no se produciría.

❓ ¿Cuánto tarda en aplicarse un cambio del ciclo de vida?

Hasta 24 horas, y mientras puede seguir aplicándose la configuración anterior.

❓ ¿Las versiones de objetos protegen si alguien borra el bucket?

No. Solo soft delete permite recuperar objetos de un bucket borrado.

¿Entendiste este tema?

Pon a prueba lo que acabas de aprender

Una aplicación debe permitir que clientes externos, sin cuenta de Google, descarguen su factura en PDF durante las 24 horas siguientes a la compra. El bucket debe seguir siendo privado. ¿Qué usa?

¿Listo para poner a prueba "Administrar Cloud Storage"?

Preguntas originales, cada una con su explicación.

Empezar un simulacro