我正在尝试创建一个 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 存储桶中写入的特定条件?
非常感谢,达米安