Introduction

L'application de suivi financier re:Money a été déployée sur AWS Lambda en utilisant les commandes sam build et sam deploy. Cependant, l'API Gateway créée est publique et n'a pas de mécanisme d'authentification ou d'autorisation, ce qui pose un problème de sécurité pour les données personnelles des utilisateurs.

Contexte Technique

Pour résoudre ce problème, nous allons intégrer Amazon Cognito avec Google sign-in à re:Money. Cognito est un service d'identité et d'accès qui permet de gérer les utilisateurs et les sessions de manière sécurisée. Nous allons créer un pool d'utilisateurs Cognito, configurer les fournisseurs d'identité Google et créer un client Cognito pour l'application.

La protection de re:Money se fait à deux niveaux : l'API Gateway avec un authoriseur JWT et les pages UI avec une vérification de cookie côté serveur. L'authoriseur JWT vérifie si le token est valide avant de permettre l'accès aux routes protégées, tandis que la vérification de cookie côté serveur vérifie si l'utilisateur est connecté avant de permettre l'accès aux pages UI.

Analyse et Implications

L'intégration de Cognito à re:Money apporte une couche de sécurité supplémentaire pour les données des utilisateurs. Les utilisateurs doivent maintenant se connecter avec leur compte Google pour accéder à l'application, ce qui réduit le risque d'accès non autorisé. De plus, l'utilisation de tokens JWT pour l'authentification et l'autorisation permet de sécuriser les routes protégées de l'API Gateway.

Cependant, il est important de noter que la sécurité est un processus continu et que des mesures supplémentaires peuvent être nécessaires pour garantir la sécurité totale de l'application. Par exemple, il est recommandé de mettre en place des politiques de sécurité pour les utilisateurs et les rôles, ainsi que de surveiller les journaux d'activité pour détecter les tentatives d'accès non autorisé.

Perspective

À l'avenir, il sera important de surveiller les mises à jour de sécurité d'AWS et de Cognito pour garantir que l'application reste sécurisée. De plus, il sera utile de mettre en place des tests de sécurité réguliers pour identifier les vulnérabilités potentielles et de les corriger avant qu'elles ne puissent être exploitées. Enfin, il est important de sensibiliser les utilisateurs à l'importance de la sécurité et de leur fournir des conseils pour protéger leurs comptes et leurs données.