Amazon S3 предоставляет несколько User Policy Examples и желаемый сценарий рассматривается в Example: Allow each IAM user access to a folder in a bucket:
В этом примере вы хотите два IAM пользователей, Алиса и Боб, чтобы получить доступ к вашему ковшу, examplebucket, так что они могут добавить , обновлять и удалять объекты. Однако вы хотите ограничить доступ каждого пользователя к одной папке в ведре.
Как объяснено там, вы можете прикрепить отдельные политики для каждого пользователя, однако, она тем лучше решать с помощью IAM Policy Variables:
Вместо прикрепление политики для отдельных пользователей, однако, вы можете написать единой политики, которая использует переменную политики и присоединяет политику к группе. [...] В следующем примере политики разрешен набор разрешений Amazon S3 в папке examplebucket/$ {aws: username}. Когда политика оценивается, переменная политики $ {aws: username} равна , замененной именем пользователя реквестера. [...]
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"s3:PutObject",
"s3:GetObject",
"s3:GetObjectVersion",
"s3:DeleteObject",
"s3:DeleteObjectVersion"
],
"Resource":"arn:aws:s3:::examplebucket/${aws:username}/*"
}
]
}