servicios web de amazon: hacer que el archivo estático sea accesible solo para mi aplicación alojada en AWS o Google Cloud

CorePress2024-01-24  10

Tengo un sitio estático (puramente HTML, JS y CSS) que alojaré en AWS o Google Cloud.

El sitio extrae datos de un CSV que puede ubicarse como un archivo local en el sitio o, preferiblemente, en otro punto final.

Mi problema es que el cliente no quiere que el archivo CSV sea de acceso público (las personas no deberían poder acceder a él directamente y descargarlo).

El archivo debe residir en AWS S3 o Google Cloud Storage, ya que el cliente lo actualizará periódicamente.

Sin embargo, parece que no puedo encontrar la manera de hacerlo visible para mi aplicación, pero no si intentas visitar el archivo directamente. Puedo hacerlo público, para que mi aplicación pueda verlo, pero todos los demás también. O hacer que no sea público, para que no se pueda descargar, pero luego mi aplicación tampoco se puede ver.eso.

Mi pregunta es: ¿es posible lo que estoy tratando de lograr? ¿O el CSV tiene que ser público o no?

Mi opción ideal serían dos depósitos separados, uno con mi sitio estático y el otro con los archivos CSV.

Cualquier sugerencia será bienvenida.



------------------------------------

Lo que estás pidiendo no es realmente posible en la forma en que lo has descrito. Si la página web va a consumir el CSV directamente, entonces la página web debe poder obtenerlo, y si la página web puede obtenerlo, cualquiera que pueda verla también puede hacerlo. Lo mismo ocurre con cualquier dato que se encuentre en una página web. ¿Hay alguna razón particular?¿Por qué no desea que se acceda directamente al CSV? No sería algo a lo que simplemente pudieras acceder, tendrías que conocer el URI (que sería fácil de encontrar, pero la mayoría de los usuarios no se molestarían). ¿Hay cosas en los datos que no deberían exponerse? Si es así, debes repensar completamente tu enfoque.

2

Esta es la respuesta correcta, solo agregaría que si la página no funciona sin el CSV y no desea que nadie acceda al CSV, entonces debería considerar implementar la autenticación. para proteger la paginay el CSV, pero incluso entonces, los usuarios autenticados aún podrán acceder al CSV si tienen un mínimo de conocimientos.

-E.J. Brennan

26/03/2021 a las 21:52

Gracias Jason. Tenía la sensación de que esa podría ser la respuesta, pero no estaba seguro de si se podía agregar algún tipo de autenticación (similar a cómo funciona CORS).

-OverlordEgg

27 de marzo de 2021 a las 8:31



------------------------------------

Lanzamiento reciente de AWSd nuevas funciones de S3 que pueden ayudarle con sus necesidades. Uno es el punto de acceso de Amazon S3 (https://aws.amazon.com/s3/features/access-points). El otro se llama Amazon S3 Object Lambda (https://aws.amazon.com/es/blogs/aws/introduciendo-amazon-s3-object-lambda-use-your-code-to-process-data-as-it -se-está-recuperando-de-s3/).

Parece que puedes poner Lambdas delante de un depósito de S3 para procesar y transformar solicitudes en sus archivos (también conocidos como "objetos"). Lamentablemente, no tengo una respuesta precisa a su pregunta ya que nunca he implementado esta solución, pero creo que es posible que pueda almacenar el archivo CSV en S3 y dar acceso a su sitio estático sólo gracias a un punto de acceso S3.

Como alternativa, es posible que pueda utilizar CloudFront y Lambda Associations para restringir tambiénct acceso a sus archivos CSV a orígenes específicos.

Su guía para un futuro mejor - libreflare
Su guía para un futuro mejor - libreflare