S3 Bucket Policy нужна помощь, чтобы дополнительно ограничить один файл указанными c IP-адресами. - PullRequest
1 голос
/ 19 марта 2020

Я ограничил доступ на чтение для всей моей корзины указанными c IP-адресами, например 1.1.1.0 & 2.2.2.0 в соответствии с политикой корзины, приведенной ниже.

В нем есть файл, s3://MYBUCKET/onefile.txt, к которому я хочу предоставить другой набор IP-адресов для чтения, например, 3.3.3.0 и 4.4.4.0. Так что теперь onefile.txt могут быть доступны только для 3.3.3.0 и 4.4.4.0 , но НЕ для 1.1.1.0 & 2.2.2.0 или любого другого.

Как мне выполнить sh that?

Текущий Разрешения> Bucket Policy (например)

{
    "Version": "2012-10-17",
    "Id": "http referer policy",
    "Statement": [
        {
            "Sid": "MY RESTRICTED REQUESTS",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::MYBUCKET/*",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": [
                        "1.1.1.0/20",
                        "2.2.2.0/22"
                    ]
                }
            }
        }
    ]
}

1 Ответ

1 голос
/ 19 марта 2020

Добавьте явное отклонение и разрешение операторов для этого файла onefile.txt в дополнение к существующему утверждению в Политике.

Обновленная политика корзины будет выглядеть так:

{
    "Version": "2012-10-17",
    "Id": "http referer policy",
    "Statement": [
        {
            "Sid": "MY RESTRICTED REQUESTS",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::MYBUCKET/*",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": [
                        "1.1.1.0/20",
                        "2.2.2.0/22"
                    ]
                }
            }
        },
        {
            "Sid": "MY RESTRICTED REQUESTS_1",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::MYBUCKET/onefile.txt",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": [
                        "3.3.3.0/20",
                        "4.4.4.0/22"
                    ]
                }
            }
        },
        {
            "Sid": "MY RESTRICTED REQUESTS_2",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::MYBUCKET/onefile.txt",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": [
                        "1.1.1.0/20",
                        "2.2.2.0/22"
                    ]
                }
            }
        }
    ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...