Я пытаюсь создать поток 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?
Заранее большое спасибо, Дэмиен.
"Principal": {"Service": "firehose.amazonaws.com"}
? - person Andreas   schedule 18.10.2016