Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

265
Vistas
Permisos de Amazon S3 por código de cliente

He estado convirtiendo una aplicación existente a un modelo EC2, S3 y RDS dentro de AWS, hasta ahora todo va bien, pero tengo un problema sobre el que parece que no puedo encontrar ninguna información.

Mi aplicación web accede a la caja S3 para imágenes y documentos, la forma en que esto se almacena es por código de cliente,

 Data/ClientCode1/Images Data/ClientCode2/Images Data/ClientABC/Images -- etc

El EC2 que aloja la aplicación web también funciona dentro de una estructura similar, por lo que, como ejemplo, www.programname.com/ClientCode1/Index.aspx tiene seguridad funcional para evitar el acceso entre clientes.

Ahora, cuando www.programname.com/ClientCode1/Index.aspx acceda al S3 para obtener imágenes, debo asegurarme de que solo pueda acceder a la carpeta ClientCode1 en el S3, el objetivo es evitar que el cliente A vea las imágenes/documentos de cliente B si tuviera un tipo de tecnología intentando.

¿Existe tal vez una forma de obtener la referencia de la página, o existe un mejor enfoque para este problema?

about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

No hay forma de usar la URL o la referencia para controlar el acceso a Amazon S3, porque esa información se presenta a su aplicación (no a S3).

Si todos sus usuarios acceden a los datos en Amazon S3 a través de la misma aplicación, será el trabajo de su aplicación aplicar la seguridad deseada. Esto se debe a que la aplicación utilizará un solo conjunto de credenciales para acceder a los servicios de AWS, por lo que esas credenciales necesitarán acceso a todos los datos que la aplicación pueda solicitar.

Para aclarar: Amazon S3 no tiene idea de qué página está viendo un usuario. Solo su aplicación lo sabe. Por lo tanto, su aplicación deberá hacer cumplir la seguridad.

about 4 years ago · Santiago Trujillo Denunciar

0

Encontré la solución, parece funcionar bien.

 { "Version": "2012-10-17", "Id": "http referer policy example", "Statement": [ { "Sid": "Allow get requests referred by www.example.com and example.com.", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::clientdata/Clients/Client1/*", "Condition": { "StringLike": {"aws:Referer": ["http://www.example.com/Client1/*","http://example.com/Client1/*"]} } }, { "Sid": "Explicit deny to ensure requests are allowed only from specific referer.", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": "arn:aws:s3:::clientdata/Clients/Client1/*", "Condition": { "StringNotLike": {"aws:Referer": ["http://www.example.com/Client1/*","http://example.com/Client1/*"]} } } ] }

Esto le permite verificar el referente para ver si la URL es de una ruta determinada, en mi caso, tengo a cada cliente sentado en su propia ruta, el cubo sigue la misma regla, en el ejemplo anterior solo puede acceder un usuario que viene del Cliente1 los datos del depósito para el Cliente1, si inicio sesión en el Cliente2 e intento forzar una imagen en el depósito del Cliente1, se me denegará el acceso.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda