title: Fetching a deleted object from S3 causes access denied error
body: <p>I have some code that requests an object from S3. If it doesn't exist, an exception is thrown that has the message...</p>
  
  <pre><code>The specified key does not exist.
  </code></pre>
  
  <p>Once the object has been created, if it's subsequently deleted then when the object is re-requested it doesn't throw the same exception. Instead, it says access denied.</p>
  
  <p>Why is this? Is there a way of deleting an object such that it's not remembered by S3? Versioning on the bucket is disabled.</p>
  
  <p>I'm using a policy assigned to a role assigned to an EC2 instance. If I delete the permission set on the policy and recreate it then the issue is reset.</p>
  
  <p>Also, this issue doesn't happen if I set the policy to all resources and all operations.</p>