Comment restreindre l’accès à votre distribution CloudFront avec l’authentification de base
Pour que cela fonctionne, vous devez d’abord créer un Lambda fonction, qui est donnée ci-dessous:
Pour rester simple, vous devez définir le nom d’utilisateur et le mot de passe à stocker en mémoire. Mais si vous souhaitez avoir plusieurs utilisateurs qui peuvent se connecter à cette distribution, vous devez connecter le Lambda fonction à DynamoDB, où vous stockeriez les utilisateurs et leurs mots de passe.
La logique principale réside dans la validation de l’en-tête, où vous validez si le Authorization en-tête existe et si sa valeur correspond à la basicAuthentication valeur. basicAuthentication est la variable où le base64 la valeur codée de la combinaison nom d’utilisateur-mot de passe est stockée après son calcul.
En cas d’échec du contrôle, Lambda renvoie une coutume 401 Unauthorized réponse en attachant www-authenticate en-têtes pour informer le client du type de la méthode d’authentification requise.
La deuxième étape consiste à permettre le déclenchement de cette fonction pour chaque requête adressée à la distribution. Vous devez publier une nouvelle version de votre Lambda (Actions -> Publier une nouvelle version sur le Lambda menu) et copiez le Lambda ARN, ainsi que sa version. le Lambda ARN devrait ressembler à ceci:
arn:aws:lambda:us-east-1:ACCOUNT_NUMBER:function:basic_auth:1
Ensuite, vous devez modifier le comportement de votre distribution CloudFront en associant le Lambda fonctionner avec une demande de visionneuse, comme indiqué dans l’image suivante:
Ce comportement demandera à Lambda @ Edge de déclencher la Lambda fonction pour chaque demande faite à la distribution.

