2016-05-02 14 views
3

Ich habe einen Python-Microservice, den ich gerne mit AWS API Gateway verbinden würde. - Das Problem ist, dass ich nach Möglichkeiten gesucht habe, beides sicher zu machen, aber nicht wirklich zu einem Abschluss gekommen bin.Amazon (AWS) API Gateway - Authentifizierung

Ich stieß auf eine Site, die besagt, dass ich SSL-Zertifizierungen zu nur aktivieren Anfragen von API-Gateway verwenden sollte.

Kann mir jemand aufklären, was die beste Methode für die Authentifizierung zwischen dem Client und API Gateway und der API selbst ist?

Antwort

3

Es gibt sehr viele Möglichkeiten zur Authentifizierung zwischen dem Client und API Gateway. Es gibt keinen "besten" Weg.

zwischen API-Gateway und dem Back-End-Server authentifizieren, würden Sie die SSL-Authentifizierung verwenden, wie hier beschrieben: http://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-client-side-ssl-authentication.html

+0

Ich habe mir diese Client-Zertifizierungen angeschaut, kann aber keine Dokumentation finden, die die Überprüfung auf Python unterstützt. – JuLiAnc

+0

Wonach haben Sie gesucht? https://github.com/kimvais/django-ssl-client-auth –

+0

Ich suchte nach Kolben ssl Client-Zertifikat Auth: o – JuLiAnc

0

Es gibt einige Ansätze Authentifizierung in API-Gateway zu implementieren. Der unterschiedliche Ansatz dient verschiedenen Zwecken und dem von Ihnen erwarteten Sicherheitsniveau. Für die meisten Fälle können Sie Ihre custom authorizer lambda zur Authentifizierung schreiben. Mit Hilfe von JWT können Sie eine einigermaßen sichere Authentifizierung für Ihre API erstellen. Wenn Sie die IAM-Authentifizierung verwenden, unterstützt das API das Gateway direkt. Die einzige Einschränkung besteht darin, dass Sie AWS SDK zum bequemen Aufruf der API verwenden müssen. Da das API-Gateway standardmäßig SSL verwendet, ist die Datenübertragung bereits verschlüsselt.

Wenn Sie sehr spezifische Sicherheitsanforderungen haben, können Sie SSL-Zertifikate verwenden. Dies wird im Allgemeinen bei der Kommunikation zwischen APIs in Service Orchestration wie Szenarien in SOA bevorzugt.

0

Sie fragen, was die "Best Practice" ist, und, da wir in Amazon AWS-Ökosystem sind, ist es sicher AWS Cognito zu verwenden.

Wenn Sie diese Route gehen, haben Sie Verkäufer Lockin für Ihren Authentifizierungsablauf, aber es funktioniert sehr gut, da sie gebaut sind, um gut zusammen zu spielen. Anmeldungen erfolgen über Aufrufe an AWS Cognito-Endpunkte: Erfolgreiche Benutzer erhalten Sitzungstoken, die in Zukunft für alle API-Gateway-Aufrufe verwendet werden können.

Zum Aktivieren klicken Sie einfach auf eine beliebige API-Gateway-Methode, klicken Sie auf Methodenanforderung, bearbeiten Sie Autorisierung und Sie sehen Ihre AWS Cognito-Benutzerpools, die Sie erstellt haben.

Dies erfordert ein wenig Konfiguration, aber es funktioniert sehr gut.