AWS IAM-Rollenberechtigungsproblem

Sep 16 2020

Wir haben gerade einen neuen Things Enterprise-Server erstellt, der bei AWS auf einer EC2-Instanz gehostet wird, und eine Anwendung zur Verwendung von AWS IOT erstellt. Wir erhalten den folgenden Fehler

"Nachricht": "Benutzer: arn: aws: sts :: 446971925991: angenommene Rolle / Things-Enterprise-Stack-Srv-StackIAMRole-DBHBSMSY05AQ / i-095895d605fab3fa4 ist nicht berechtigt, Folgendes auszuführen: sts: AssumeRole für Ressource: arn: aws : iam :: 446971925991: Rolle / Bosh-Parking-IOT-Stack-TheThingsStackRoleCD9FBAD2-C44RRJJ53M93 ”

mir wurde gesagt

Welche Ausführungsrolle hat die TTES-Instanz, die versucht, die Rolle zu übernehmen? Die Rolle TTES muss diese Rolle übernehmen können. Das gibt die richtigen Berechtigungen.

Aber ich bin mir nicht sicher, was das bedeutet. Ich gehe davon aus, dass ich einige Berechtigungen innerhalb einer IAM-Rolle hinzufügen / ändern muss. Kann mich jemand in die richtige Richtung weisen?

Antworten

1 Marcin Sep 16 2020 at 15:22

Aus der Fehlermeldung scheint es , dass Ihre IAM Rolle für Amazon EC2 hat keine Berechtigungen eine Rolle zu übernehmen Bosh-Parking-IOT-Stack-TheThingsStackRoleCD9FBAD2-C44RRJJ53M93 .

Um solche Berechtigungen manuell hinzuzufügen, haben Sie folgende Möglichkeiten:

  1. Gehe zu IAM Console->Roles.
  2. Im RolesFenster können Sie mithilfe der SearchLeiste die Things-Enterprise-Stack-Srv-StackIAMRole-DBHBSMSY05AQRolle suchen .
  3. Sobald Sie die Rolle gefunden haben, klicken Sie auf Inline-Richtlinie hinzufügen .
  4. Sobald das Create policyFenster angezeigt wird, können Sie JSON tabdie folgende JSON-Richtlinie aufrufen und hinzufügen:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowAssumeRole",
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "arn:aws:iam::446971925991:role/Bosh-Parking-IOT-Stack-TheThingsStackRoleCD9FBAD2-C44RRJJ53M93"
        }
    ]
}
  1. Klicken Sie dann auf Review Policy, benennen Sie die Richtlinie (z. B. PolicyToAssumeRole) undCreate policy

Basierend auf Ihren Richtliniennamen (z. B. Stack-Srv-StackIAMRole) ist es jedoch möglich, dass sie von CloudFormation erstellt wurden . Wenn dies der Fall ist, ist das manuelle Ändern der Rollen wie oben beschrieben eine schlechte Praxis und führt zu Drift . Alle an CloudFormation erstellten Änderungen an Ressourcen sollten mit CloudFormation vorgenommen werden . Leider enthält Ihre Frage keine Details zu den verwendeten CloudFormation-Vorlagen, daher ist es schwierig, dies weiter zu kommentieren.