2015-12-18 44 views
7

に、特定のVPCのすべてのインスタンスへのユーザーアクセスを制限するようにしようとしています。政策後、私は作ったが働いていない。特定のVPC内のインスタンスにユーザーを制限するIAMポリシー

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Sid": "Stmt1450441260778", 
      "Action": "ec2:*", 
      "Effect": "Allow", 
      "Resource": "arn:aws:ec2:region:Account_num:vpc/vpc-id" 
     } 
    ] 
} 

私は政策で対応するaccount_numvpc-idを満たしています。

+0

"リソース"にタイプミスがあります。 「地域」のスペルミスがあります。 – helloV

+0

@helloV vpcが作成された実際の領域で領域を置き換えたので、それは問題ではありません。 –

+0

申し訳ありません。それは急いで入力されました。これはユーザーに付随する唯一のポリシーですか? – helloV

答えて

1

ユーザーアクセスを制限し、そのインスタンスにアクセスする許可を与えるallow属性を使用しています。それは望ましい行動ですか?

本当に制限する場合は、同じポリシーで"Effect": "Deny"を試してください。

ただし、ここで特定のユーザーにアクセス権を付与する方法については、こちらをご覧ください。

この場合、以下のポリシーが私にとってはうまくいきます。私は、開発者がインスタンスを停止するためのアクセスを制限するためにそれを使用します。 2番目のブロックに必要な数のアクセス権を追加できます。

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Effect": "Allow", 
      "Action": "ec2:DescribeInstances*", 
      "Resource": "*" 
     }, 
     { 
      "Effect": "Allow", 
      "Action": [ 
       "ec2:StartInstances*", 
       "ec2:StopInstances*" 
      ], 
      "Resource": "arn:aws:ec2:ap-southeast-1:ACCOUNT_ID:instance/i-32ds2a29" 
     } 
    ] 
} 

ap-southeast-1は私の場合の領域です。 特定のvpcのインスタンスを制御するには、単にそのidを使用します.vpc + instance_idには別のarnはありません。代わりにarn:aws:ec2:region:account-id:instance/instance-idをarn refer thisとして使用できます。

同様に、あなたは、実際にアクションec2:*denyを追加し、ARNとしてarn:aws:ec2:region:account-id:vpc/vpc-idを使用して、特定のVPC内のユーザーを制限するために、同じポリシーを使用することができます。

+0

これはうまくいくものですが、AWSにはユーザーインターフェイスに欠陥があることに気付きました。私は前の方針もうまくいくと思う。ポリシーを適用した後でも、AWSインターフェースは、ポリシーで許可されていないインスタンスを終了するオプションを表示します。 AWS以外のインスタンスを終了すると、アクションを実行する権限がないことを警告します。 –

+0

それは欠陥ではなく、その設計によるものです。 awsでポリシーを設定することにより、ビューのオプションは無効にならず、無効になったものは特定のアクションを実行するために行うAPIコールからのものです。すべての機能で同じです。 (彼らはすべての可能な行動を示していますが、あなたはあなたが許可されているものだけを行うことができます)。 –

+0

はい@Ankit Kulkarni、私はビューが拭き取られるべきではないことを理解しますが、無効にする必要があります。使用可能なオプションを表示するにはオプションが必要ですが、ユーザーに十分な権限がない場合は無効にする必要があります。 –

関連する問題