Sécurité, identité et conformitéService régional
Cognito
Permet de gérer l’authentification, l’autorisation et la gestion des utilisateurs
Fonctionnalités
- Gestion de l’inscription et la connexion des utilisateurs
- Délégation de l’authentification à des providers tiers (Google, Amazon, Apple, etc)
- Génération de tokens sécurisés (JWT)
- Accès contrôlé à des ressources AWS
Cognito distingue l’identité de l’utilisateur et les permissions AWS associées
Cas d’utilisation
- Authentification d’une application web ou mobile
- API sécurisée avec API Gateway + Cognito
Concepts clés
User Pools
- Constitue un annuaire d’utilisateurs
- Permet de gérer :
- L’enregistrement (signup)
- La connexion (signin)
- La récupération de mot de passe
- Les attributs utilisateurs (email, téléphone, custom attributes)
- Fonctionnalités principales :
- Authentification username/password
- MFA (SMS, TOTP)
- Politiques de mot de passe
- Tokens JWT (ID token, Access token, Refresh token)
- Fédération d’identité (Google, Amazon, OIDC, SAML…)
Identity Pools
- Liaison entre les utilisateurs et AWS
- Permet de :
- Échanger des tokens Cognito contre des identifiants AWS temporaires
- Accéder à des ressources AWS via IAM Roles
- Fonctionnalités clés :
- Accès authentifié ou invité (guest)
- Attribution de rôles IAM selon le type d’utilisateur
- Permissions fines vers les autres services AWS
Flux d’authentification
- L’utilisateur s’authentifie via le User Pool
- Le User Pool retourne des tokens JWT
- Les tokens sont échangés via l’Identity Pool
- Cognito fournit des identifiants AWS temporaires
- L’application accède aux ressources AWS autorisées
Intégrations courantes
- Cognito s’intègre nativement avec :
- API Gateway (authorizer Cognito)
- AppSync (GraphQL avec auth intégrée)
- IAM (rôles par type d’utilisateur)
- Lambda (post-confirmation, triggers personnalisés)
- CloudFront / ALB (auth côté edge ou backend)