前提条件
この現象が起きている人の前提条件として、S3に表示させるindex.htmlなどのオブジェクトを設定し、バゲットポリシーも問題なく設定し、かつCloudfrontも設定し終わってるのにaccess deniedが出る人向けです。
特に他ページは普通に画面が表示されるのに特定のページだけaccess deniedが出る等の現象の方向けになっています。
回答
ルーティングはS3によって管理されていないため、常にindex.htmlにアクセスするようにルールを構成する必要があります。
具体的に何をすればよいかといいますと
cloudfrontのエラーページを設定するところにアクセスルート先を設定してください。
こうすれば403(access denied)のエラーページ等のリダイレクト先が指定したindex.htmlに変更されます。
かなり雑に書いてしまいました。ご参考になれば幸いです。
もしほかの理由等があるのでしたら、OAIとバケットポリシーが原因である可能性が高いと思います。
以上、何とかなったことを祈ります。