2016-04-12 25 views
1

Kullanıcının spot istekleri oluşturmasına izin verecek, ancak yalnızca belirli bir alt ağ ve güvenlik grubuna sahip olan bir ilke oluşturmam gerekiyor. Bu benim yaptığım budur:AWS EC2: ec2 için IAM politikası: RequestSpotInstances

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Effect": "Allow", 
      "Action": "ec2:RequestSpotInstances", 
      "Resource": [ 
       "arn:aws:ec2:us-east-1:123456789012:image/ami-*", 
       "arn:aws:ec2:us-east-1:123456789012:subnet/subnet-af016c92", 
       "arn:aws:ec2:us-east-1:123456789012:subnet/subnet-12a34d3c", 
       "arn:aws:ec2:us-east-1:123456789012:subnet/subnet-f0e844cd", 
       "arn:aws:ec2:us-east-1:123456789012:subnet/subnet-026ae728", 
       "arn:aws:ec2:us-east-1:123456789012:key-pair/*", 
       "arn:aws:ec2:us-east-1:123456789012:security-group/sg-b5dd94cd", 
       "arn:aws:ec2:us-east-1:123456789012:security-group/sg-3bda8c42" 
      ] 
     } 
    ] 
} 

Ama benim yerim isteği oluşturma hala başarısız:

botocore.exceptions.ClientError: An error occurred (UnauthorizedOperation) when calling the RequestSpotInstances operation: You are not authorized to perform this operation. 

RequestSpotInstances eylem için izinlerin asgari alt kümesi nedir?

Bunu hata ayıklama olasılığı var mı?

cevap

0

EC2 belgelerine göre (here), ec2: RequestSpotInstances, "Desteklenmeyen Kaynak Düzeyinde İzinler" kategorisine giren bir eylemdir. Ne yazık ki, böyle, bütün kaynaklara kaynak etiketi ayarlamak zorunda kalacak:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Effect": "Allow", 
      "Action": "ec2:RequestSpotInstances", 
      "Resource": [ "*" ] 
     } 
    ] 
} 

Bildiğim kadarıyla ayıklama giderse, AWS Konsolundan ulaşılabilir IAM politika simülatörü, unutma => IAM => Kullanıcı sayfası.

1

Bunun eski bir sorun olduğunu biliyorum, ancak çevremdeki aynı sorunu daha önce de gördüm. Benim için çözüm, "PassRole"

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Sid": "Stmt1479335761363", 
     "Action": [ 
     "ec2:DescribeInstances", 
     "ec2:RequestSpotInstances", 
     "ec2:RunInstances", 
     "iam:PassRole" 
     ], 
     "Effect": "Allow", 
     "Resource": "*" 
    } 
} 
için IAM iznini ekliyordu