Что я пытаюсь сделать (продолжая вопрос, заданный ранее: How can I filter AWS Instances by IAM role in powershell and get the private ip address of that instance?), получает частные IP-адреса экземпляров с определенной ролью IAM. И у меня есть код, который работает отлично:Политика AWS IAM для ограничения экземпляров с помощью соответствующей роли IAM
$filter = New-Object Amazon.EC2.Model.Filter -Property @{Name = "iam-instance-profile.arn"; Value = "arn:aws:iam::123456789012:instance-profile/TestRole"}
$ec2 = @(Get-EC2Instance -Filter $filter)
$ec2instances = $ec2.instances
$ipaddress = $ec2instances.privateipaddress
Однако теперь вместо того, чтобы делать фильтр в коде, я хотел бы создать IAM политики, которая ограничивает пользователя только быть в состоянии получить информация о экземплярах, которые имеют определенную роль IAM. Поэтому, если они пытаются использовать get-ec2instance
(например), он должен только возвращать информацию о соответствующих экземплярах, а не обо всех экземплярах в учетной записи.
Это мой IAM политики, что у меня есть:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:DescribeInstances"
],
"Effect": "Allow",
"Resource": [
"*"
],
"Condition": {
"ArnEquals": {
"ec2:InstanceProfile": "arn:aws:iam::12356789102:instance-profile/TestRole"
}
}
}
]
}
Однако, когда я бегу get-ec2instance
на Powershell, я сказал, что я не уполномочен выполнять это действие. Я думаю, это может быть потому, что get-ec2instance
применим только ко всем экземплярам, но я не уверен.
Я был бы признателен за помощь, спасибо!
Я взглянул на ссылку, которую вы здесь помещали, но только вопрос: 'get-ec2instance' не будет идеальной командой здесь, так как это потребует увидеть все экземпляры. есть ли другая аналогичная команда, которую я мог бы использовать, которая возвращала бы свойства экземпляров (с ролью iam) или даже только частные IP-адреса этих экземпляров (с ролью iam)? –
после того, как вы сказали об отметке ресурса и на этом веб-сайте: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-policy-structure.html#UsingWithEC2_Actions Я попытался поместить 'arn: aws: iam :: 12356789102: экземпляр-профиль/TestRole' в разделе «Ресурс» политики iam. он все еще не работает, но есть ли способ оттуда? –
, поэтому прочитайте кучу документов и поняли, что 'ec2: DescribeInstances' не могут быть отфильтрованы, потому что эта функция не поддерживается. я решил придерживаться моего исходного кода получения всех экземпляров и фильтрации через них! спасибо за предложения, хотя :) –