Wie rufe ich eine Lambda-Funktion über einen kontoübergreifenden Kinesis-Stream auf?

Lesedauer: 3 Minute
0

Ich möchte eine AWS Lambda-Funktion über einen Amazon Kinesis-Stream aufrufen, der sich in einem anderen AWS-Konto befindet.

Behebung

Amazon Kinesis Data Streams unterstützt ressourcenbasierte Richtlinien. Sie können damit Daten, die in einem Konto in einen Stream aufgenommen wurden, mit einer AWS Lambda-Funktion in einem anderen Konto verarbeiten.

Gehen Sie wie folgt vor, um die Lambda-Funktion zu erstellen, und konfigurieren Sie sie dann für den Zugriff auf Ihren Kinesis Data Stream.

Erstellen einer Lambda-Ausführungsrolle

  1. Greifen Sie auf die IAM-Konsole zu und wählen Sie die Registerkarte Rollen.
  2. Wählen Sie Rolle erstellen.
  3. Wählen Sie für AWS Service Trusted Entity Type aus. Wählen Sie für Service die Option Lambda aus.
  4. Wählen Sie in der Tabelle mit den Berechtigungsrichtlinien die verwaltete IAM-Richtlinie AWSLambdaKinesisExecutionRole aus.
  5. Geben Sie einen Namen für die Rolle ein und wählen Sie Rolle erstellen aus.

Hinweis: Die verwaltete IAM-Richtlinie AWSLambdaKinesisExecutionRole verfügt über die erforderlichen Kinesis Data Streams- und Lambda-Aufrufberechtigungen. Sie gewährt auch Zugriff auf alle potenziellen Kinesis Data Streams-Ressourcen, auf die Sie möglicherweise zugreifen können.

Erstellen der Lambda-Funktion

Erstellen Sie eine AWS Lambda-Funktion, die Datensätze in einem Amazon Kinesis-Datenstream verarbeiten kann.

Wählen Sie für die Ausführungsrolle die Rolle aus, die Sie erstellt haben.

Hinweis: Diese Richtlinie verfügt über die erforderlichen Kinesis Data Streams- und Lambda-Aufrufberechtigungen. Sie gewährt auch Zugriff auf alle potenziellen Kinesis Data Streams-Ressourcen, auf die Sie möglicherweise zugreifen können.
Fügen Sie die Ausführungsrolle dem Kinesis Data Streams-Ressourcenbesitzer hinzu, um die Ressourcenrichtlinie zu konfigurieren.

Konfigurieren des Kinesis-Datenstroms

  1. Greifen Sie auf die Amazon Kinesis Data Streams-Konsole zu und wählen Sie Ihren Datenstream aus.
  2. Wählen Sie den Registerkarte Datenstream-Sharing.
  3. Wählen Sie die Schaltfläche Richtlinie erstellen, um den visuellen Richtlinieneditor zu starten.
  4. Wählen Sie in der Registerkartei Erweitertes Fan-Out den Consumer aus, um einen registrierten Consumer innerhalb eines Datenstreams zu teilen.
  5. Wählen Sie Richtlinie erstellen. Sie können die JSON-Richtlinie auch direkt schreiben.
  6. Geben Sie für Prinzipal die kontoübergreifende Lambda-Ausführungsrolle ein, die Sie erstellt haben. Achten Sie darauf, die Aktion kinesis:DescribeStream einzuschließen.
    Weitere Informationen zu Beispielressourcenrichtlinien für Kinesis Data Streams finden Sie unter Beispiel für ressourcenbasierte Richtlinien für Kinesis Data Streams.
  7. Wählen Sie Richtlinie erstellen. Oder verwenden Sie PutResourcePolicy, um die Richtlinie an Ihre Ressource anzuhängen.

Wenn Sie serverseitige Verschlüsselung mit einem von AWS verwalteten Schlüssel verwenden und den Zugriff über eine Ressourcenrichtlinie gemeinsam nutzen möchten, müssen Sie einen vom Kunden verwalteten Schlüssel (AWS KMS-Schlüssel) verwenden. Weitere Informationen finden Sie unter Was ist serverseitige Verschlüsselung für Kinesis Data Streams?Außerdem müssen Sie Ihren Sharing-Prinzipal-Entitäten Zugriff auf Ihren KMS-Schlüssel über den kontoübergreifenden KMS-Zugriff gewähren. Weitere Informationen finden Sie unter Zulassen, dass Benutzer in anderen Konten einen KMS-Schlüssel verwenden.

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Monaten