请求确认S3 Bucket Policy是否正确配置强制TLS 1.2及以上版本
问题分析与解决方案
你的存储桶策略逻辑完全颠倒了:当前使用的
NumericLessThanEquals条件是允许TLS版本≤1.2的请求,这意味着TLS 1.0、1.1、1.2的请求都能通过,根本没有强制禁用低版本TLS——这就是亚马逊持续发送警告邮件的核心原因,邮件里的记录也明确显示确实有TLSv1的REST.GET.OBJECT调用在命中你的存储桶。正确的策略需要使用
NumericGreaterThanEquals条件,确保只有TLS 1.2及以上版本的请求被允许:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceTLS12OrHigher", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::[INSTANCE_NAME]-s3-live/*", "Condition": { "NumericGreaterThanEquals": { "s3:TlsVersion": "1.2" } } } ] }
- 修正策略后,还需要做两件事:
- 定位邮件中提到的TLSv1调用来源,找到发起这些请求的旧版应用、SDK或工具,将它们的TLS版本升级到1.2+,避免2023年12月31日后出现连接失败。
- 如果你的存储桶还有其他操作(比如
PutObject、ListBucket等),需要将这些操作补充到策略的Action字段中,确保所有操作都强制使用TLS 1.2+。
内容的提问来源于stack exchange,提问作者Dean
相关产品推荐
相关产品推荐

