Ich versuche, eine EC2-Instanz über ansible unter Verwendung von IAM-Rollen zu erstellen, aber beim Starten einer neuen Instanz erhalte ich einen Fehler
%Vor%wobei iam role vollen ec2-Zugang hat, mit folgender Politik
%Vor%Irgendwelche Vorschläge bitte.
Das Problem hier ist nicht mit der IAM-Rolle für Amazon EC2 selbst, eher, dass Sie (dh die AWS-Anmeldeinformationen, die Sie selbst verwenden) nicht die Berechtigung iam:PassRole
haben, die erforderlich ist, um diese Rolle beim Start an eine angeforderte EC2-Instanz zu übergeben, siehe Abschnitt Berechtigungen, die für die Verwendung von Rollen mit Amazon EC2 erforderlich sind
Um eine Instanz mit einer Rolle zu starten, muss der Entwickler berechtigt sein um Amazon EC2-Instanzen und Berechtigungen zum Übergeben von IAM-Rollen zu starten.
Die folgende Beispielrichtlinie ermöglicht Benutzern die Verwendung der AWS-Verwaltung Konsole, um eine Instanz mit einer Rolle zu starten. Die Richtlinie ermöglicht es einem Benutzer Übergeben Sie eine beliebige Rolle und führen Sie alle Amazon EC2-Aktionen aus, indem Sie einen angeben Sternchen (*). Mit der Aktion ListInstanceProfiles können Benutzer alle anzeigen die Rollen, die auf dem AWS-Konto verfügbar sind.
Beispielrichtlinie, die einem Benutzer die Berechtigung zum Starten einer Instanz erteilt mit jeder Rolle mit der Amazon EC2-Konsole
%Vor%
Der Grund für diese Umleitung über die Berechtigung PassRole
ist die Möglichkeit, einzuschränken, welche Rolle ein Benutzer an eine Amazon EC2-Instanz übergeben kann, wenn der Benutzer die Instanz startet :
Dies verhindert, dass der Benutzer Anwendungen ausführen kann haben mehr Berechtigungen als der Benutzer gewährt wurde - also von in der Lage sein, erhöhte Privilegien zu erhalten. Stellen Sie sich das zum Beispiel vor Benutzer Alice verfügt nur über Berechtigungen zum Starten von Amazon EC2-Instanzen und zu Arbeiten mit Amazon S3-Buckets, aber die Rolle, die sie an ein Amazon EC2 übergibt Instanz verfügt über Berechtigungen zum Arbeiten mit IAM und DynamoDB. In diesem Fall, Alice kann die Instanz möglicherweise starten, sich anmelden, vorübergehend werden Sicherheitsanmeldeinformationen und führen Sie dann IAM- oder DynamoDB-Aktionen durch Sie ist nicht autorisiert für.
Vielleicht möchten Sie meine Antwort zu Wie kann ich eine IAM-Rolle für eine Amazon EC2-Instanz angeben, die über die AWS CLI gestartet wird? für eine ausführlichere Erklärung, die auch auf Mike Popes schönen Artikel über Erteilen der Berechtigung zum Starten von EC2-Instanzen mit IAM-Rollen (PassRole-Berechtigung) , die das Thema aus AWS-Sicht erläutert.
Tags und Links amazon-ec2 ansible-playbook amazon-iam