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
| 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.
- Konfigurieren Sie den Zugriff auf die Lambda-Funktion in AWS wie im Abschnitt Setting up permissions and trust in AWS dieses Abschnitts beschrieben.
- Definieren Sie eine API-Richtlinie in API Connect unter Verwendung der Richtlinieneigenschaften im Abschnitt Eigenschaften in diesem Thema.
- 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
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:
- Melden Sie sich bei der AWS Management Console an und öffnen Sie die IAM-Konsole.
- Klicken Sie in der AWS IAM-Konsole in der Navigationsliste auf Benutzer und anschließend auf Benutzer hinzufügen.
- 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.
- Klicken Sie auf der Seite "Benutzerdetails festlegen" auf Weiter: Tags , ohne Änderungen am neuen Benutzerkonto vorzunehmen.
- Erstellen Sie die gewünschten Tags und klicken Sie anschließend auf Weiter: Überprüfen.
- Ü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. - 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.
- Aktualisieren Sie die Lambda-Funktion, um Berechtigungen für den neuen Benutzer bereitzustellen:
- Öffnen Sie in der Lambda-Konsole die Seite Funktionen .
- Wählen Sie die Funktion, die API Connect aufrufen soll.
- Klicken Sie auf Konfiguration.
- Klicken Sie im Abschnitt Ressourcenbasierte Richtlinienanweisungen auf Berechtigungen hinzufügen.
- Wählen Sie AWS -Konto aus und fügen Sie eine eindeutige Anweisungs-IDhinzu.
- Setzen Sie Principal auf den ARN des neuen Benutzers.
arn:aws:iam::<AWS_account_ID>:user/<username>, available on the page. - Setzen Sie die Aktion auf
lambda:InvokeFunction. - 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.
| 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:
Für weitere Informationen siehe |
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 |
Zeichenfolge |