5

I am attempting to use an S3 bucket as a deployment location for an internal, auto-updating application's files. It would be the location where the new version's files are dumped for the application to puck up on an update. Since this is an internal application, I was hoping to have the URL be private, but to be able to access it using only a URL. I was hoping to look into using third party auto updating software, which means I can't use the Amazon API to access it.

Does anyone know a way to get a URL to a private bucket on S3?

Justin Fyles
  • 150
  • 2
  • 11
  • This part of the S3 dev guide hints that it is possible, but doesn't explain where to get the components of the URL http://docs.amazonwebservices.com/AmazonS3/2006-03-01/dev/RESTAuthentication.html#RESTAuthenticationQueryStringAuth – Justin Fyles Feb 01 '12 at 15:38

1 Answers1

8

You probably want to use one of the available AWS Software Development Kits (SDKs), which all implement the respective methods to generate these URLs by means of the GetPreSignedURL() method (e.g. Java: generatePresignedUrl(), C#: GetPreSignedURL()):

The GetPreSignedURL operations creates a signed http request. Query string authentication is useful for giving HTTP or browser access to resources that would normally require authentication. When using query string authentication, you create a query, specify an expiration time for the query, sign it with your signature, place the data in an HTTP request, and distribute the request to a user or embed the request in a web page. A PreSigned URL can be generated for GET, PUT and HEAD operations on your bucket, keys, and versions.

There are a couple of related questions already and e.g. Why is my S3 pre-signed request invalid when I set a response header override that contains a “+”? contains a working sample in C# (aside from the content type issue Ragesh is experiencing of course).

Good luck!

Community
  • 1
  • 1
Steffen Opel
  • 63,899
  • 11
  • 192
  • 211
  • 1
    Thanks for your help! I was hoping to do it without writing a little app for it. I ended up finding an online one, but in the end, decided to use CloudFTP as an FTP endpoint to my S3 bucket. See: http://stackoverflow.com/questions/1855109/amazon-s3-ftp-interface – Justin Fyles Feb 01 '12 at 21:09