Amazon S3, un servicio de almacenamiento en la nube, permite gestionar el acceso a los datos usando políticas. Estas políticas se componen de varios elementos clave:
Versión: Especifica qué versión del lenguaje de políticas se está utilizando.
Statement: Define el efecto permitido o denegado.
Principal: Indica el usuario o entidad a la que se aplican los permisos.
Action: Define las acciones permitidas o denegadas sobre el recurso.
Resource: Es el objeto o bucket S3 al que se aplican los permisos.
Condition: Permite añadir restricciones adicionales para el acceso.
A través de estas políticas, se puede alcanzar un nivel de granularidad considerable al definir quién puede realizar qué acciones dentro de un bucket y bajo qué condiciones.
¿Qué tipo de políticas se pueden crear?
Políticas permisivas
Podemos crear políticas permisivas que permiten a todos los usuarios realizar acciones específicas. Por ejemplo, una política que use Principal: * sería aplicable a todos los usuarios, otorgándoles permisos sobre los objetos de un bucket específico.
Las políticas también pueden ser creadas para dar acceso a cuentas específicas. Esto se puede hacer especificando el ARN para cada cuenta en el campo Principal.
Las condiciones son opcionales y refuerzan la seguridad. Por ejemplo, se pueden configurar políticas para permitir acciones únicamente desde direcciones IP específicas.
A veces, se requiere combinar permisos permitiendo acciones solo si cumplen con ciertas condiciones. En estos casos, se pueden definir políticas que explícitamente niegan el acceso si no se cumplen las condiciones de seguridad especificadas.
En situaciones donde almacenamos información crítica, se puede requerir autenticación multifactor para ciertos subfolders dentro de un bucket, asegurando un nivel adicional de seguridad.
Explorando y comprendiendo cómo funcionan las políticas en Amazon S3, se pueden implementar niveles de seguridad avanzados, protegiendo datos críticos de manera efectiva y asegurando que sólo usuarios autorizados tengan acceso necesario. Con las herramientas y estructuras adecuadas, la protección de los datos en la nube es mucho más manejable. ¡Adelante en dominar esta habilidad esencial en AWS!
¡Al fin entiendo las políticas! Desde que empecé a usar Amazon S3 tenía un choque con ellas porque no las entendía, ahora sí veo cómo puedo usarlas y de hecho con las condicionales puedo empezar a filtrar para que solo un sitio web que aloja archivos en S3 pueda consumirlos!
Ese es un excelente uso si tenemos un bucket en S3 como repositorio de archivos o imagenes.
Excelente, es genial cuando uno asimila el conocimiento y le encuentra sentido a la materia. ¡Todo calza!
¿Podrían poner las políticas en los archivos para probar por favor?
Depende de lo que requieras permitir en el bucket… Recuerda que como capa de seguridad adicional puedes usar condicionales, por buena práctica siempre todos los buckets tienen su Policy y nunca dejamos uno púublico.
Excelente los ejemplos presentados!. Esto es la navaja suiza para el S3
📌 Ejemplos de Políticas en S3 (AWS S3 Policies)
Aquí tienes algunos ejemplos de políticas para diferentes casos de uso en Amazon S3, utilizando políticas de bucket y políticas de IAM en formato JSON.
1️⃣ Política para Hacer un Bucket Público (Solo Lectura)
🔹 Permite que cualquiera pueda leer los archivos dentro del bucket.
✅ Útil para restringir acceso fuera del horario laboral.
🚀 Conclusión
✅ Las políticas en S3 permiten controlar el acceso de manera precisa.
✅ Puedes definir permisos según IP, usuario, cuenta o incluso la hora.
✅ Siempre prueba las políticas antes de aplicarlas en producción.
Me queda la duda con la ultima política donde deniego un servicio en especifico y después doy todos los permisos, el orden de la declaración de las políticas no afecta? o deberia establecer primero los permisos para allow y despues lode deny?
La condición de Autenticación Multifactor ["aws:MultiFactorAuthAge": true] que es lo que hace, es decir, si se cumple va a denegar y si no, dará permiso? o bien, en qué es en lo que consiste?
Hola si te fijas bien, tiene un Null al principio, esto quiere decir que si el MultiFactorAuthAge no existe entonces va a denegar el acceso, debe tener el Multifacto Authentication activo en la cuenta para poder acceder al bucket.
me gusto mucha el tipo de política que combina deny y allow excelente clase
super..muchas gracias por los ejemplos :)
Buenas, estoy tratando de hacer, aplicarla a un usuario, para que ese usuario solo pueda ver y acceder a una unica carpeta de un bucket especifico pero no he podeido conectarme. He utilziado Netdrive y S3 Browser y con ninguno me conecta. Cuando le pongo en resource * me accede. Me podrian ayudar?
Lo primero, prueba en AWS entrando con el usuario a la consola que tenga los permisos que especificaste, cuando te loguees con ese usuario que solo veas el folder que necesitas...
Tengo una consulta para que las policías se cumplan o se permitan tengo que tener desactivada la opción de acceso público, o en estos dos casos cuál es la prioridad entre las Políticas y la opción de bloqueo de acceso público. Como sería un ejemplo si quiero por ejemplo ver en mi localhost (127.0.0.1) o equipo de desarrollo un listado de imágenes que tenga en S3. He realizado varias pruebas con las políticas y estas no funcionan si tengo activado el bloqueo de acceso público, lo desactivo y puedo acceder a la imagen desde cualquier lugar aun cuando tenga la política que solo sea para mi ip o ur local