2017-02-23 189 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所表示的「其他比「。 –

相關問題