2014-06-25 19 views
8

Ben IAM rolleri kullanarak yanıtlayıcı' aracılığıyla EC2 örneğini oluşturmaya çalışıyorum ama yeni bir örneğini başlatılırken ben hataAWS EC2 örneği UnauthorizedOperation instance_profile_name yanıtlayıcı 'IAM Rolleri aracılığıyla oluşturun: Hata

failed: [localhost] => (item= IAMRole-1) => {"failed": true, "item": " IAMRole-1"} 
msg: Instance creation failed => UnauthorizedOperation: You are not authorized to perform 
this operation. Encoded authorization failure message: Ckcjt2GD81D5dlF6XakTSDypnwrgeQb0k 
ouRMKh3Ol1jue553EZ7OXPt6fk1Q1-4HM-tLNPCkiX7ZgJWXYGSjHg2xP1A9LR7KBiXYeCtFKEQIC 
W9cot3KAKPVcNXkHLrhREMfiT5KYEtrsA2A-xFCdvqwM2hNTNf7Y6VGe0Z48EDIyO5p5DxdNFsaSChUcb 
iRUhSyRXIGWr_ZKkGM9GoyoVWCBk3Ni2Td7zkZ1EfAIeRJobiOnYXKE6Q 

iam rolü oysa olsun tam EC2 erişimi vardır izleyen

Aşağıdaki önerileri lütfen.

cevap

10

Buradaki sorun,'un kendisiyle ilgili değil, sizin (örneğin, kullandığınız AWS kimlik bilgileri), başlangıçta istenen bir EC2 örneğine bu rolü 'iletmek' için gerekli olan iam:PassRole izninin yokmuş gibi görünmektedir. Ayrıntılar için Granting Applications that Run on Amazon EC2 Instances Access to AWS Resources içinde Amazon EC2 ile roller kullanma için bölüm İzinler Gerekli bkz:

bir rolle bir örneğini başlatmak için, geliştirici IAM rolleri geçmek Amazon EC2 örneklerini başlatmak için izin ve iznine sahip olmalıdır.

Aşağıdaki örnek ilke, kullanıcıların bir rolle başlatılması için AWS Management Konsolu'nu kullanmasına izin verir. Bu ilke, bir kullanıcıya 'un herhangi bir rolü iletmesine ve bir yıldız işaretini (*) belirterek tüm Amazon EC2 eylemlerini gerçekleştirmesine olanak tanır. ListInstanceProfiles eylemi, kullanıcıların tüm 'u AWS hesabında bulunan rolleri görüntülemesine olanak tanır. Amazon EC2 konsolu

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

PassRole izni ile bu indirection gerektiren nedenine kullanarak herhangi bir rolle bir örneğini başlatmak için bir kullanıcı izni verir

Örnek Politikası yeteneğidir , kullanıcı, kullanıcı:

başlatıldığında bir Amazon EC2 örneğine hangi rolün geçebileceğini kısıtlar

Bu, kullanıcının numaralı telefonun kullanıcı tarafından verilmiş olduğundan daha fazla izne sahip olmasını engellemeye yardımcı olur - yani, 'dan yüksek ayrıcalıklar elde edilebilir. Örneğin, Alice'in kullanıcısı tarafından yalnızca Amazon EC2 örneklerini ve Amazon S3 kovalarıyla çalışmasına izin verdiğine inandığını, ancak Amazon EC2 örneğine geçirdiği rolün IAM ve DynamoDB ile çalışma iznine sahip olduğunu hayal edin. Bu durumda, Alice, örneği başlatabilir, oturum açabilir, geçici güvenlik kimlik bilgilerini alabilir ve ardından için yetkilendirilmemiş IAM veya DynamoDB eylemlerini gerçekleştirebilir. Ayrıca bakış bir AWS noktadan konuyu açıklıyor Mike Papa'nın güzel makale hakkında Granting Permission to Launch EC2 Instances with IAM Roles (PassRole Permission), bağlanan bir daha ayrıntılı bir açıklama için, How to specify an IAM role for an Amazon EC2 instance being launched via the AWS CLI? cevabım okumak isteyebilirsiniz

.

İlgili konular