Политика кросс-аккаунта s3 - действие не распространяется на любую ошибку ресурса - PullRequest
0 голосов
/ 08 мая 2019

У меня есть кросс-аккаунт, которому нужен доступ к корзине (точнее, к папке), когда я применяю это в terraform, я получаю сообщение об ошибке, может кто-нибудь сообщить мне, в чем заключается ошибка в этой политике

Я пытаюсь написать s3 acl policy.У пользователя должны быть только разрешения на folder1 внутри корзины.

укажите, пожалуйста, как использовать условие (у меня есть AccountA-CanonicalUserID) и имя пользователя

resource "aws_s3_bucket_policy" "policy" {
  bucket = "${aws_s3_bucket.xxx.id}"
     policy = <<POLICY
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "MicrositesLogs",
          "Effect": "Allow",
          "Principal": {
             "AWS": "arn:aws:iam::xxx:user/user1"
           },
          "Action": [
                      "s3:PutObject",
                      "s3:GetObject"
                    ],
          "Resource": "arn:aws:s3:::xxxx/folder1/*",
          "Condition": {
             "StringEquals": {
               "s3:x-amz-grant-full-control": "id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
            }
          }
        }
      ]
    }
    POLICY
    }

Ошибка: ошибка при применении плана:

1 ошибка (и)произошло:

  • aws_s3_bucket_policy.policy: 1 произошла ошибка:

  • aws_s3_bucket_policy.policy: ошибка при установке политики S3: MalformedPolicy: условия выполняютсяне применяется к комбинации действий и ресурсов в коде состояния оператора: 400, идентификатор запроса: 84C92DAD0C9AC0FB, идентификатор хоста: rvg7fqFDXdigCHPLLM / FXtOTXJXGKXSN9eQNRBZdkd0GrGRzis9ZkJu1Kkyu896RUvOxQ *

    1020 * 820 * 8207

1 Ответ

1 голос
/ 09 мая 2019

s3:x-amz-grant-full-control - это ключ условия, который требует, чтобы создатель объекта запросил предоставление указанного разрешения при создании объектов. Он ничего не предоставляет - он возлагает бремя на загрузчика, чтобы сделать грант, иначе загрузка запрещена. Таким образом, невозможно соответствовать этому условию на s3:GetObject, поэтому, если система разрешит вам создать эту политику, она никогда не будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...