ヒント
ヒント 1見る
まず *_publicaccessblock.json の4設定がすべて false のバケットに絞ります。1つでも true ならブロックされます
ヒント 2見る
残ったバケットの *_policy.json を調べます。Policy は JSON 文字列なので jq の fromjson で展開し、statement ごとに Effect・Principal・Action・Resource・Condition を確かめます
ヒント 3見る
Action と Resource は文字列のことも配列のこともあります([.Action] | flatten で揃えられます)。site-assets/* だけ、バケットARNだけ、別アカウントの Principal、Condition 付きは公開ではありません。条件を満たすバケットの *_objects.json の object_preview にフラグがあります