Как сделать политику корзины amazon S3 частной для всех, кроме администратора?

У меня есть корзина, в которую я случайно загрузил тысячи файлов с помощью ACL в :public_read Я хотел бы, чтобы все файлы были недоступны, кроме сгенерированного URL-адреса доступа.

Я попытался создать политику сегментов, запрещающую всем и разрешающую все мне.

Это не работает, и все файлы запрещены даже со сгенерированным URL доступа:

http://s3.amazonaws.com/myBucket/myFile.pdf?AWSAccessKeyId=AKIAIZB2XTOJ6KYB5SCA&Expires=1331137308&Signature=zRfPOj4XFBrXhyqDZ5DpwJqsWs0%3D

{
    "Version": "2008-10-17",
    "Id": "Policy1331136935471",
    "Statement": [
        {
            "Sid": "Stmt1331136294179",
            "Effect": "Deny",
            "Principal": {
                "AWS": "*"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::myBucket/*"
        },
        {
            "Sid": "Stmt1331136364169",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::6527...3775:root"
            },
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::myBucket/*"
        }
    ]
}

UPDATE :
Я нашел ссылку на отказ по умолчанию в документе, но генератор политик AWS имеет только 2 значения «Разрешить» и «Запретить». У кого-нибудь есть синтаксис для отказа по умолчанию?

Спасибо за вашу помощь

12
задан vdaubry 29 September 2014 в 19:19
поделиться