AWS Политика S3, разрешающая доступ к сегментам, заканчивающимся определенным именем - PullRequest
0 голосов
/ 29 мая 2020

Можно ли написать политику AWS S3 так, чтобы

  1. мог читать все объекты в сегменте, имена которых заканчиваются на "archive" (имя сегмента заканчивается на archive, никаких ограничений на объект имена)
  2. может читать-писать все объекты в сегментах, заканчивающихся на «output»

Можно ли это сделать?

Я не могу найти «условия», которые позволил бы мне сделать это ...

Спасибо

PS: 1) Я только что отредактировал вопрос, потому что возникла двусмысленность, было ли это ведро или имя объекта, заканчивающееся на ".. . "2) С тех пор я понял, что не могу фильтровать имена ведер, которые могут быть перечислены 3) Комментарий от bruno-reis дает понять, что это все равно было бы плохой идеей

1 Ответ

1 голос
/ 31 мая 2020

Нет, это невозможно.

Вы запрашиваете политику, которая применяется к нескольким сегментам. Следовательно, это должна быть политика IAM , потому что политика сегмента применяется только к определенному сегменту c.

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

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject"
            ],
            "Resource": "arn:aws:s3:::*-output/*"
        }
    ]
}

Итак, эта команда будет успешной:

aws s3 cp foo-output/bar.txt .

Однако он также разрешает эту команду:

aws s3 cp foo/results-output/bar.txt .

Это потому, что подстановочные знаки в политике не различают часть ARN, которая ссылается на имя корзины и путь / имя объекта .

Таким образом, возможно, что они могут получить доступ к корзине, которая не заканчивается на -output. Таким образом, это небезопасная политика.

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