Политика AWS S3 Bucket - разрешать только определенные типы файлов в папке
У меня в папке есть определенная папка, которую я хотел бы ограничить только определенными типами файлов. В настоящее время у меня есть следующее:
{
"Version": "2012-10-17",
"Id": "Policy1464968545158",
"Statement": [
{
"Sid": "Stmt1464968483619",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:PutObject",
"Resource": [
"arn:aws:s3:::my-bucket/my-folder/*"
]
"Condition": {
"StringNotEquals": {
"s3:prefix": ".txt",
"s3:prefix": ".doc"
}
},
}
]
}
Мне нужно что-то заменить s3:prefix
так что вместо того, чтобы смотреть в начале файла и пути, система смотрит в конце. Я старался s3:suffix
, но это недопустимое свойство.
Есть ли свойство S3, которое выполняет поиск по шаблону в конце имени файла, чтобы я мог вносить в белый список только определенные типы файлов для моей папки?
2 ответа
Вы должны быть в состоянии определить это в Resource
используя подстановочный знак. использование Effect: Allow
если вы хотите, чтобы папка была ограничена .txt
а также .doc
только.
{
"Version": "2012-10-17",
"Id": "Policy1464968545158",
"Statement": [
{
"Sid": "Stmt1464968483619",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:PutObject",
"Resource": [
"arn:aws:s3:::my-bucket/my-folder/*.doc",
"arn:aws:s3:::my-bucket/my-folder/*.txt"
]
}
]
}
Так же, как используется эффект запрета, вы можете использовать разрешающий эффект. Оба примера приведены ниже:
Разрешить только конкретные и запретить конкретные, если это необходимо....
{
"Version": "2012-10-17",
"Id": "Policy1464968545158",
"Statement": [
{
"Sid": "Stmt1464968483619",
"Effect": "Allow",
"Principal": {
"AWS": "IAM-USER-ARN"
},
"Action": "s3:PutObject",
"Resource": [
"arn:aws:s3:::bucket-name/*.doc",
"arn:aws:s3:::bucket-name/*.txt"
]
},
{
"Sid": "Stmt1464968483619",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:PutObject",
"NotResource": [
"arn:aws:s3:::bucket-name/*.png",
"arn:aws:s3:::bucket-name/*.gif"
]
}
]
}