Nur DataPower-API-Gateway

Lambda

Verwenden Sie die Lambda-Richtlinie, um AWS Lambda-Funktionen direkt über die API auszulösen, ohne das Amazon API Gatewayzu verwenden.

Gateway-Unterstützung

Tabelle 1. Tabelle, in der angegeben wird, welche Gateways diese Richtlinie unterstützen, sowie die entsprechende Richtlinienversion
Gateway Richtlinienversion
DataPower® API Gateway 1.3.0

In diesem Abschnitt wird beschrieben, wie die Richtlinie in der Assembly-Benutzerschnittstelle konfiguriert wird. Details zur Konfiguration der Richtlinie in Ihrer OpenAPI -Quelle finden Sie unter Lambda.

Produktinfo

Mit der Lambda-Richtlinie können Sie AWS Lambda-Funktionen aus einer API-Assembly heraus auslösen, ohne dass Sie die Amazon API Gateway verwenden müssen. Wenn Sie die Richtlinie zu einer API-Assembly hinzufügen, können Sie die Lambda-Funktion angeben, die aufgerufen werden soll, und Berechtigungsnachweise zur Verwendung bereitstellen. Bei den Anmeldeinformationen kann es sich entweder um eine AWS IAM-Rolle oder um ein Paar aus Zugangsschlüssel-ID und geheimem Zugangsschlüssel handeln. Sie können die Lambda-Richtlinie von Lambda policy fix pack herunterladen.

Damit API Connect eine Lambda-Funktion aufrufen kann, führen Sie die folgenden Aufgaben aus:
  1. Konfigurieren Sie den Zugriff auf die Lambda-Funktion in AWS wie im Abschnitt Setting up permissions and trust in AWS dieses Abschnitts beschrieben.
  2. Definieren Sie eine API-Richtlinie in API Connect unter Verwendung der Richtlinieneigenschaften im Abschnitt Eigenschaften in diesem Thema.
Hinweis:
  • Die Lambda-Richtlinie verwendet VPC-Endpunkte, um sicherzustellen, dass die Kommunikation zwischen dem Gateway und dem Lambda-Service über das private AWS erfolgt.
  • Informationen über Lambda und Anweisungen zur Verwendung der Lambda-Funktionen finden Sie in der Dokumentation AWS Lambda.

Berechtigungen und Vertrauensbeziehung in AWS einrichten

Um eine Lambda-Richtlinie zu verwenden, müssen Sie eine Rolle in Ihrem AWS-Konto einrichten, die eine Berechtigungsrichtlinie und eine Vertrauensbeziehung festlegt, damit API Connect die AWS-Lambda-Funktion aufrufen kann. Bei Verwendung der Richtlinie AWS Lambda gibt es eine Authentifizierungsoption:

Verwenden Sie die Anweisungen für die Option, die Ihren Anforderungen am besten entspricht.

Zugriffsschlüssel-ID/Geheimer Zugriffsschlüssel
Geben Sie das AWS -Zugriffsschlüssel-ID/AWS -Zugriffsschlüsselpaar eines Kontos mit der Berechtigung zum Aufrufen einer oder mehrerer Lambda-Funktionen an. Die Berechtigungen dieses Kontos sollten so eng wie möglich sein. Das Konto sollte ein Servicekonto ohne andere Berechtigungen als die Möglichkeit zum Aufrufen einer oder mehrerer Lambda-Funktionen sein. Weitere Informationen finden Sie in der Dokumentation Identity-Based IAM Policies for Lambda.

Um die Authentifizierungsoption Zugriffsschlüssel-ID/Geheimer Zugriffsschlüssel zu verwenden, führen Sie die folgenden Schritte aus, um den IAM-Dienst Ihres Kontos zu verwenden und ein IAM-Dienstkonto mit den entsprechenden Berechtigungen zu erstellen, um eine begrenzte Kommunikation mit API Connect zu ermöglichen:

  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die IAM-Konsole.
  2. Klicken Sie in der AWS IAM-Konsole in der Navigationsliste auf Benutzer und anschließend auf Benutzer hinzufügen.
  3. Wenn Sie zur Eingabe von "Benutzerdetails festlegen" aufgefordert werden, geben Sie einen Benutzernamen an (der innerhalb Ihres AWS -Kontos eindeutig ist) und wählen Sie Zugriffsschlüssel-Programmgesteuerter Zugriffaus.

    Sie können die Option Passwort - AWS Zugang zur Verwaltungskonsole wählen, aber sie ist für die Interaktion mit API Connect nicht erforderlich.

    Es gibt eine Vielzahl von Optionen zum Definieren von Berechtigungen für das neue Benutzerkonto. Informationen zum Hinzufügen des Benutzers zu einer Benutzergruppe oder zum direkten Zuordnen einer Richtlinie zum Benutzer finden Sie im AWS Identity and Access Management User Guide.

    Eine einfache Methode zum Definieren von Benutzerberechtigungen, die dem Prinzip der geringsten Berechtigung entspricht, besteht darin, einen IAM-Benutzer ohne Berechtigungen zu erstellen und dann diesen Benutzer zur Berechtigungskonfiguration einer bestimmten Lambda-Funktion hinzuzufügen, wie in den folgenden Schritten gezeigt.

  4. Klicken Sie auf der Seite "Benutzerdetails festlegen" auf Weiter: Tags , ohne Änderungen am neuen Benutzerkonto vorzunehmen.
  5. Erstellen Sie die gewünschten Tags und klicken Sie anschließend auf Weiter: Überprüfen.
  6. Überprüfen Sie Ihre Einstellungen und klicken Sie auf Benutzer erstellen.

    Ignorieren Sie die Warnung This user has no permissions , da Sie in den verbleibenden Schritten Berechtigungen zuweisen werden.

  7. Klicken Sie auf CSV herunterladen , um die Zugriffsschlüssel-ID und den geheimen Zugriffsschlüsseldes neuen Benutzers zu speichern und an einem sicheren Ort zu speichern. Diese Werte werden als AWS Access Key ID und AWS Secret Access Key bei der Konfiguration der Lambda-Richtlinie Ihrer API in API Connect verwendet.
  8. Aktualisieren Sie die Lambda-Funktion, um Berechtigungen für den neuen Benutzer bereitzustellen:
    1. Öffnen Sie in der Lambda-Konsole die Seite Funktionen .
    2. Wählen Sie die Funktion, die API Connect aufrufen soll.
    3. Klicken Sie auf Konfiguration.
    4. Klicken Sie im Abschnitt Ressourcenbasierte Richtlinienanweisungen auf Berechtigungen hinzufügen.
    5. Wählen Sie AWS -Konto aus und fügen Sie eine eindeutige Anweisungs-IDhinzu.
    6. Setzen Sie Principal auf den ARN des neuen Benutzers.

      arn:aws:iam::<AWS_account_ID>:user/<username>, available on the Benutzer > <username> page.

    7. Setzen Sie die Aktion auf lambda:InvokeFunction.
    8. Klicken Sie auf Speichern.

    Wiederholen Sie diesen Schritt für jede Lambda-Funktion, die vom Benutzerkonto aufgerufen wird.

Eigenschaften

Die folgende Tabelle enthält die Richtlinieneigenschaften, gibt an, ob eine Eigenschaft erforderlich ist, enthält die gültigen Werte und die Standardwerte für Eingaben und gibt den jeweiligen Datentyp der Werte an.

Tabelle 2. Eigenschaften der Richtlinie Ratenbegrenzung
Eigenschaftsbezeichnung Erforderlich Beschreibung Datentyp
Titel Nein Der Titel der Richtlinie. Der Standardwert ist lambda. Zeichenfolge
Beschreibung Nein Eine Beschreibung der Richtlinie. Zeichenfolge
ID des AWS-Zugriffsschlüssels Ja AWS -Zugriffsschlüssel sind langfristige Berechtigungsnachweise für einen AWS IAM-Benutzer. Erforderlich, wenn AWS Assume Role ARN nicht bereitgestellt wird.

Anweisungen zum Erstellen des Zugriffsschlüsselpaars in AWSfinden Sie unter Zugriffsschlüssel-ID/Geheimer Zugriffsschlüssel in diesem Artikel.

Zeichenfolge
Geheimer AWS-Zugriffsschlüssel Ja Der geheime Zugriffsschlüssel, der der angegebenen AWS -Zugriffsschlüssel-IDentspricht. Zeichenfolge
Funktion Ja Der Name oder Amazon Resource Name (ARN) der auszuführenden AWS -Lambda-Funktion in einem der folgenden Formate:
  • Funktionsname; Beispiel: my-function
  • Funktion ARN; Beispiel: arn:aws:lambda:us-east-a:123456789012:function:my-function
  • Partielle ARN- 123456789012:function:my-function

Für weitere Informationen siehe FunctionName im AWS Lambda-Entwicklerhandbuch.

Zeichenfolge
Region Ja Die AWS -Region, in der die Lambda-Funktion gehostet wird. Zeichenfolge
Qualifikationsmerkmal Nein Der Aliasname oder die Version der Lambda-Funktion, die Sie ausführen möchten

Für weitere Informationen siehe Qualifier im AWS Lambda-Entwicklerhandbuch.

Zeichenfolge