2017-11-10 10 views
1

特定のユーザロールが、どのVPCのパブリックサブネットでもEC2インスタンスアクションを実行するのを制限する必要があります。サブネットタグを活用してこれを達成する方法はありますか?私は以下のコードスニペットのようなEC2リソースへのアクセスを制御するためにEC2リソースタグを使用する方法を知っていますが、私の場合はvpcやサブネットタグをベースにする必要があります。私が利用できるvpc:ResourceTagのようなものがありますか?サブネット名タグに基づいてAmazon EC2リソースへのアクセスを制御するIAMポリシーを作成するにはどうすればよいですか?

{ 
       "Effect" : "Allow", 
       "Action" : "ec2:*", 
       "Resource" : "*", 
       "Condition" : { 
        "StringEquals" : { 
          "ec2:ResourceTag/UserName" : "${aws:username}" 
        } 

enter image description here

答えて

0

私は、あなたが「サブネットタグ」によって何を意味するかわからないが、あなたがサブネットタイプ(プライベート対すなわち、パブリック)に基づいて制限するIAMを使用することができます表示されません。これは、ルートを追加または削除することで簡単にサブネットタイプを変更できるので意味があります。

一部のユーザーが一部のEC2インスタンスに対して操作を実行しないようにする必要がある場合は、EC2インスタンスでタグを使用し、タグに基づいて許可または拒否ルールを使用します。この発表blogから:このビットより安全にするために

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Action": [ 
     "ec2:StartInstances", 
     "ec2:StopInstances",  
     "ec2:RebootInstances", 
    "ec2:TerminateInstances" 
     ], 
     "Condition": { 
     "StringEquals": { 
      "ec2:ResourceTag/critical":"true" 
     } 
     }, 
     "Resource": [ 
     "arn:aws:ec2:your_region:your_account_ID:instance/*" 

     ], 
     "Effect": "Deny" 
    } 
    ] 
} 

を、タグを編集または削除する機能を拒否することを確認してください!

+0

私のラベルされたパブリックサブネットにインスタンスを起動することができませんでしたパブリックサブネットでEC2インスタンスを作成することができます。現在、すべてのサブネットに、次のようにサブネットがパブリックかプライベートかを示す名前タグがあります。subnet-CIDR-REGION-Type(例10.0.4.0-ap-southeast-2-Public) – gbaz

+0

StringEqualsをStringLike、 "critical"をタグの名前に変更し、publicで終わる値を使用します。値ではなくタグサブネット-CIDR-Region-typeに名前を付ける場合、これは機能しません。 – chris

0

@クリスはそれが私のために働いた先端をありがとう:私は、以下のステートメントを使用して、私はあることから、特定のユーザーグループを制限する必要がある

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Condition": { 
       "StringLike": { 
        "ec2:ResourceTag/Name": "*public*" 
       } 
      }, 
      "Action": [ 
       "ec2:Run*", 
       "ec2:Terminate*", 
       "ec2:Cancel*", 
       "ec2:Create*", 
       "ec2:Delete*", 
       "ec2:Modify*", 
       "ec2:Start*", 
       "ec2:Stop*" 
      ], 
      "Resource": "arn:aws:ec2:ap-southeast-2:106625493890:subnet/*", 
      "Effect": "Deny", 
      "Sid": "DenyInstanceActionsForPublicSubnets" 
     }, 
関連する問題