1

I have one online customer file sharing storage, like dropbox. we are using S3 for storage. When customer is downloading any file they are getting full URL with S3 bucket name and file. s3 is sending the pre-signed URL to the api. I don't want to show to our end customer that we are using S3 and what is our URL/S3 bucket name.Please let me now the workaround to fix that . I have attached screen short of download file as sample its showing the bucket name and full URL. enter image description here

I also attached the request details.

response-content-disposition=attachment%3B%20filename%2A%3DUTF-8%27%2717799421_1301945716556805_5072327839011550698_n.jpg
&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=AKIAJCCG3CKV5IHGGTVA%2F20180722%2Fus-west-2%2Fs3%2Faws4_request
&X-Amz-Date=20180722T063558Z
&X-Amz-SignedHeaders=host
&X-Amz-Expires=600
&X-Amz-Signature=f2666368cd698a4f60e4a7931768cb0e833221007e947671a44bff1a72c54c90
Jay Zee
  • 263
  • 2
  • 7
  • 18

1 Answers1

0

You would need to create your own application endpoint to receive the image request. Your app would then verify access, retrieve the object from S3 and pass it back to the calling client.

Please note that you would therefore need to scale your application to handle the workload, whereas requests to Amazon S3 will automatically take advantage of the scale of S3.

You could, I guess, do the above via API Gateway and AWS Lambda. It would handle the scaling for you, but you would be paying based upon usage.

Bottom line: If you're not going to point to S3, you'll have to point at something else — you will be responsible for creating it, maintaining it and paying for it.

John Rotenstein
  • 241,921
  • 22
  • 380
  • 470