AWS.Как установить permisson PutObject для папки, но не для всего контейнера? - PullRequest
0 голосов
/ 12 июня 2018

Речь идет об услуге AWS-MediaStore.

Попробуйте добавить политику на стороне пользователя:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AWSElementalMediaStoreGetAccess",
            "Effect": "Allow",
            "Action": "mediastore:GetObject",
            "Resource": "*"
        }
    ]
}

А на стороне контейнера:

{
  "Version" : "2012-10-17",
  "Statement" : [ {
    "Sid" : "MediaStorePostToSpecificPath",
    "Effect" : "Allow",
    "Principal" : {
      "AWS" : "arn:aws:iam::CENSORED:root"
    },
    "Action" : "mediastore:PutObject",
    "Resource" : "arn:aws:mediastore:eu-central-1:CENSORED:container/test/path1/*",
    "Condition" : {
      "Bool" : {
        "aws:SecureTransport" : "true"
      }
    }
  } ]
}

Но отправлять вPath1 говорит мне, что доступ запрещен.Можно ли настроить политику, которая может предоставить PutObject для пользователя в определенной папке?

1 Ответ

0 голосов
/ 12 июня 2018

Не знаю почему, но после нескольких попыток эта конфигурация начала работать правильно: Пользователь:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AWSElementalMediaStore",
            "Effect": "Allow",
            "Action": [
                "mediastore:GetObject"
            ],
            "Resource": "*"
        }
    ]
}

Контейнер:

{
  "Version" : "2012-10-17",
  "Statement" : [ {
    "Sid" : "MediaStoreAccess",
    "Effect" : "Allow",
    "Principal" : {
      "AWS" : "arn:aws:iam::CENSORED:user/bot"
    },
    "Action" : "mediastore:PutObject",
    "Resource" : "arn:aws:mediastore:eu-central-1:CENSORED:container/test/path1/*",
    "Condition" : {
      "Bool" : {
        "aws:SecureTransport" : "true"
      }
    }
  } ]
}

Теперь пользователь bot может помещать файлы только в path1 папка.Может быть, я получил эту проблему, потому что политика применяется не так быстро ...

...