2017-11-07 13 views
1

このポリシーを使用して、ユーザーが指定したVPCにインスタンスを起動できないように制限しようとしています。しかし、私はまだインスタンスを起動することができます!なぜこのポリシーは機能していませんか?明らかに、リソースのリソース ":" ARN:AWS:EC2 ::: VPC // VPC-xyzは私の生産テンプレートIAM特定のVPCにEC2インスタンスを起動できないようにするポリシー

"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" 
    } 
] 

}

答えて

0

最初の項目に実際の値を持っています。あなたは、あなたのポリシーには許可がありません。したがって、何もすることはできません。この問題を最初に解決してください。

次はこのように見て、あなたの最初の文を変更します。

{ 
    "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

おかげジョン。私は正常に動作している許可ポリシーを持っていますが、問題の概要には含まれていません。私はあなたのソリューションを試して、VPC-IDを条件として使用し、あなたが示唆したようにリソースのサブネットarnを使用しました。乾杯 – gbaz

関連する問題