Ограничить создание сегмента областью - PullRequest
0 голосов
/ 19 мая 2018

Я хочу запретить пользователю создавать корзины Amazon S3 в определенном регионе.Я написал политику, как показано ниже, и приложил к пользователю.Но это лишает пользователя возможности создавать какие-либо ведра.

Пожалуйста, помогите.Другие утверждения написаны, чтобы видеть, созданы ли сегменты.К сожалению, мы не можем ограничить пользователя в перечислении сегментов.

{
"Version": "2012-10-17",
"Statement": [
    {
        "Sid": "RegionSpecificS3BucketCreation",
        "Effect": "Allow",
        "Action": "s3:CreateBucket",
        "Resource": "arn:aws:s3:::*",
        "Condition": {
            "StringLike": {
                "s3:LocationConstraint": "us-east-1"
            }
        }
    },
    {
        "Effect": "Allow",
        "Action": "s3:ListBucket",
        "Resource": "arn:aws:s3:::*"
    },
    {
        "Sid": "VisualEditor2",
        "Effect": "Allow",
        "Action": [
            "s3:ListAllMyBuckets",
            "s3:HeadBucket"
        ],
        "Resource": "*"
    }
]
}

1 Ответ

0 голосов
/ 20 мая 2018

us-east-1 - особый случай.Это исходная область S3, и для блоков обратной совместимости в этой области фактически не объявлено ограничение местоположения.Они по-прежнему ограничены us-east-1 (данные остаются в этом регионе), но вы создаете сегменты в us-east-1, не указывая ограничение местоположения на уровне API.

Я подозреваю, что правильныйусловие условия для этого конкретного региона будет следующим:

    "Condition": {
        "StringLikeIfExists": {
            "s3:LocationConstraint": ""
        }
    }

То есть, если строка присутствует вообще, это должна быть пустая строка.

Для всех других регионов, что выделаю, должно работать нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...