¡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í: https://aws.amazon.com/about-aws/whats-new/2025/11/amazon-s3-block-public-access-organization-level-enforcement/
¿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
Primero, necesitas activar las S3 policies, para ello debes ejecutar el comando:
aws organizations enable-policy-type --root-id r-1234 --policy-type S3_POLICY
Referencia: https://docs.aws.amazon.com/cli/latest/reference/organizations/enable-policy-type.html
Luego de activarla, podrás ver algo como lo de abajo en la consola:
{
"PolicyTypes": [
{
"Type": "S3_POLICY",
"Status": "ENABLED"
}
]
}
En la consola, podrás ver lo siguiente:
Esto significa que ya puedes crear la política pero no significa que ya queda el bloqueo habilitado.
Para probar esto, creé un sitio web que es alojado en s3. Quité el bloqueo público a nivel de bucket, a nivel de cuenta y configuré una política de recurso muy permisiva en el bucket para así poder ver el sitio web desde el internet.
Luego que ya tenemos cómo validar si la política está funcionado, ahora la desplegamos usando infraestructura como código (incluso para las políticas), y quedaría así:
Ya luego de tener la política activada para toda la organización, recibo el siguiente error en el sitio web lo que confirma que el bloqueo público ya quedó habilitado.
Demo
Acabo de publicar la plantilla de despliegue de la política de S3 usando cloudoformation en mi GitHub: https://github.com/pangoro24/aws-cloudformation-bpa-org
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úblico 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




Top comments (0)