0

Ich habe ein Self-Client-Zertifikat in API Gateway erstellt. Ich möchte, dass mein Lambda validiert wird, bevor die Anfrage von API Gateway verarbeitet wird (Configure Backend to Authenticate API).Kann ich das im API-Gateway generierte Client-Zertifikat zur Validierung bei Lambda verwenden?

API Gateway ermöglicht es uns, das Zertifikat in die Zwischenablage zu kopieren. Was wir als var oder file speichern können, um innerhalb der Nodejs Lambda-Funktion gelesen zu werden, authentifizieren und fortfahren.

Haben wir Beispiele?

Antwort

2

Das API-Gateway ruft Ihre AWS Lambda-Funktion über die Lambda Invoke-Methode in der AWS-API auf. Ihre Lambda-Funktion ist kein Webserver. Daher empfängt sie keine direkte HTTPS-Anforderung von API Gateway, sodass sie das HTTPS-Clientzertifikat nicht empfängt.

Ich würde die Notwendigkeit für diese sowieso in Frage stellen. Ihr API-Gateway sollte eine IAM-Rolle verwenden, um die Lambda-Funktion aufzurufen. Mit diesem Mechanismus möchten Sie sicherstellen, dass nur API Gateway Zugriff auf Ihre Lambda-Funktion hat. Das Client-Zertifikat ist für Webserver vorgesehen, die hinter dem API-Gateway ausgeführt werden und IAM nicht zur Authentifizierung verwenden.

+0

Mark - Okay. Also, was bedeutet Backend-API zu konfigurieren? http://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-client-side-ssl-authentication.html#certificate-validation –

+0

Es bedeutet, wenn Sie API-Gateway zu einem Backend-Server auf zeigen EC2 oder etwas Ähnliches, dann können Sie die Server-Software konfigurieren, um das Client-Zertifikat zu validieren. Dies ist eine völlig andere API-Gateway-Integrationsmethode als diejenige, die Sie zum Auslösen der Lambda-Funktionsausführung verwenden würden. –

+0

Clientzertifikate sind für den Integrationstyp "HTTP" vorgesehen, bei dem eine öffentliche HTTP-API gesperrt werden muss, damit nur das API-Gateway sie aufrufen kann. Sie benötigen diese Methode zum Sperren von AWS Lambda nicht, da die Lambda-Funktion selbst nicht öffentlich ist und Ihre IAM-Berechtigungen sicherstellen, dass nur API-Gateway sie aufrufen kann. Beachten Sie, dass oben auf der Seite, die Sie verlinkt haben, die Meldung "Dies ermöglicht Ihrem HTTP-Backend, nur Anfragen von Amazon API Gateway zu steuern und zu akzeptieren". Es ist nur für HTTP-Backends, nicht Lambda. –

Verwandte Themen