Amazon S3 で arn:aws:s3:::bucket だけ設定して AccessDenied エラーになったので arn:aws:s3:::bucket/* も設定して、無事に解決した話をご紹介します。
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>xxxxxx</RequestId>
<HostId>xxxxxx</HostId>
</Error>
バケットの ARN arn:aws:s3:::bucket しか指定してなかったので、オブジェクトの ARN arn:aws:s3:::bucket/* を指定して、解決しました。
対象リソースの指定バケットポリシーやIAMポリシーで、ある Action を許可/拒否する場合、対象 Resource を ARN で指定する。 バケットに対する Action は Resource としてバケットの ARN(arn:aws:s3:::bucket) を指定する。 オブジェクトに対する Action は Resource としてオブジェクトの ARN(arn:aws:s3:::bucket/*) を指定する。
以上、S3 の ARN を意識してやっていきたい、現場からお送りしました。