AWS: ограничение пользователя IAM определенной папкой в ​​сегменте S3

Итак, я безуспешно пытался определить политику, ограничивающую группу пользователей IAM определенной папкой в ​​корзине S3. Я нарушил политику, изложенную в этом сообщении в блоге. http://blogs.aws.amazon.com/security/post/Tx1P2T3LFXXCNB5/Writing-IAM-policies-Grant-access-to-user-specific-folders-in-an-Amazon-S3-bucke

В частности, я использую следующее:

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

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


person Chris    schedule 29.08.2014    source источник


Ответы (2)


Я надеюсь, что эта документация поможет вам, шаги разбиты и довольно просты:

http://docs.aws.amazon.com/AmazonS3/latest/dev/walkthrough1.html

Вы также можете использовать переменные политики.

Это позволяет вам указывать заполнители в политике. Когда политика оценивается, переменные политики заменяются значениями, которые поступают из самого запроса. Например - ${aws:username}:


Кроме того, вы также можете проверить этот вопрос о Stackoverflow (если он кажется актуальным):

Предотвращение пользователь, даже не зная о других пользователях (папках) в AWS S3

person Nah    schedule 10.09.2017

Я отвечал на это раньше, но я отвечу еще раз отсюда. Лучше всего создать пользователя, затем добавить его в группу, а затем назначить группу r / w для корзины. Это типичный пример того, как писать политику

{
  "Statement": [
    {
      "Sid": "sidgoeshere",
      "Action": [
        "s3:DeleteObject",
        "s3:GetObject",
        "s3:GetObjectAcl",
        "s3:ListBucket",
        "s3:PutObject"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3:::s3bucket",
        "arn:aws:s3:::s3bucket/*"
      ]
    }
  ]
}
person Paul Frederiksen    schedule 29.08.2014
comment
Спасибо, Пол. Не уверен, что слежу. Что вы имеете в виду под группой ж / б? И как вы ограничиваете доступ группы к определенной папке в корзине с помощью вышеуказанного? - person Chris; 29.08.2014
comment
читай пиши. Если вы просто пытаетесь перечислить содержимое, вы можете настроить поле «Действие» на то, что вам нужно. рассматривайте варианты записи как бонусный контент;) - person Paul Frederiksen; 29.08.2014