2017-10-05 44 views
0

參照這個Doc 我創建了允許訪問只有一個EC2 Instance.And我已創建了與策略的策略的IAM用戶IAM策略。但是,當我將該用戶登錄到我的AWS賬戶時,我收到錯誤「發生錯誤提取實例數據:您無權執行此操作。」無法添加AWS資源級權限的特定EC2實例

政策文件:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Action": [ 
       "ec2:*" 
      ], 
      "Condition": { 
       "StringEquals": { 
        "ec2:ResourceTag/test": "test" 
       } 
      }, 
      "Resource": [ 
       "arn:aws:ec2:us-east-1:AccountNumber:instance/* 
      ], 
      "Effect": "Allow" 
     } 
    ] 
} 
+0

不夠。您必須添加describe實例,列表實例 –

+0

但我在策略中給出了完整的EC2操作。是否有必要明確添加? –

回答

1

您必須添加EC2描述來形容所有的EC2資源,然後在其他語句基地通過標籤篩選資源。
但是,通過此策略,其他IAM帳戶仍可在沒有任何權限的情況下查看其他EC2實例。

這是您需要的。

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Sid": "Stmt1507182214000", 
     "Effect": "Allow", 
     "Action": [ 
     "ec2:*" 
     ], 
     "Condition": { 
     "StringEquals": { 
      "ec2:ResourceTag/TAG_NAME": "TAG_VALUE" 
     } 
     }, 
     "Resource": [ 
     "arn:aws:ec2:AWS_REGION:AWS_ACCOUNT:instance/*" 
     ] 
    }, 
    { 
     "Effect": "Allow", 
     "Action": [ 
     "ec2:DescribeInstances", 
     "ec2:DescribeTags" 
     ], 
     "Resource": "*" 
    }, 
    { 
     "Effect": "Deny", 
     "Action": [ 
     "ec2:CreateTags", 
     "ec2:DeleteTags" 
     ], 
     "Resource": "*" 
    } 
    ] 
} 
+0

感謝@BTaun它的工作,但這將允許用戶查看AWS賬戶中運行的所有實例。我們是否可以限制用戶查看標有「TAG_VALUE」的實例? –

+0

林不知道,但我試圖對它 –

+0

好吧,我明白了。我想我們不能限制查看其他ec2實例,因爲當IAM賬戶轉到EC2控制檯時,他們需要'EC2描述:*'來描述所有的EC2實例,然後基於'restrict by tag:value'來限制權限。最好的方法是爲'deny remove/create tag'添加更多的語句。我編輯了我的答案 –