Direkt zum Inhalt

Wie verwende ich IAM, um auf Ressourcen in einem anderen AWS-Konto zuzugreifen?

Lesedauer: 3 Minute
0

Ich möchte den kontoübergreifenden Zugriff auf eine AWS Identity and Access Management (IAM)-Rolle in einem anderen AWS-Konto einrichten.

Kurzbeschreibung

Wichtig: AWS empfiehlt, IAM-Rollen mit temporären Anmeldeinformationen für den kontoübergreifenden Zugriff anstelle von IAM-Benutzern mit langfristigen Anmeldeinformationen (Zugriffsschlüsseln) zu verwenden. IAM-Rollen bieten temporäre Sicherheitsanmeldeinformationen, die automatisch rotieren, wodurch die Sicherheitsrisiken, die mit langfristigen Anmeldeinformationen verbunden sind, reduziert werden.

Richte eine Vertrauensbeziehung mit einer IAM-Rolle ein, um auf Ressourcen in einem anderen AWS-Konto zuzugreifen. Bei diesem Ansatz wird der AssumeRole-API-Vorgang verwendet, um temporäre Sicherheitsanmeldeinformationen abzurufen.

Du möchtest beispielsweise vom Quellkonto aus auf das Zielkonto zugreifen. Konfiguriere eine IAM-Rolle im Quellkonto, um eine IAM-Rolle im Zielkonto zu übernehmen. Weitere Informationen zum kontoübergreifenden Zugriff mithilfe von IAM-Rollen findest du unter Zugriff für IAM-Benutzer in einem anderen AWS-Konto, das dir gehört.

Hinweis: Du kannst auch die Verkettung von Rollen verwenden, um eine Rolle von einer Quell-IAM-Rolle zu einer Ziel-IAM-Rolle zu übernehmen. Die Verkettung von Rollen funktioniert nur für programmatischen Zugriff wie die AWS Command Line Interface (AWS CLI) oder die API. Die Verkettung von Rollen kann nicht mit der AWS-Managementkonsole verwendet werden.

Lösung

Hinweis: Wenn du beim Ausführen von AWS CLI-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.

Gehe wie folgt vor, um mit IAM auf Ressourcen in einem anderen AWS-Konto zuzugreifen.

Quellkonto

Gehe wie folgt vor:

  1. Verwende den JSON-Editor, um eine IAM-Richtlinie zu erstellen, die die Berechtigung erteilt, die Zielrolle zu übernehmen:
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "sts:AssumeRole"
          ],
          "Resource": [
            "arn:aws:iam::DESTINATION-ACCOUNT-ID:role/DESTINATION-ROLENAME"
          ]
        }
      ]
    }
    Hinweis: Ersetze DESTINATION-ACCOUNT-ID und DESTINATION-ROLENAME durch deine eigenen Werte.
  2. Füge die IAM-Richtlinie an die SourceRole an.

Zielkonto

Gehe wie folgt vor:

  1. Erstelle eine IAM-Rolle auf der Konsole.
  2. Erstelle eine benutzerdefinierte Vertrauensrichtlinie, die es der Quellkontorolle ermöglicht, diese Rolle zu übernehmen:
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::SOURCE-ACCOUNT-ID:role/SOURCE-ROLENAME"
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }
    Hinweis: Ersetze SOURCE-ACCOUNT-ID und SOURCE-ROLENAME durch deine eigenen Werte.
  3. Füge dieser Rolle Berechtigungsrichtlinien hinzu, die den Zugriff auf die spezifischen Ressourcen gewähren, die im Zielkonto benötigt werden.

Hinweis: Wenn du keinen Zugriff auf das Erstellen und Bearbeiten von IAM-Rollen hast, wende dich an den Kontoinhaber, um den Vorgang abzuschließen. Es hat sich bewährt, den Zugriff auf das Konto und die Ressourcen so einzuschränken, dass nur die Entitäten, denen du vertraust, darauf zugreifen können.

Du kannst diese Richtlinie so ändern, dass bei Bedarf mehrere Quellentitäten mehreren Zielrollen zugewiesen werden können. Du kannst beispielsweise den Wert Prinzipal der Vertrauensrichtlinie des Zielkontos in „AWS“: „SOURCE-ACCOUNT-ID“ ändern. Dadurch können alle Entitäten im Quellkonto mit den Berechtigungen „Rolle übernehmen“ die Rolle des Zielkontos übernehmen. Weitere Informationen findest du unter So gibst du einen Prinzipal an und Richtlinie erstellen oder bearbeiten.

Den Zugriff testen

Um den Zugriff zu testen, befolge die Anleitung unter Von einem/einer Benutzer:in zu einer IAM-Rolle wechseln (Konsole) oder Zu einer IAM-Rolle wechseln (AWS CLI). Weitere Informationen findest du im IAM-Tutorial: Delegieren des Zugriffs für alle AWS-Konten mithilfe von IAM-Rollen.

Ähnliche Informationen

Kontoübergreifender Ressourcenzugriff in IAM

Wie verwende ich die AWS CLI, um eine IAM-Rolle zu übernehmen?

Wie behebe ich den Fehler „Has prohibited field Principal“, der angezeigt wird, wenn ich eine IAM-Richtlinie erstelle oder aktualisiere?

Wie kann ich kontoübergreifenden Zugriff auf Objekte gewähren, die sich in Amazon-S3-Buckets befinden?

Wie behebe ich den Fehler „AccessDenied“ oder „Invalid information“, wenn ich versuche, eine kontoübergreifende IAM-Rolle zu übernehmen?