WordPress statique · Authentification

Authentification d’un site WordPress statique simplifiée : déploiement avec le modèle AWS SAR

Un frontend WordPress statique supprime l’environnement d’exécution PHP des requêtes publiques, mais également la connexion WordPress native du site livré. Les portails, téléchargements et routes membres protégés nécessitent donc un modèle d’identité et d’accès en périphérie conçu pour une diffusion statique.

Ce mode de déploiement a été remplacé

Le modèle AWS Serverless Application Repository (SAR) décrit dans cet article n’est plus disponible. WP Suite utilise désormais Deployment Access, avec des modèles CloudFormation couvrant l’infrastructure backend requise par tous les plugins WP Suite.

Prochainement : un nouveau guide présentera le workflow Deployment Access actualisé et la solution étendue.

Authentifier avec Cognito, autoriser la diffusion avec CloudFront.

Gatey connecte l’utilisateur

Le navigateur s’authentifie auprès d’un Amazon Cognito User Pool via l’expérience Gatey intégrée aux pages générées par WordPress.

Un signataire émet des cookies

Une API protégée vérifie l’utilisateur authentifié et renvoie des cookies signés CloudFront dont le chemin et la durée de vie sont limités.

CloudFront protège le contenu

Les comportements CloudFront et un groupe de clés approuvé imposent le contrôle d’accès avant la diffusion des objets statiques protégés depuis S3.

Pourquoi la publication statique nécessite-t-elle une autre architecture de connexion ?

Une fois WordPress exporté sous forme de fichiers statiques, le chemin public ne comporte plus de session PHP ni de requête vers la base de données WordPress. Le site peut toujours afficher du JavaScript interactif, mais le système d’authentification WordPress natif n’est plus présent en périphérie.

La solution de remplacement doit protéger le chemin de diffusion du contenu lui-même, et pas seulement masquer des liens dans le navigateur. Les cookies signés CloudFront conviennent lorsqu’un utilisateur authentifié doit accéder à plusieurs fichiers ou routes protégés sous la même distribution.

  • Ne vous fiez pas aux règles de visibilité côté client pour contrôler l’accès.
  • Protégez l’origine afin que les visiteurs ne puissent pas contourner CloudFront et lire directement les objets S3.
  • Limitez les stratégies de cookies au domaine, au chemin et à la durée de vie nécessaires.

On obtient ainsi un site statique qui reste mis en cache et diffusé mondialement, tandis que certains contenus demeurent protégés par une stratégie de périphérie applicable. Pour une présentation complète du problème, découvrez comment ajouter une connexion à WordPress statique sans réintroduire les sessions PHP et comment conserver des fonctions dynamiques après la publication statique.

WordPress statique et dynamique

Fonctionnalité WP dynamique (PHP/MySQL) WP statique (S3 + CloudFront)
Vitesse Rendu côté serveur, dépend de PHP/DB Mis en cache en périphérie du CDN, ultrarapide
Sécurité Le cœur et les plugins augmentent la surface d’attaque Surface minimale (fichiers statiques)
Évolutivité Limitée par les ressources du serveur Pratiquement illimitée avec CloudFront
Authentification Connexion WordPress intégrée SAR + Gatey (cookies signés)
Maintenance Correctifs et sauvegardes de base de données Synchronisation des fichiers et invalidation du cache

Que fournit la pile Static Site Guardian ?

Le modèle de déploiement combine une origine S3, un comportement de distribution CloudFront, une clé publique CloudFront et un groupe de clés, ainsi que des points de terminaison API Gateway et Lambda qui émettent et effacent les cookies signés après l’authentification.

Des ressources complémentaires peuvent stocker le matériel de signature en toute sécurité, connecter un domaine personnalisé et un certificat, appliquer des protections WAF et exposer des sorties utilisables par Gatey ou la configuration WordPress.

  • Origine S3 privée et diffusion CloudFront.
  • Points de terminaison d’émission de cookies et de déconnexion avec autorisation propre à chaque route.
  • Clés, journaux, domaines et coûts des services AWS détenus par le client.

Les ressources exactes dépendent des paramètres de déploiement sélectionnés, mais le contrôle d’accès reste extérieur aux fichiers HTML exportés. Pour approfondir la frontière de diffusion, consultez l’architecture des cookies signés CloudFront.

Comment Gatey relie-t-il la connexion aux routes statiques protégées ?

Gatey gère le parcours de compte Cognito dans le navigateur. Après une connexion réussie, le frontend appelle le point de terminaison d’émission de cookies configuré avec le contexte authentifié requis. La réponse définit des cookies signés pour le domaine CloudFront, puis le visiteur peut demander normalement la route protégée.

La déconnexion doit effacer à la fois la session de l’application et les cookies CloudFront. Les destinations de redirection doivent être explicites afin que les requêtes expirées ou non autorisées ramènent le visiteur vers un parcours de connexion utile plutôt que vers une erreur générique de diffusion.

  • Alignez le rappel Cognito, le domaine du site et le domaine des cookies.
  • Testez la connexion, l’accès direct à une URL protégée, l’expiration et la déconnexion.
  • Évitez les portées de cookies couvrant des sites ou chemins sans rapport.

L’utilisateur suit un parcours de compte normal, tandis que CloudFront continue d’imposer la décision de diffusion.

Que faut-il tester après le déploiement ?

Un déploiement CloudFormation réussi n’est qu’un début. Publiez les fichiers statiques dans le préfixe S3 attendu, invalidez les chemins CloudFront concernés et vérifiez que les routes publiques restent accessibles tandis que les routes protégées refusent les requêtes anonymes.

Testez ensuite plusieurs utilisateurs, l’expiration des cookies, les modes de confidentialité du navigateur, les domaines personnalisés, le comportement CORS de l’API de signature, la rotation des clés, les journaux, les alarmes et les procédures de restauration. Vérifiez qu’une modification de la page WordPress ne supprime pas accidentellement les réglages d’intégration requis par le frontend exporté.

  • Testez les états anonyme, authentifié, expiré et déconnecté.
  • Surveillez les échecs du signataire et les réponses d’autorisation inattendues.
  • Documentez la rotation des clés et de la configuration sans interruption.

La diffusion statique réduit la surface d’attaque publique de WordPress, mais ne supprime pas les responsabilités liées à l’identité, aux clés, aux API et à l’exploitation.

Une page statique peut être interactive, mais le navigateur ne doit pas constituer la frontière de sécurité.

Utilisez la logique du navigateur pour améliorer l’expérience utilisateur. Utilisez Cognito, des API protégées, les stratégies CloudFront et une origine privée pour déterminer si le contenu protégé est effectivement diffusé.

Étape suivante

Planifiez les routes protégées avant de déployer la pile.

Examinez Static Publisher et Deployment Access afin de cartographier la manière dont le site est exporté, son lieu de diffusion et les chemins qui nécessitent une protection par cookies signés.