2017-11-07 3 views
1

Ich versuche diese Richtlinie zu verwenden, um Benutzer daran zu hindern, Instanzen in die angegebene VPC zu starten. Ich bin jedoch immer noch in der Lage Instanzen zu starten! Warum funktioniert diese Richtlinie nicht? Offensichtlich ist die Ressource Ressource ":" arn: aws: EC2 ::: VPC // VPC-xyz Istwerten in meiner Produktion Vorlage hatIAM-Richtlinie, um Benutzer daran zu hindern, EC2-Instanzen in eine bestimmte VPC zu starten

"Statement": [ 
    { 
     "Action": [ 
      "ec2:Run*", 
      "ec2:Terminate*", 
      "ec2:Cancel*", 
      "ec2:Create*", 
      "ec2:Delete*", 
      "ec2:Modify*", 
      "ec2:Start*", 
      "ec2:Stop*" 
     ], 
     "Resource": "arn:aws:ec2:<REGION>:<ACCOUNT-ID>:vpc/<VPC-ID>/vpc-xyz", 
     "Effect": "Deny", 
     "Sid": "DenyInstanceActionsForVPC" 
    }, 
    { 
     "Condition": { 
      "StringEquals": { 
       "ec2:ResourceTag/Project": [ 
        "Cloud Services", 
        "MDH", 
        "Shine" 
       ] 
      } 
     }, 
     "Action": [ 
      "ec2:Run*", 
      "ec2:Terminate*", 
      "ec2:Cancel*", 
      "ec2:Create*", 
      "ec2:Delete*", 
      "ec2:Modify*", 
      "ec2:Start*", 
      "ec2:Stop*" 
     ], 
     "Resource": "*", 
     "Effect": "Deny", 
     "Sid": "DenyInstanceActionsForCStaggedResources" 
    } 
] 

}

Antwort

0

Der erste Punkt. Sie haben in Ihrer Richtlinie keine Zulassen. Daher solltest du nichts tun können. Löse dieses Problem zuerst.

Nächstes ändern Sie Ihre erste Aussage wie folgt aussehen:

{ 
    "Sid": "DenyInstanceActionsForVPC", 
    "Effect": "Deny", 
    "Action": [ 
     "ec2:Run*", 
     "ec2:Terminate*", 
     "ec2:Cancel*", 
     "ec2:Create*", 
     "ec2:Delete*", 
     "ec2:Modify*", 
     "ec2:Start*", 
     "ec2:Stop*" 
    ], 
    "Resource": "arn:aws:ec2:REGION:ACCOUNTNUMBER:subnet/*", 
    "Condition": { 
     "StringEquals": { 
      "ec2:vpc": "arn:aws:ec2:REGION:ACCOUNTNUMBER:vpc/VPC-ID" 
     } 
    } 
}, 
+0

Dank John. Ich habe eine Erlaubnispolitik, die gut funktioniert, ich habe es gerade in der Problemzusammenfassung nicht eingeschlossen. Ich habe Ihre Lösung versucht und die VPC-ID als Bedingung und das Subnetz arn für die Ressource verwendet, wie Sie vorgeschlagen haben und es funktionierte. Prost – gbaz

Verwandte Themen