2017-01-02 3 views
1

Ich habe eine NodeJS API auf Amazon EB und eine API auf API Gateway. API-Gateway wird als Proxy für EB konfiguriert.AWS API Gateway - Elastische Bohnenstange - Eingeschränkter Zugriff

Ich kann meine API ohne Problem aufrufen, es funktioniert, aber ich weiß nicht, wie man Sicherheit verwaltet.

Eigentlich muss ich die Anfrage unterschreiben (es ist ok!), Aber ich kann die EB URL verwenden und nichts ist notwendig.

Vor der Verwendung von API Gateway habe ich JWT verwendet, aber was soll ich nun mit meiner Node App machen? API Gateway verwendet den Authorization-Header zum Signieren der Anfrage, also muss meine Node-App diese Signatur überprüfen? Oder etwas anderes?

Antwort

2

Der empfohlene Ansatz zum Einschränken des Back-End-Zugriffs auf nur API-Gateway besteht in der Verwendung von clientseitigen Zertifikaten. Siehe

Hinweis: Wenn Sie Clientzertifikate mit ELB verwenden, müssen Sie den ELB im TCP-Modus konfigurieren und die SSL-Verbindung auf dem Anwendungsserver beenden, da ELB die Clientzertifikatsprüfung nicht unterstützt.

Ein alternativer Ansatz besteht darin, das API-Gateway so zu konfigurieren, dass eine Kopfzeile mit einem geheimen Wert hinzugefügt und der Wert auf dem Anwendungsserver überprüft wird, bevor die Anforderung verarbeitet wird. Dies wird im Allgemeinen als weniger sicher angesehen, da es für einen Angreifer leichter ist, Ihren geheimen Wert zu erhalten. Zumindest sollten Sie SSL zwischen Ihrem API-Gateway und Ihrem Anwendungsserver verwenden, damit das Geheimnis nicht im Klartext gesendet wird.

+0

Hoffentlich werden VPC-Ressourcen zu Proxy über API-Gateway irgendwann zugänglich werden - wie sie für Lambda-Funktionen geworden sind. Dies würde einige dieser Anwendungsfälle von Elastic Beanstalk bereinigen, in denen die EB-App öffentlich sein muss. Ich denke, in vielen Anwendungsfällen würde eine über private Subnetze verteilte ElasticBeanstalk-App ausreichen, wenn sie für den Proxy von API Gateway zugänglich wäre (nicht sicher, ob dies für OP gilt). –

Verwandte Themen