【发布时间】:2021-01-13 17:28:52
【问题描述】:
我创建了一个 S3 存储桶并启用了服务器访问日志记录。还有一个S3 bucket,就是我提到的第一个bucket的服务器访问日志投递的目标bucket。
现在需要对目标bucket的策略保持sourceIP限制,所以目标bucket上的策略有点如下-
{
"Version": "2012-10-17",
"Id": "Policy1234567890",
"Statement": [
{
"Sid": "Allow-only-specific-sourceIPs",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::log-target-bucket-xyz",
"arn:aws:s3:::log-target-bucket-xyz/*"
],
"Condition": {
"NotIpAddress": {
"aws:SourceIp": [
"10.0.0.1",
"10.0.0.2"
]
},
"StringNotEquals": {
"aws:sourceVpce": "vpce-1234xyz",
"aws:username": "xyz-user"
}
}
}
]
}
但使用此策略,服务器访问日志不会传送到存储桶。此策略应该允许 S3 操作仅针对源 IP、vpc 端点和用户名条件。
目标存储桶还具有以下 ACL:
{
"Grantee": {
"Type": "Group",
"URI": "http://acs.amazonaws.com/groups/s3/LogDelivery"
},
"Permission": "WRITE"
},
{
"Grantee": {
"Type": "Group",
"URI": "http://acs.amazonaws.com/groups/s3/LogDelivery"
},
"Permission": "READ_ACP"
}
问题是:S3 服务器没有生成访问日志,我需要在目标存储桶上保留 sourceIP、vpce 限制。如果我从存储桶策略中删除限制,问题就会解决。但似乎找不到解决方案来生成带有限制的日志。
编辑: 尝试了以下情况,但没有奏效:
"StringNotLikeIfExists": {
"s3:x-amz-grant-write": "acs.amazonaws.com/groups/s3/LogDelivery"
}
如果有人有解决此问题的任何解决方案或建议,请告诉我。非常感谢任何帮助。
谢谢!
【问题讨论】:
标签: amazon-web-services amazon-s3