Actually had to use a slightly different policy to make mine work,
I had to add:
"s3:GetBucketLocation",
my top level one now looks like:
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:HeadBucket",
"s3:GetBucketLocation",
"s3:ListAllMyBuckets"
],
"Resource": "*"
},
But otherwise based on: