Protect files and videos on Amazon S3
Amazon S3 (Simple Storage Service) is an online storage web service offered by Amazon Web Services. Amazon S3 provides storage through web services interfaces. It allows to upload your files into, and then serve these files to customers like it is hosted on your website. Amazon S3 infrastucture is very efficient and allows to unlimited number of protected downloads of any size to practically any number of customers. Usage of this service is recommended if you are serving video files or downloads > 10 megabytes in size. If big files are served from aMember or any other PHP script, there can be problems with server performance.
Your content on Amazon S3 should not be public. Please restrict public access to your files on Amazon S3 side and ensure you can not access it directly from Amazon S3. aMember use Access Key and Secret Key to generate links with authentication token for users to provide access them to your content on Amazon S3.
To protect a file on S3 bucket do the following
- Go to Amazon S3 Management Console https://console.aws.amazon.com/s3/home
- In the left find a file (or folder=bucket) you want to make available from aMember only and click on it
- Then click Properties button on the top
- You will see Object properties panel open at right.
- Click on Permissions
- If there is no line for Grantee: everyone then click Add more permissions button and add record for everyone
- On the record of Grantee: everyone uncheck all checkboxes: Open/Download, View Permissions, and Edit Permissions.
- Click Save
- Now find a public Link of the file on the top under Object title. If you click on the file now, you will see it is not available for download or view and you just get Access Denied message. It is correct behaviour
- Now go to aMember CP -> Protect Content and you will be able to make that file available for customers with some conditions. aMember will generate special quickly expiring access link for customers, and no one will be able to share link to the file.
Look at this video to get idea how to configure Amazon S3 plugin: S3 Plugin configuration video