Назад | Перейти на главную страницу

Запретить анонимные загрузки в AWS S3

У меня есть корзина с несколькими общедоступными файлами. Я хочу установить политику корзины, после которой эти файлы должны быть загружены только моими пользователями IAM. На данный момент у меня есть такая политика:

{
    "Version": "2008-10-17",
    "Id": "Policy1424952346041",
    "Statement": [
        {
            "Sid": "Stmt1424958477350",
            "Effect": "Deny",
            "NotPrincipal": {
                "AWS": "arn:aws:iam::777777777777:root"
            },
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::test/*"
        },
        {
            "Sid": "Stmt1424958477351",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::777777777777:root"
            },
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::test/*"
        }
    ]
}

Однако это отрицает всех, включая пользователей IAM. Кто-нибудь может указать, что здесь не так?

В зависимости от того, сколько пользователей IAM у вас в учетной записи, вы можете указать учетные записи в обоих утверждениях следующим образом (попробуйте один или два, чтобы проверить, работает ли он). В прошлом у меня были проблемы с получением arn: aws: iam :: XXXXXXXXXXXX: root, чтобы фактически охватить все учетные записи IAM. Вы также можете попробовать просто указать пользователей IAM и удалить корневую запись.

{
    "Version": "2008-10-17",
    "Id": "Policy1424952346041",
    "Statement": [
        {
            "Sid": "Stmt1424958477350",
            "Effect": "Deny",
            "NotPrincipal": {
                "AWS": [
                        "arn:aws:iam::777777777777:root",
                        "arn:aws:iam::777777777777:user/user1", 
                        "arn:aws:iam::777777777777:user/user2" ]
            },
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::test/*"
        },
        {
            "Sid": "Stmt1424958477351",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                        "arn:aws:iam::777777777777:root",
                        "arn:aws:iam::777777777777:user/user1",
                        "arn:aws:iam::777777777777:user/user2" ]
            },
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::test/*"
        }
    ]
}