title: Making public s3 artifacts from AWS code build
body: <p>How to make the artifacts uploaded to s3 as part of an <code>aws code build</code> public by default? I'm experimenting build automation. At present the build is successful; however, the artifact created isn't public and hence I can't share the link (as part of a mail). By default, the server side encryption is set at <code>Using AWS KMS master key: aws/s3 (default).</code> When tried removing the <code>encryption key</code> from the <code>advanced settings</code> section of the aws code build config, it gave an error. I'm planning to run an aws lambda function that will send a mail with link of the artifact at the end of the build as part of the aws code pipeline. </p>
  
  <p><strong>Edit:</strong> 
  I tried adding the following as the permission but it didn't help:</p>
  
  <pre><code>{
    "Version":"2012-10-17",
    "Statement":[
     {
      "Sid":"AddPerm",
      "Effect":"Allow",
      "Principal": "*",
      "Action":["s3:GetObject"],
      "Resource":["arn:aws:s3:::examplebucket/*"]
     }
    ]
  }
  </code></pre>
  
  <p>as mentioned <a href="https://stackoverflow.com/questions/38196758/how-to-make-s3-bucket-public-in-python">here</a></p>
  
  <p>From S3 if I manually go and select <code>none</code> as the encryption, the link does become downloadable. However I need a programmatic way to do this as I'm trying to automate the entire process as part of the build automation. So far I'm not able to achieve this via <code>boto3</code> too. </p>
  
  <p>Thanks in advance! </p>