Control centralizado de S3 Block Public Access a nivel organizacional (en español sencillo)

Published: (December 21, 2025 at 01:00 PM EST)
3 min read
Source: Dev.to

Source: Dev.to

¡Hola comunidad! 👋

Quiero compartirles una nueva funcionalidad de seguridad en AWS que me parece interesante pero he visto que se ha mencionado muy poco en las redes: el bloqueo público de los buckets de S3 desde AWS Organizations.
Si quieres leer el anuncio oficial de esta funcionalidad, puedes verla aquí:

¿Por qué me llamó la atención esto?

La razón principal es simple: control centralizado desde la cuenta administradora de la organización.

La vieja solución

Antes (todavía el presente para muchos) teníamos básicamente dos opciones para asegurar que los objetos de los buckets no se expusieran públicamente:

Opción 1: Bloqueo a nivel de cuenta

Tenías que ir cuenta por cuenta dentro de tu organización, activando manualmente (o con scripts) el Block Public Access en cada una. Esto significa:

  • Configuración repetitiva en múltiples cuentas
  • Mayor probabilidad de error humano
  • Necesidad de monitorear cada cuenta individualmente
  • Complejidad al escalar

Opción 2: Bloqueo a nivel de bucket

Aún peor. Esto implicaba configurar cada bucket individual con Block Public Access activado:

  • Trabajo manual exhaustivo
  • Imposible de escalar en organizaciones grandes
  • Fácil olvidar un bucket nuevo
  • Pesadilla operativa para auditorías

Ambas opciones requerían vigilancia constante y eran propensas a errores.

La nueva solución

Política a nivel organizacional.

¿Qué significa esto en la práctica?

Con un control preventivo habilitado en la cuenta de gestión de tu organización, obtienes:

  • Control centralizado: Todo se gestiona desde un solo lugar
  • Aplicación automática: Se aplica a todas las cuentas de la organización
  • Menos vigilancia: Ya no necesitas monitorear cada cuenta o cada bucket

Es elegante, es simple, es efectivo.

Cómo se implementa

  1. Activar el tipo de política S3

    aws organizations enable-policy-type \
        --root-id r-1234 \
        --policy-type S3_POLICY
  2. Verificar que la política quedó habilitada

    {
      "PolicyTypes": [
        {
          "Type": "S3_POLICY",
          "Status": "ENABLED"
        }
      ]
    }
  3. Crear la política en la consola

    Política S3 habilitada en la consola

    Esto significa que ya puedes crear la política, pero no implica que el bloqueo público ya esté activo.

  4. Validar el comportamiento

    • Creé un sitio web alojado en S3.
    • Quité el bloqueo público a nivel de bucket y a nivel de cuenta.
    • Configuré una política de recurso muy permisiva en el bucket para poder ver el sitio web desde Internet.

    Sitio web público sin bloqueo

  5. Desplegar la política usando infraestructura como código

    Plantilla CloudFormation para la política S3

  6. Comprobar que el bloqueo público está activo

    Después de activar la política para toda la organización, el sitio web muestra un error, confirmando que el bloqueo público quedó habilitado.

    Error de acceso público bloqueado

Demo

Acabo de publicar la plantilla de despliegue de la política de S3 usando CloudFormation en mi GitHub:

Para cerrar

Esta implementación es perfecta si:

  • Gestionas múltiples cuentas de AWS en una organización
  • Quieres reforzar la seguridad sin aumentar la carga operativa
  • Buscas cumplir con políticas de seguridad de manera escalable
  • Prefieres la prevención sobre la detección

Sugerencia adicional: Si ya habías activado el bloqueo públi

A nivel de cuenta, manténla y así tendrás una capa adicional de seguridad (defense in depth).

¿Preguntas? ¿Sugerencias? ¡Los leo en los comentarios! 💬

Tags: #aws #cloudformation #security #devops #s3 #organizations

Back to Blog

Related posts

Read more »