title: Accessing AWS S3 files ONLY from the Android app
body: <p>I'm currently developing an Android app that could <strong>read</strong> and <strong>upload</strong> to AWS S3 storage.</p>
  
  <p>S3 files should be accessed by all users only through the app without any user login information.</p>
  
  <p>I've searched for Amazon Cognito, IAM and STS documentation, but since there are so many options, I don't know which one should I follow for my project.</p>
  
  <p>In short:</p>
  
  <ol>
  <li><p>S3 bucket files should be accessed ONLY from the app by all app users.</p></li>
  <li><p>App users should be able to access S3 bucket files without singing in. (Temporary access)</p></li>
  </ol>
  
  <p><strong>EDIT</strong></p>
  
  <p>I had a working solution with hard-coded Key and Secret Key that allowed only app users to access the S3 bucket. Problem is that Google sent me an email about leaked AWS credentials:</p>
  
  <p>Leaked AWS Credentials
  Your app(s) expose Amazon Web Services credentials.</p>
  
  <p>I followed this guide to set it up: <a href="https://grokonez.com/android/uploaddownload-files-images-amazon-s3-android" rel="nofollow noreferrer">https://grokonez.com/android/uploaddownload-files-images-amazon-s3-android</a></p>
  
  <p>Thanks!</p>