Ich verwende den Befehl "aws ec2 run-instance" (über die AWS Command Line Interface (CLI) ), um eine Amazon EC2- Instanz zu starten . Ich möchte eine IAM-Rolle für die zu startende EC2-Instanz festlegen . Die IAM-Rolle ist konfiguriert und kann beim Starten einer Instanz über die AWS-Webbenutzeroberfläche erfolgreich verwendet werden. Aber wenn ich dies mit diesem Befehl und der Option "--iam-instance-profile" versuche, ist dies fehlgeschlagen. Wenn Sie "aws ec2 run-instance help" ausführen, werden die Unterfelder Arn = und Name = für den Wert angezeigt. Wenn ich versuche, den Arn mit "aws iam list-instance-profiles" nachzuschlagen, wird folgende Fehlermeldung ausgegeben:
Ein Client-Fehler (AccessDenied) ist aufgetreten: Benutzer: arn: aws: sts :: xxxxxxxxxx: angenommene Rolle / Shell / i-15c2766d ist nicht berechtigt, Folgendes auszuführen: iam: ListInstanceProfiles für Ressource: arn: aws: iam :: xxxxxxxxxxxx: Instanz -Profil/
(wobei xxxxxxxxxxxx meine 12-stellige AWS-Kontonummer ist)
Ich habe die Arn-Zeichenfolge über die Web-Benutzeroberfläche nachgeschlagen und diese über "--iam-instance-profile Arn = arn: aws: iam :: xxxxxxxxxxxx: instance-profile / shell" im Befehl run-instance verwendet :
Ein Clientfehler (UnauthorizedOperation) ist aufgetreten: Sie sind nicht berechtigt, diesen Vorgang auszuführen.
Wenn ich die Option "--iam-instance-profile" vollständig auslasse, wird die Instanz gestartet, verfügt jedoch nicht über die von mir benötigte IAM-Rolleneinstellung. Die Berechtigung scheint also etwas mit der Verwendung von "--iam-instance-profile" oder dem Zugriff auf IAM-Daten zu tun zu haben. Ich habe es im Falle von AWS-Pannen mehrmals wiederholt (sie treten manchmal auf) und es war kein Erfolg zu verzeichnen.
Ich vermutete, dass es möglicherweise eine Einschränkung gibt, dass eine Instanz mit einer IAM-Rolle keine Instanz mit einer leistungsstärkeren IAM-Rolle starten darf. In diesem Fall hat die Instanz, in der ich den Befehl ausführe, dieselbe IAM-Rolle, die ich zu verwenden versuche. namens "shell" (obwohl ich auch versucht habe, eine andere zu verwenden, kein Glück).
Ist das Festlegen einer IAM-Rolle nicht einmal für eine Instanz zulässig (über ihre IAM-Rollenanmeldeinformationen)?
Ist eine höhere IAM-Rollenberechtigung erforderlich, um IAM-Rollen zu verwenden, als zum Starten einer einfachen Instanz erforderlich ist?
Ist "--iam-instance-profile" der geeignete Weg, um eine IAM-Rolle anzugeben?
Muss ich eine Teilmenge der Arn-Zeichenfolge verwenden oder auf andere Weise formatieren?
Ist es möglich, eine IAM-Rolle einzurichten, die beliebige IAM-Rollenzugriffe ausführen kann (möglicherweise ein "Super Root IAM" ... aus dem dieser Name besteht)?
Zu Ihrer Information, alles beinhaltet Linux, das auf den Instanzen ausgeführt wird. Außerdem starte ich all dies von einer Instanz aus, da ich diese Tools nicht auf meinem Desktop installieren konnte. Das und ich möchten meine IAM-Benutzeranmeldeinformationen nicht auf einem AWS-Speicher ablegen, wie von AWS hier empfohlen .
nachdem geantwortet:
Ich habe die Berechtigung zum Starten der Instanz von "PowerUserAccess" (im Gegensatz zu "AdministratorAccess") nicht erwähnt, da ich nicht wusste, dass zum Zeitpunkt der Frage ein zusätzlicher Zugriff erforderlich war. Ich nahm an, dass die IAM-Rolle "Informationen" war, die mit dem Start verbunden waren. Aber es ist wirklich mehr als das. Es ist eine Erteilung der Erlaubnis.