title: How can I set a policy for an s3 bucket that allows authenticated users to list the bucket or get any file from the bucket
body: <p>I have set a <em>permission</em> on the bucket that allows "Authenticated Users" to list, upload, and delete from a bucket I created. This seems to allow me to upload files to the bucket, but it appears that downloading files from the bucket is not covered by this permission, and I instead need to define a <em>policy</em> for the bucket. It's not clear to me how to set such a policy. I tried the policy generator with my best guesses at what I should fill in, but the result was not a valid policy when I pasted it in as a new policy for the bucket (it failed with the message <code>Action does not apply to any resource(s) in statement - Action "s3:ListBucket" in Statement "Stmt-some-number"</code>). Can someone explain what is wrong with the following policy and how to set it correctly to allow authenticated users to retrieve files from the bucket?</p>
  
  <pre><code>{
    "Id": "Policy-some-number",
    "Statement": [
      {
        "Sid": "Stmt-some-number",
        "Action": [
          "s3:GetObject",
          "s3:ListBucket"
        ],
        "Effect": "Allow",
        "Resource": "arn:aws:s3:::my-bucket/*",
        "Principal": {
          "AWS": [
            "*"
          ]
        }
      }
    ]
  }
  </code></pre>