Политика корзины Amazon S3 только для публичных ограничений

Я хотел бы ограничить публичный доступ к некоторым объектам, которые мы сохранили в S3, но показать другие объекты в той же иерархии ключей. Например, предположим, что я хочу сделатьbucketname/* публично читаемый. Но хочу запретить доступ кbucketname/*/hidden/* для любых пользователей, которым явно не предоставлен доступ в IAM.

Я могу сделать это с помощью такой политики:

{
  "Id": "Policy123",
  "Statement": [
    {
      "Sid": "Stmt123",
      "Action": [ "s3:GetObject" ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::bucketname/*",
      "Principal": {
        "AWS": [ "*" ]
      }
    },
    {
      "Sid": "Stmt124",
      "Action": [ "s3:GetObject" ],
      "Effect": "Deny",
      "Resource": "arn:aws:s3:::bucketname/*/hidden/*",
      "Principal": {
        "AWS": [ "*" ]
      }
  ]
}

Но это предотвращает доступ любых пользователей / групп IAM к скрытым объектам. Есть ли настройка дляпринципал во втором утверждении, что соответствует только неаутентифицированному доступу? Или еще лучше, есть ли способ перечислить только те,Принципалы это должноНЕ быть затронутым заявлением о политике?