<p>Private buckets can be used, but files uploaded to them via the Craft CP will be given public read access. Expiring URLs are not built into Craft because the files being public.</p>

CC BY-SA 3.0
2014-06-13T21:01:17.147Z
Ok, I think I am looking for [this S3 feature](http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html#RESTAuthenticationQueryStringAuth). It would be nice too see this integrated into Craft.
Lars Bilke
CC BY-SA 3.0
2016-04-27T12:26:26.073Z
So yeah, super late on this one but I have [written a plugin](https://github.com/jonathanmelville/s3-secure-downloads) that does just this! It will return a signed URL for your S3 assets, allowing temporary access to private objects with an expiring URL. You can optionally force the file to download and even check for a logged in user before allowing the download to proceed.
Jonathan Melville
CC BY-SA 3.0
2015-12-29T15:34:45.863Z
Exactly. You could write a plugin, if needed, for storing objects in a private bucket and generating pre-signed URLs like you mention. Those are *very* useful. That might be nice to keep your private things private, and your public things public? But wouldn't make much sense unless you had a restricted portion of your site.
Neal Magee
CC BY-SA 3.0
2014-06-13T12:38:54.157Z
2014-06-13T12:38:54.157Z
Bryan Redeagle
<p>Is it possible to have an asset source pointing to a non public S3 bucket? Maybe also with expiring link urls?</p>

CC BY-SA 3.0
2015-12-09T14:47:43.920Z
+1. I would love to see this, as I'm starting to use Craft as a system where I can use the content for other apps via an API, and some content needs to be private...
patcoll
<s3><assets>
Are private S3 assets possible?
# Are private S3 assets possible?

(Asked by: username_0 on 2014-06-13)

Is it possible to have an asset source pointing to a non public S3 bucket? Maybe also with expiring link urls?

**Tags:** s3, assets
> **Comments:**
> **username_1**: +1. I would love to see this, as I'm starting to use Craft as a system where I can use the content for other apps via an API, and some content needs to be private...  

---

## 1 answers

### Answer by username_2 on 2014-06-13. Score: 6 | Accepted answer

Private buckets can be used, but files uploaded to them via the Craft CP will be given public read access. Expiring URLs are not built into Craft because the files being public.

> **Comments:**
> **username_0**: Ok, I think I am looking for [this S3 feature](http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html#RESTAuthenticationQueryStringAuth). It would be nice too see this integrated into Craft.  
> **username_4**: Exactly. You could write a plugin, if needed, for storing objects in a private bucket and generating pre-signed URLs like you mention. Those are *very* useful. That might be nice to keep your private things private, and your public things public? But wouldn't make much sense unless you had a restricted portion of your site.  
> **username_3**: So yeah, super late on this one but I have [written a plugin](https://github.com/jonathanmelville/s3-secure-downloads) that does just this! It will return a signed URL for your S3 assets, allowing temporary access to private objects with an expiring URL. You can optionally force the file to download and even check for a logged in user before allowing the download to proceed.  

---

