Zugreifen auf Ressourcen AWS-Konten in anderen Workflows - AWS Step Functions

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.

Zugreifen auf Ressourcen AWS-Konten in anderen Workflows

Step Functions bietet kontoübergreifenden Zugriff auf Ressourcen, die AWS-Konten in Ihren Workflows unterschiedlich konfiguriert sind. Mithilfe der Step Functions Functions-Dienstintegrationen können Sie jede kontoübergreifende AWS Ressource aufrufen, auch wenn diese AWS-Service keine ressourcenbasierten Richtlinien oder kontenübergreifenden Aufrufe unterstützt.

Nehmen wir zum Beispiel an, Sie besitzen zwei Geräte AWS-Konten, die als Entwicklung und Testen bezeichnet werden. AWS-Region Mithilfe des kontoübergreifenden Zugriffs kann Ihr Workflow im Entwicklungskonto auf Ressourcen wie Amazon S3 S3-Buckets, Amazon DynamoDB-Tabellen und Lambda-Funktionen zugreifen, die im Testkonto verfügbar sind.

Wichtig

IAM-Rollen und ressourcenbasierte Richtlinien delegieren den Zugriff auf Konten nur innerhalb einer einzelnen Partition. Nehmen wir zum Beispiel an, Sie haben ein Konto in US West (Nordkalifornien) in der Standardpartition aws. Sie haben auch ein Konto in China (Peking) in der aws-cn-Partition. Sie können keine ressourcenbasierte Amazon S3-Richtlinie in Ihrem Konto in China (Peking) verwenden, um Benutzern in Ihrem Standard-aws-Konto den Zugriff zu ermöglichen.

Weitere Informationen zum kontoübergreifenden Zugriff finden Sie unter Logik zur kontenübergreifenden Bewertung von Richtlinien im IAM-Benutzerhandbuch.

Obwohl jeder die vollständige Kontrolle über seine eigenen Ressourcen AWS-Konto behält, können Sie mit Step Functions Schritte in Ihren Workflows neu organisieren, austauschen, hinzufügen oder entfernen, ohne Code anpassen zu müssen. Sie können dies auch dann tun, wenn sich die Prozesse ändern oder Anwendungen weiterentwickeln.

Sie können auch Ausführungen von verschachtelten Zustandsmaschinen aufrufen, sodass sie für verschiedene Konten verfügbar sind. Auf diese Weise werden Ihre Arbeitsabläufe effizient getrennt und isoliert. Wenn Sie das .syncServiceintegrationsmuster in Ihren Workflows verwenden, die auf einen anderen Step Functions-Workflow in einem anderen Konto zugreifen, verwendet Step Functions Polling, das Ihr zugewiesenes Kontingent verbraucht. Weitere Informationen finden Sie unter Ausführen einer Aufgabe (.sync).

Anmerkung

Derzeit sind die regionsübergreifende AWS SDK-Integration und der regionsübergreifende AWS Ressourcenzugriff in Step Functions nicht verfügbar.

Die wichtigsten Konzepte in diesem Thema

Rolle bei der Ausführung

Eine IAM-Rolle, die Step Functions verwendet, um Code auszuführen und auf AWS Ressourcen zuzugreifen, z. B. die Invoke-Aktion der AWS Lambda Funktion.

Serviceintegration

Die API-Aktionen für die AWS SDK-Integration, die von einem Task Status in Ihren Workflows aus aufgerufen werden können.

Quellkonto

Ein AWS-Konto , dem die Zustandsmaschine gehört und deren Ausführung gestartet hat.

Zielkonto

Ein AWS-Konto , zu dem Sie kontoübergreifende Anrufe tätigen.

Zielrolle

Eine IAM-Rolle im Zielkonto, die die Zustandsmaschine für Aufrufe von Ressourcen übernimmt, die dem Zielkonto gehören.

Einen Job ausführen (.sync)

Ein Dienstintegrationsmuster, das zum Aufrufen von Diensten verwendet wird, z. B. AWS Batch Außerdem wartet eine Step Functions Functions-Zustandsmaschine darauf, dass ein Job abgeschlossen ist, bevor sie zum nächsten Status übergeht. Um anzugeben, dass Step Functions warten soll, fügen Sie das .sync Suffix in das Resource Feld in Ihrer Task Statusdefinition an.

Kontenübergreifende Ressourcen aufrufen

Gehen Sie wie folgt vor, um eine kontoübergreifende Ressource in Ihren Workflows aufzurufen:

  1. Erstellen Sie eine IAM-Rolle in dem Zielkonto, das die Ressource enthält. Diese Rolle gewährt dem Quellkonto, das die Zustandsmaschine enthält, Berechtigungen für den Zugriff auf die Ressourcen des Zielkontos.

  2. Geben Sie in der Definition des Task Status die IAM-Zielrolle an, die von der Zustandsmaschine übernommen werden soll, bevor die kontoübergreifende Ressource aufgerufen wird.

  3. Ändern Sie die Vertrauensrichtlinie in der Ziel-IAM-Rolle, sodass das Quellkonto diese Rolle vorübergehend übernehmen kann. Die Vertrauensrichtlinie muss den Amazon-Ressourcennamen (ARN) der Zustandsmaschine enthalten, die im Quellkonto definiert ist. Definieren Sie außerdem die entsprechenden Berechtigungen in der IAM-Zielrolle, um die AWS Ressource aufzurufen.

  4. Aktualisieren Sie die Ausführungsrolle des Quellkontos so, dass sie die erforderliche Berechtigung für die Übernahme der Ziel-IAM-Rolle enthält.

Ein Beispiel finden Sie unter Tutorial: Zugriff auf kontoübergreifende Ressourcen AWS.

Anmerkung

Sie können Ihren Zustandsmaschine so konfigurieren, dass er eine IAM-Rolle für den Zugriff auf Ressourcen von mehreren Personen annimmt. AWS-Konten Eine Zustandsmaschine kann jedoch jeweils nur eine IAM-Rolle übernehmen.

Konzept für den Zugriff auf kontenübergreifende Ressourcen