CloudFront can distribute almost any type of file for you using an Amazon S3 bucket as the source, and there is no limit to the amount of data that you can store on Amazon S3.
By default, your Amazon S3 bucket and all the files in it are private—only the AWS account that created the bucket has read/write permission to the files. If you want to allow anyone to access the files in your Amazon S3 bucket using CloudFront URLs, you must grant public read permissions to the objects. You must explicitly grant permissions to each object in an Amazon S3 bucket.
If you want to restrict who can download your content, you can use the CloudFront private content feature. For more information about distributing private content:
You must allow public read access to the bucket and files so that CloudFront URLs can serve content from the bucket. However, you can restrict access to specific content by using the CloudFront private content feature.
Use your Amazon S3 URL to verify that your content is publicly accessible.