Мой сервер выдает клиенту указанную ниже политику, чтобы они могли перечислить содержимое своего домашнего каталога в сегменте:
s3://abcd/public/USERNAME
Со стороны клиента я использую API-интерфейс AWS с политикой для вывода списка сегментов..
Все работает нормально с обычными словами, однако, когда имя пользователя включает символ @, я получаю ЗАПРЕЩЕННЫЙ ответ.
s3://abcd/public/@makeihan
Я подозреваю, что это мешаетс этими амазонскими ARN-вещами, но, видимо, символ @ является допустимым и поддерживаемым символом в ключах (также пытался создавать объекты из консоли, и он работает нормально), мне интересно, если я могу избежать этого где-нибудь в политике , или этот символ не поддерживается?
Заранее спасибо.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::abcd"
],
"Condition": {
"StringLike": {
"s3:prefix": [
"public/@makeihan/*",
]
}
}
},
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:DeleteObject"
],
"Resource": [
"arn:aws:s3:::abcd/public/@makeihan",
"arn:aws:s3:::abcd/public/@makeihan/*"
]
}
]
}