Fehlerbehebung IAM und Amazon EC2 - AWS Identitäts- und Zugriffsverwaltung

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Fehlerbehebung IAM und Amazon EC2

Die folgenden Informationen können Ihnen bei der Behebung von IAM Problemen mit Amazon helfenEC2.

Wenn ich versuche, eine Instance zu starten, sehe ich die Rolle nicht in der IAMRollenliste der EC2 Amazon-Konsole

Überprüfen Sie, ob Folgendes der Fall ist:

  • Wenn Sie als IAM Benutzer angemeldet sind, vergewissern Sie sich, dass Sie zum Anrufen berechtigt sindListInstanceProfiles. Informationen zu den Berechtigungen, die für die Arbeit mit Rollen erforderlich sind, finden Sie unterErforderliche Berechtigungen für die Verwendung von Rollen mit Amazon EC2. Informationen zum Hinzufügen von Berechtigungen zu einem Benutzer finden Sie unter IAMRichtlinien verwalten.

    Wenn Sie Ihre eigenen Berechtigungen nicht ändern können, müssen Sie sich an einen Administrator wenden, mit dem IAM Sie zusammenarbeiten können, um Ihre Berechtigungen zu aktualisieren.

  • Wenn Sie eine Rolle mit dem IAM CLI oder erstellt habenAPI, überprüfen Sie Folgendes:

    • Sie haben ein Instanzprofil erstellt und die Rolle diesem Instanzprofil hinzugefügt.

    • Sie haben denselben Namen für die Rolle und das Instanzprofil verwendet. Wenn Sie Ihre Rolle und Ihr Instance-Profil unterschiedlich benennen, wird in der EC2 Amazon-Konsole nicht der richtige Rollenname angezeigt.

    In der IAMRollenliste in der EC2 Amazon-Konsole sind die Namen der Instance-Profile aufgeführt, nicht die Namen der Rollen. Sie müssen den Namen des Instance-Profils auswählen, das die gewünschte Rolle enthält. Weitere Informationen zu Instance-Profilen finden Sie unter Instanzprofile verwenden.

    Anmerkung

    Wenn Sie die IAM Konsole zum Erstellen von Rollen verwenden, müssen Sie nicht mit Instance-Profilen arbeiten. Für jede Rolle, die Sie in der IAM Konsole erstellen, wird ein Instanzprofil mit demselben Namen wie die Rolle erstellt, und die Rolle wird automatisch zu diesem Instanzprofil hinzugefügt. Ein Instanzprofil kann nur eine IAM Rolle enthalten, und dieses Limit kann nicht erhöht werden.

Die Anmeldeinformationen auf meiner Instance beziehen sich auf die falsche Rolle.

Die Rolle im Instance-Profil wurde möglicherweise kürzlich ausgetauscht. Wenn dies der Fall ist, muss Ihre Anwendung auf die nächste automatisch geplante Rotation von Anmeldeinformationen warten. Erst dann sind wieder Anmeldeinformationen für Ihre Rolle verfügbar.

Wenn Sie die Änderung erzwingen möchten, müssen Sie die Zuweisung des Instance-Profils aufheben und dann das Instance-Profil zuweisen, oder Sie beenden Ihre Instance und starten sie neu.

Wenn ich versuche, AddRoleToInstanceProfile aufzurufen, wird ein AccessDenied-Fehler angezeigt

Wenn Sie als IAM Benutzer Anfragen stellen, stellen Sie sicher, dass Sie über die folgenden Berechtigungen verfügen:

  • iam:AddRoleToInstanceProfilewobei die Ressource dem Instanzprofil entspricht ARN (z. B.arn:aws:iam::999999999999:instance-profile/ExampleInstanceProfile).

Weitere Informationen zu den Berechtigungen, die für die Arbeit mit Rollen erforderlich sind, finden Sie unterWas sind die ersten Schritte?. Informationen zum Hinzufügen von Berechtigungen zu einem Benutzer finden Sie unter IAMRichtlinien verwalten.

AmazonEC2: Wenn ich versuche, eine Instance mit einer Rolle zu starten, erhalte ich eine AccessDenied Fehlermeldung

Überprüfen Sie, ob Folgendes der Fall ist:

  • Starten Sie eine Instance ohne Instance-Profil. Dadurch wird sichergestellt, dass das Problem auf IAM Rollen für EC2 Amazon-Instances beschränkt ist.

  • Wenn Sie als IAM Benutzer Anfragen stellen, stellen Sie sicher, dass Sie über die folgenden Berechtigungen verfügen:

    • ec2:RunInstances mit einer Platzhalterressource ("*")

    • iam:PassRolemit der Ressource, die der Rolle entspricht ARN (zum Beispielarn:aws:iam::999999999999:role/ExampleRoleName)

  • Rufen Sie die IAM GetInstanceProfile Aktion auf, um sicherzustellen, dass Sie einen gültigen Instanzprofilnamen oder ein gültiges Instanzprofil verwendenARN. Weitere Informationen finden Sie unter IAMRollen mit EC2 Amazon-Instances verwenden.

  • Rufen Sie die IAM GetInstanceProfile Aktion auf, um sicherzustellen, dass das Instance-Profil eine Rolle spielt. Leere Instance-Profile schlagen mit einem AccessDenied-Fehler fehl. Weitere Informationen zum Erstellen einer Rolle finden Sie unter IAMErstellung von Rollen.

Weitere Informationen zu den Berechtigungen, die für die Arbeit mit Rollen erforderlich sind, finden Sie unterWas sind die ersten Schritte?. Informationen zum Hinzufügen von Berechtigungen zu einem Benutzer finden Sie unter IAMRichtlinien verwalten.

Ich kann nicht auf die temporären Sicherheitsanmeldedaten auf meiner EC2 Instance zugreifen

Um auf temporäre Sicherheitsanmeldedaten auf Ihrer EC2 Instance zuzugreifen, müssen Sie zunächst die IAM Konsole verwenden, um eine Rolle zu erstellen. Dann starten Sie eine EC2 Instance, die diese Rolle verwendet, und untersuchen die laufende Instance. Weitere Informationen finden Sie unter Erste Schritte in Verwenden Sie eine IAM Rolle, um Anwendungen, die auf EC2 Amazon-Instances ausgeführt werden, Berechtigungen zu erteilen.

Wenn Sie immer noch nicht auf Ihre temporären Sicherheitsanmeldedaten auf Ihrer EC2 Instance zugreifen können, überprüfen Sie Folgendes:

  • Können Sie auf einen anderen Teil des Instanz-Metadatendienstes (IMDS) zugreifen? Falls nicht, überprüfen Sie, ob Sie keine Firewallregeln haben, die den Zugriff auf Anfragen an die blockierenIMDS.

    [ec2-user@domU-12-31-39-0A-8D-DE ~]$ GET http://169.254.169.254/latest/meta-data/hostname; echo
  • Existiert der iam Teilbaum vonIMDS? Falls nicht, überprüfen Sie, ob Ihrer IAM Instanz ein Instanzprofil zugeordnet ist, indem Sie den EC2 DescribeInstances API Vorgang aufrufen oder den aws ec2 describe-instances CLI Befehl verwenden.

    [ec2-user@domU-12-31-39-0A-8D-DE ~]$ GET http://169.254.169.254/latest/meta-data/iam; echo
  • Überprüfen Sie das info Dokument in der IAM Unterstruktur auf einen Fehler. Wenn ein Fehler vorliegt, finden Sie weitere Informationen unter Was bedeuten die Fehler aus dem info Dokument im IAM Unterbaum?.

    [ec2-user@domU-12-31-39-0A-8D-DE ~]$ GET http://169.254.169.254/latest/meta-data/iam/info; echo

Was bedeuten die Fehler aus dem info Dokument im IAM Unterbaum?

Das iam/info-Dokument gibt Folgendes an: "Code":"InstanceProfileNotFound"

Ihr IAM Instance-Profil wurde gelöscht und Amazon EC2 kann keine Anmeldeinformationen mehr für Ihre Instance bereitstellen. Sie müssen Ihrer Amazon-Instance ein gültiges EC2 Instance-Profil anhängen.

Wenn ein Instance-Profil mit diesem Namen vorhanden ist, prüfen Sie, ob das Instance-Profil nicht gelöscht und ein zweites Profil mit demselben Namen erstellt wurde:

  1. Rufen Sie den IAM GetInstanceProfile Vorgang auf, um den zu erhaltenInstanceProfileId.

  2. Rufen Sie den EC2 DescribeInstances Amazon-Vorgang auf, um die IamInstanceProfileId für die Instanz abzurufen.

  3. Stellen Sie sicher, dass der IAM Vorgang InstanceProfileId von dem Vorgang IamInstanceProfileId von Amazon mit dem EC2 Vorgang von Amazon übereinstimmt.

Wenn sie unterschiedlich IDs sind, ist das Ihren Instances zugeordnete Instance-Profil nicht mehr gültig. Sie müssen ein gültiges Instance-Profil an Ihre Instance anfügen.

Das iam/info-Dokument gibt an, dass der Vorgang erfolgreich war, gibt aber Folgendes an: "Message":"Instance Profile does not contain a role..."

Die Rolle wurde durch die IAM RemoveRoleFromInstanceProfile Aktion aus dem Instanzprofil entfernt. Sie können die IAM AddRoleToInstanceProfile Aktion verwenden, um dem Instanzprofil eine Rolle zuzuweisen. Ihre Anwendung muss bis zur nächsten geplanten Aktualisierungen warten, um auf die Anmeldeinformationen für die Rolle zuzugreifen.

Wenn Sie die Änderung erzwingen möchten, müssen Sie die Zuweisung des Instance-Profils aufheben und dann das Instance-Profil zuweisen, oder Sie beenden Ihre Instance und starten sie neu.

Das iam/security-credentials/[role-name]-Dokument gibt Folgendes an: "Code":"AssumeRoleUnauthorizedAccess"

Amazon EC2 ist nicht berechtigt, die Rolle zu übernehmen. Die Berechtigung zum Übernehmen der Rolle wird über die an die Rolle angefügte Vertrauensrichtlinie gesteuert, wie im folgenden Beispiel veranschaulicht: Verwenden Sie die IAM UpdateAssumeRolePolicyAPI, um die Vertrauensrichtlinie zu aktualisieren.

{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Principal": {"Service": ["ec2.amazonaws.com"]},"Action": ["sts:AssumeRole"]}]}

Ihre Anwendung muss bis zur nächsten automatisch geplanten Aktualisierungen warten, um auf die Anmeldeinformationen für die Rolle zuzugreifen.

Wenn Sie die Änderung erzwingen möchten, müssen Sie die Zuweisung des Instance-Profils aufheben und dann das Instance-Profil zuweisen, oder Sie beenden Ihre Instance und starten sie neu.