Wie kann ich Probleme beim Wechsel der IAM-Rollen mithilfe der AWS-Managementkonsole lösen?

Lesedauer: 4 Minute
0

Ich habe versucht, die Rollen von AWS Identitäts- und Zugriffsmanagement (Identity and Access Management) (IAM) mithilfe der AWS-Managementkonsole zu wechseln, und habe eine Fehlermeldung ähnlich der folgenden erhalten: „Ungültige Informationen in einem oder mehreren Feldern. Überprüfen Sie Ihre Informationen oder wenden Sie sich an Ihren Administrator“.

Kurzbeschreibung

Dieser Fehler kann aus den folgenden Gründen auftreten:

  • Falsche AssumeRole-Aktionsberechtigungen
  • Falsche IAM-Vertrauensrichtlinie
  • Ausdrückliche Ablehnung von Richtlinien
  • Falsche Konto-ID oder falscher Rollenname
  • Für den Rollenwechsel ist eine externe ID erforderlich
  • Falsche Bedingungen der Vertrauensrichtlinie

Behebung

Folgen Sie diesen Anweisungen, um die IAM-Richtlinienkonfiguration zu überprüfen, um die IAM-Rollen für Ihr Szenario zu wechseln.

Fehlende oder falsche AssumeRole-Aktionsberechtigungen

Um zu einer IAM-Rolle zu wechseln, muss die IAM-Entität über die AssumeRole-Aktionsberechtigung verfügen. Die IAM-Entität muss über eine Richtlinie mit der AssumeRole-Aktionsberechtigung verfügen, die der folgenden ähnelt:

{
  "Version": "2012-10-17",
  "Statement": {
    "Effect": "Allow",
    "Action": "sts:AssumeRole",
    "Resource": "arn:aws:iam::account_id_number:role/role-name-you-want-to-assume"  
}

Stellen Sie sicher, dass die Ressource mit dem Amazon-Ressourcennamen (ARN) der IAM-Rolle übereinstimmt, zu der Sie wechseln möchten. Weitere Informationen finden Sie unter Einem Benutzer Berechtigungen zum Rollenwechsel erteilen.

Die IAM-Rollenvertrauensrichtlinie vertraut der Konto-ID des IAM-Benutzers nicht

Die IAM-Rollenvertrauensrichtlinie definiert die Prinzipale, die die Rolle übernehmen können. Stellen Sie sicher, dass in der Vertrauensrichtlinie die Konto-ID des IAM-Benutzers als vertrauenswürdige Prinzipalentität aufgeführt ist. Beispielsweise möchte ein IAM-Benutzer namens Bob mit der Konto-ID 111222333444 zu einer IAM-Rolle namens Alice für die Konto-ID 444555666777 wechseln. Die Konto-ID 111222333444 ist das vertrauenswürdige Konto und die Konto-ID 444555666777 ist das vertrauenswürdige Konto. Die IAM-Rolle Alice hat eine Vertrauensrichtlinie, die Bob vertraut, ähnlich der folgenden:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Principal": {
        "AWS": "<111222333444>"
      },
      "Condition": {}
    }
  ]
}

**Hinweis:**Es ist eine bewährte Methode, dem Prinzip der geringsten Rechte zu folgen und den vollständigen ARN nur für die Rollen anzugeben, die der Benutzer benötigt.

Weitere Informationen finden Sie unter Ändern einer Rollenvertrauensrichtlinie (Konsole).

Explizite Ablehnung durch Service Control Policies (SCPs) oder eine IAM-Richtlinie

Wenn Ihr AWS-Konto Teil einer AWS-Organisation ist, verfügt Ihr Verwaltungskonto möglicherweise über SCPs. Stellen Sie sicher, dass die SCPs die AssumeRole-Aktion nicht ausdrücklich ablehnen. Suchen Sie nach SCPs, die API-Aktionen basierend auf AWS-Regionen ablehnen. AWS Security Token Service (AWS STS) ist ein globaler Service, der in die globale Service-Ausschlussliste aufgenommen werden muss. Stellen Sie sicher, dass die IAM-Richtlinien keine ausdrückliche Ablehnung enthalten, da „Verweigern“ -Anweisungen Vorrang vor „Zulassen“ -Anweisungen haben.

Weitere Informationen finden Sie unter Verweigern Zugriff auf AWS basierend auf der angeforderten AWS-Region.

Überprüfen Sie die AWS-Konto-ID und den IAM-Rollennamen

Stellen Sie sicher, dass die Konto-ID und der IAM-Rollenname auf der Seite wechselter Rolle korrekt sind. Die Konto-ID ist eine 12-stellige ID, und der IAM-Rollenname ist der Name der Rolle, die Sie annehmen möchten.

Weitere Informationen finden Sie unter Wissenswertes zum Rollenwechsel in der Konsole.

Für den Wechsel zur IAM-Rolle ist eine externe ID erforderlich

Administratoren können eine externe ID verwenden, um Dritten Zugriff auf AWS-Ressourcen zu gewähren. Sie können IAM-Rollen in der AWS-Managementkonsole nicht auf eine Rolle umstellen, die einen ExternalID-Bedingungsschlüsselwert erfordert. Sie können nur zu IAM-Rollen wechseln, indem Sie die AssumeRole-Aktion aufrufen, die den ExternalID-Schlüssel unterstützt.

Weitere Informationen finden Sie unter Wie verwenden Sie eine externe ID, wenn Sie Dritten Zugriff auf Ihre AWS-Ressourcen gewähren.

Gültige Bedingungen für die IAM-Rollenvertrauensrichtlinie

Stellen Sie sicher, dass Sie alle Bedingungen erfüllen, die in der Vertrauensrichtlinie der IAM-Rolle angegeben sind. Eine Bedingung kann ein Ablaufdatum oder eine externe ID angeben oder festlegen, dass Anfragen nur von bestimmten IP-Adressen kommen dürfen. In der folgenden Beispielrichtlinie gilt: Wenn das aktuelle Datum zu einem beliebigen Zeitpunkt nach dem angegebenen Datum liegt, ist die Bedingung falsch. Die Richtlinie kann keine Berechtigungen zur Übernahme der IAM-Rolle gewähren.

"Effect": "Allow",
    "Action": "sts:AssumeRole",
    "Resource": "arn:aws:iam::account_id_number:role/role-name-you-want-to-assume"
    "Condition": {
        "DateLessThan" : {
            "aws:CurrentTime" : "2016-05-01T12:00:00Z"
        }
    }

Verwandte Informationen

Wie stelle ich IAM-Benutzern einen Link zur Verfügung, über den sie eine IAM-Rolle übernehmen können?

Wie greife ich mit AWS IAM auf Ressourcen in einem anderen AWS-Konto zu?

Was ist der Unterschied zwischen einer Servicekontrollrichtlinie von AWS Organizations und einer IAM-Richtlinie?

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr