Предоставление доступа к папке одному клиенту

В S3 у меня есть ведро с именем customerdata. При этом я хочу иметь папки для каждого клиента, поэтому

/customerdata/bobjones/project1/data
/customerdata/jamessmith/project1/data

Мне нужно предоставить каждому клиенту доступ ТОЛЬКО к своей папке и данным в ней, желательно с помощью простого бесплатного инструмента, такого как cloudberry s3 explorer. Цель состоит в том, чтобы Боб Джонс вошел в систему Cloudberry и увидел данные в папке bobjones.

Однако до сих пор я мог показать Бобу только все, что есть в ведре, или ничего. Вот политика, которую я пытался настроить, следуя эта статья, этот и этот:

{
 "Version":"2012-10-17",
 "Statement": [
   {
     "Sid": "AllowUserToSeeBucketListInTheConsole",
     "Action": ["s3:ListAllMyBuckets", "s3:GetBucketLocation"],
     "Effect": "Allow",
     "Resource": ["arn:aws:s3:::*"],
     "Condition":{"StringEquals":{"s3:prefix":["","customerdata/"],"s3:delimiter":["/"]}}
   },
  {
     "Sid": "AllowRootAndHomeListingOfCompanyBucket",
     "Action": ["s3:ListBucket"],
     "Effect": "Allow",
     "Resource": ["arn:aws:s3:::customerdata"],
     "Condition":{"StringEquals":{"s3:prefix":["","bobjones/"],"s3:delimiter":["/"]}}
    },
   {
     "Sid": "AllowListingOfUserFolder",
     "Action": ["s3:ListBucket"],
     "Effect": "Allow",
     "Resource": ["arn:aws:s3:::customerdata"],
     "Condition":{"StringLike":{"s3:prefix":["bobjones/*"]}}
   },
   {
     "Sid": "AllowAllS3ActionsInUserFolder",
     "Effect": "Allow",
     "Action": ["s3:*"],
     "Resource": ["arn:aws:s3:::customerdata/bobjones/*"]
   }
 ]
}

Что я делаю не так? Это вообще возможно, что я пытаюсь сделать? Я также попробовал групповой подход и ничего не увидел в морошке.

Если это неправильный подход, как правильно настроить его, чтобы каждый клиент видел ТОЛЬКО свои проекты и данные?


person Nicros    schedule 03.10.2014    source источник


Ответы (1)


Это может быть проще сделать с помощью переменной политики IAM ${aws:username}, как описано здесь: http://docs.aws.amazon.com/IAM/latest/UserGuide/PolicyVariables.html

Но учтите, что это будет для пользователей IAM, а не для пользователей приложений.

person Julio Faerman    schedule 03.10.2014