1

我正在尝试创建一个 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 存储桶中写入的特定条件?

非常感谢,达米安

4

0 回答 0