Amazon S3存在于Internet上。
因此,在与S3通信时,您的系统将使用a 的 公共IP地址 强> 。
但是,您的政策仅包括 的 私有IP地址 强> 。这就是为什么它不起作用。
你的选择是:
aws:sourceIp 期待一个 上市 IP地址。根据定义,私人地址不明确,而且 10.x.x.x/12 是一个私有(RFC-1918)地址,所以它永远不会匹配。
aws:sourceIp
10.x.x.x/12
如果您未使用S3 VPC端点,则可以将NAT网关的公共IP地址列入白名单(假设所有可访问thr网关的实例都应该能够访问该存储区)。
如果您使用的是S3 VPC端点,则无法通过IP列入白名单:
您不能在IAM策略中使用aws:SourceIp条件来通过VPC端点向Amazon S3发出请求。这适用于用户和角色的IAM策略以及任何存储桶策略。如果语句包含aws:SourceIp条件,则该值无法匹配任何提供的IP地址或范围。 https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html
您不能在IAM策略中使用aws:SourceIp条件来通过VPC端点向Amazon S3发出请求。这适用于用户和角色的IAM策略以及任何存储桶策略。如果语句包含aws:SourceIp条件,则该值无法匹配任何提供的IP地址或范围。
https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html
还有,这是:
注意:最好不要使用 aws:SourceIp 条件键。 https://aws.amazon.com/premiumsupport/knowledge-center/iam-restrict-calls-ip-addresses/
注意:最好不要使用 aws:SourceIp 条件键。
aws:SourceIp
https://aws.amazon.com/premiumsupport/knowledge-center/iam-restrict-calls-ip-addresses/