2017-02-23 91 views
0

我有两个策略并希望合并为一个存储桶策略。将AWS S3存储桶策略合并为包含允许和拒绝规则

是否可以将拒绝和允许策略合并到一个策略中? 在这个例子中,策略是否允许54.240.143.0/24以外的IP范围?

政策应只允许从VPC端点接入和IP范围54.240.143.0/24

{ 
    "Version": "2012-10-17", 
    "Id": "S3PolicyId1", 
    "Statement": [ 
    { 
     "Sid": "IPAllow", 
     "Action": "s3:*", 
     "Effect": "Allow", 
     "Principal": "*", 
     "Resource": "arn:aws:s3:::examplebucket/*", 
     "Condition": { 
     "IpAddress": {"aws:SourceIp": "54.240.143.0/24"} 
     } 
    } 
    ] 
} 


{ 
    "Version": "2012-10-17", 
    "Id": "Policy1415115909152", 
    "Statement": [ 
    { 
     "Sid": "Access-to-specific-VPCE-only", 
     "Action": "s3:*", 
     "Effect": "Deny", 
     "Resource": ["arn:aws:s3:::examplebucket", 
        "arn:aws:s3:::examplebucket/*"], 
     "Condition": { 
     "StringNotEquals": { 
      "aws:sourceVpce": "vpce-1a2b3c4d" 
     } 
     }, 
     "Principal": "*" 
    } 
    ] 
} 
+1

您能否以英文说明您的规定要求?它目前在说“仅通过此VPC端点访问此桶”和“仅当它来自此公共IP地址”,这似乎是矛盾的。 –

+0

通常最好记住,默认情况下访问被拒绝,所以通常你可以写出你所需要的“允许if”而不是“拒绝,除非”,这在某些情况下使事情变得更简单,因为*任何*匹配的拒绝规则将总是赢得任何匹配允许。 –

+0

该策略应只允许从VPC端点和IP范围进行访问54.240.143.0/24 – tset

回答

0

你为什么不反你的第二个政策,并添加条件到第一?除了一个vpc,您目前正在拒绝来自任何地方的访问。所以,相反,添加一个条件,允许在第一个策略中访问此vpc。

+0

我认为现在就这个问题给出任何建议还为时尚早,直到提供评论的澄清为止。您绝不会通过具有公共IPv4源地址的VPC端点访问存储桶 - 实际上,在遍历VPC端点时,您的源地址没有意义且不能用于访问控制,因此不清楚OP所表示的“其他比“。 –

相关问题