2017-02-23 2 views
0

Ich habe zwei Richtlinien und möchte sie in einer einzigen Bucket-Richtlinie zusammenführen.Kombinieren Sie AWS S3-Bucket-Richtlinien so, dass sie sowohl Zulassen- als auch Verweigerungsregeln enthalten.

Ist es möglich, Verweigern und Zulassen von Richtlinien in einer einzigen Richtlinie zusammenzuführen? In diesem Beispiel erlaubt die Richtlinie andere IP-Bereiche als 54.240.143.0/24?

Die Politik sollte nur den Zugriff vom Endpunkt und IP-Bereich VPC erlaubt 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

Könnten Sie bitte Ihre Regelanforderungen in Englisch angeben? Es wird gerade gesagt: "Nur über diesen VPC-Endpunkt auf diesen Bucket zugreifen" UND "Nur wenn es von dieser öffentlichen IP-Adresse kommt", was widersprüchlich erscheint. –

+0

Es ist auch am besten, sich daran zu erinnern, dass der Zugriff standardmäßig verweigert wird. Daher können Sie normalerweise "allow if" anstelle von "deny iweh" schreiben, was in manchen Fällen die Sache einfacher macht, da * any * die passende Deny-Regel immer gilt Gewinnen Sie jede passende Erlaubnis. –

+0

Die Richtlinie sollte nur Zugriff vom VPC-Endpunkt und IP-Bereich zulassen 54.240.143.0/24 – tset

Antwort

0

, warum Sie nicht Ihre zweite Politik umkehren und den Zustand zu dem ersten hinzufügen? Sie verweigern derzeit den Zugriff von überall mit Ausnahme eines VPCs. Fügen Sie stattdessen eine Bedingung hinzu, die den Zugriff auf diesen vcp in der ersten Richtlinie ermöglicht.

+0

Ich denke, es ist verfrüht, zu dieser Frage einen Rat zu geben, bis die Klarstellung aus den Kommentaren gegeben ist. Sie greifen niemals über einen VPC-Endpunkt mit einer öffentlichen IPv4-Quelladresse auf einen Bucket zu - tatsächlich ist Ihre Quelladresse beim Überqueren eines VPC-Endpunkts bedeutungslos und kann nicht für die Zugriffssteuerung verwendet werden. Daher ist nicht klar, was OP mit "Andere" meint als." –

Verwandte Themen