Eu tive esse mesmo erro e tentei tudo neste segmento. Eu estava tentando fazer
aws s3 sync ./build s3://s3-us-east-1.amazonaws.com/some-amazing-s3-bucket
de uma ação do Codebuild, mas a resposta do S3 sempre foi
fatal error: An error occurred (AccessDenied) when calling the ListObjects operation: Access Denied
mesmo quando eu fiz do aws-cli no meu laptop (com teclas de acesso de administrador).
Demorei várias horas para perceber que o URL do s3 atual deveria ser escrito assim:
s3://some-amazing-s3-bucket
em vez de
s3://s3-us-east-1.amazonaws.com/some-amazing-s3-bucket
Dito isto, uma política como a de tedsmitt deve ser anexada ao (no meu caso) papel de codebuild também.
Espero que isso ajude alguém.