Ich habe versucht, eine kontoübergreifende Rolle bei AWS Identity and Access Management (IAM) zu übernehmen. Ich habe jedoch eine Fehlermeldung erhalten, die der folgenden ähnelt: „Beim Aufrufen der AssumeRole-Operation ist ein Fehler aufgetreten (AccessDenied):“ -oder- „Ungültige Informationen in einem oder mehreren Feldern. Überprüfen Sie Ihre Informationen oder wenden Sie sich an Ihren Administrator.“
Kurzbeschreibung
Um die IAM-Rolle in einem anderen AWS-Konto zu übernehmen, bearbeiten Sie zunächst die Berechtigungen in einem Konto (dem Konto, das die IAM-Rolle übernommen hat). Bearbeiten Sie dann die Vertrauensrichtlinie in dem anderen Konto (dem Konto, das die Übernahme der IAM-Rolle ermöglicht).
Nehmen wir zum Beispiel an, Sie haben zwei Konten, eines mit dem Namen Konto\ _Bob und das andere mit dem Namen Konto\ _Alice. Sie haben auch einen IAM-Benutzer oder eine IAM-Rolle namens Bob in Account\ _Bob und eine IAM-Rolle namens Alice in Account\ _Alice. In diesem Szenario übernimmt Bob die IAM-Rolle mit dem Namen Alice.
Um den AssumeRole-API-Aufruf mit mehreren Konten oder cross-accounts verwenden zu können, müssen Sie über eine Vertrauensrichtlinie verfügen, um die Berechtigung zur Übernahme von Rollen zu gewähren, die den folgenden ähneln:
Hier ist ein Beispiel für die Berechtigungen, die für Bob erforderlich sind:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PermissionToAssumeAlice",
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::Account_Alice:role/Alice"
}
]
}
Und hier ist das Beispiel der Vertrauensrichtlinie für Alice:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::ACCOUNT_Bob:user/Bob"
},
"Action": "sts:AssumeRole"
}
]
}
Lösung
Beachten Sie die folgenden Punkte, um Fehler bei der Annahme einer kontenübergreifenden IAM-Rolle zu vermeiden:
Hinweis: Wenn Sie beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehler erhalten, stellen Sie sicher, dass Sie die neueste AWS-CLI-Version verwenden.
- Die übernehmende Rolle, Bob, muss über Berechtigungen für AssumeRole verfügen.
- Sie müssen als Bob im AWS-Konto angemeldet sein. Weitere Informationen finden Sie in Ihrer AWS-Konto-ID und dem zugehörigen Alias.
- Die Rolle, die übernommen wird, Alice, muss existieren. Stellen Sie sicher, dass sie nicht gelöscht wurde und dass der ARN korrekt konfiguriert ist.
- Wenn Sie die Rollenverkettung verwenden, stellen Sie sicher, dass Sie keine IAM-Anmeldeinformationen aus einer früheren Sitzung verwenden. Weitere Informationen finden Sie im Abschnitt Rollenverkettung unter Begriffe und Konzepte von Rollen.
- Wenn Account\ _Bob Teil einer AWS-Organisation ist, gibt es möglicherweise eine Service Control Policy (SCP), die den AssumeRole-Zugriff mit Account\ _Bob oder Account\ _Alice einschränkt. Weitere Informationen finden Sie unter Richtlinien zur Dienststeuerung (SCPs).
Ähnliche Informationen
Wie kann ich Daten erhalten, die mir bei der Behebung von IAM-Zugriffsverweigerungsfehlern oder unautorisierten Fehlern helfen?
Zu einer Rolle wechseln (Konsole)
Zu einer IAM-Rolle wechseln (AWS CLI)