2016-06-22 17 views
0

EC2インスタンスs.tのIAMポリシーを制限する方法はありますか。このようのgetDocument:AWS IAM SSM - インスタンスが実行できる文書の制限

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Effect": "Allow", 
     "Action": [ 
      "ssm:GetDocument" 
     ], 
     "Resource": [ 
      "arn:aws:ssm:ap-southeast-2:*:document/MyCommand" 
     ] 
    } 
]} 

しかし、私はまだAWS-RunPowershellScriptの文書を含むインスタンス上で任意のコマンドを実行することができます私はSSMへのアクセスを制限しようとした - それは文書だけの短いリストを実行することができます。 sendCommand:

このリンクは、ユーザーがSSMに関して制限することができる方法を示し http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/delegate-commands.html

答えて

1

私はドキュメントに基づいてSendCommandを制限する方法を発見していません。

ユーザー::ARN:AWS:IAM :: 123456789012:SSM:SendCommandをリソースにユーザ/ユーザ名が実行を許可されていないARN:AWSユーザーがアクセス権を持っていない場合は、次のようなエラーが出ます:ec2:us-east-1:123456789012:instance/i-abcdef

これは、インスタンスIDに基づいてSendCommandのリソースを制限できることを示しています。条件の1つがドキュメントARNだった場合はいいですが、これまで何もできませんでした(ポリシージェネレータウィザードの条件ではありません)。

アップデート:私はうまくいけば、私は応答を得るでしょう、AWSフォーラムで、この質問を投稿:https://forums.aws.amazon.com/thread.jspa?threadID=249039

アップデート2:私は、応答を持って、解決策は、この両方を指定するためにリソースを使用する必要がありますを達成することですコマンドの実行を許可するインスタンス、およびユーザーが実行を許可されるドキュメント。たとえば、これで私は結局何をしたのですか:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Effect": "Allow", 
      "Action": [ 
       "ssm:SendCommand" 
      ], 
      "Resource": [ 
       "arn:aws:ec2:*:123456789012:instance/*", 
       "arn:aws:ssm:*:123456789012:document/RestartServices" 
      ] 
     } 
    ] 
} 
関連する問題