Kinesis Firehose и ведро S3 защищены IP

Я пытаюсь создать поток Kinesis Firehose (на AWS), который записывается в корзину S3 с ограниченной политикой корзины.

My bucket policy :

{
    "Version": "2012-10-17",
    "Id": "S3PolicyId1",
    "Statement": [
        {
            "Sid": "DenyAllExcept",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::myrestrictedbucket/*",
                "arn:aws:s3:::myrestrictedbucket"
            ],
            "Condition": {
                "StringNotEqualsIfExists": {
                    "aws:SourceVpc": "vpc-1234567"
                },
                "NotIpAddressIfExists": {
                    "aws:SourceIp": [
                        "xx.xx.xx.xx/32",
                        "52.19.239.192/27"
                    ]
                }
            }
        }
    ]
}

Примечание. 52.19.239.192/27 — это IP-адреса для ЕС (Ирландия) (их можно найти в документации по доступу к кластеру Redshift).

На данный момент это не работает, и у меня есть эта ошибка: Отказано в доступе. Убедитесь, что политика доверия для предоставленной роли IAM позволяет Firehose взять на себя эту роль, а политика доступа разрешает доступ к корзине S3.

Если я отключу свою политику ведра, она будет работать отлично.

Кто-нибудь знает, как добавить конкретное условие, которое позволит Firehose писать в мою корзину S3?

Заранее большое спасибо, Дэмиен.


person Damien    schedule 19.08.2016    source источник
comment
вместо этого вы пытались ограничить доступ к "Principal": {"Service": "firehose.amazonaws.com"}?   -  person Andreas    schedule 18.10.2016
comment
Ответ на stackoverflow.com/questions/36207399/ охватывает этот сценарий.   -  person James Holmes    schedule 21.03.2018