[PaaS uniquement]{class="badge informative" title="S’applique uniquement aux projets Adobe Commerce on Cloud (infrastructure PaaS gérée par Adobe) et aux projets On-premise."}

VCL personnalisé pour autoriser les requêtes

Vous pouvez utiliser une liste de contrôle d’accès Fastly Edge avec un fragment de code VCL personnalisé pour filtrer les requêtes entrantes et autoriser l’accès par adresse IP. La liste ACL spécifie les adresses IP à autoriser.

Créez une place sur la liste autorisée pour limiter l’accès à votre environnement d’évaluation, de sorte que seules les requêtes provenant d’adresses IP spécifiées pour les développeurs internes et les services externes approuvés soient autorisées. Vous pouvez également créer une place sur la liste autorisée pour sécuriser l’accès à l’administrateur dans les environnements d’évaluation et de production.

L’exemple suivant montre comment utiliser un fragment de code VCL personnalisé avec une liste de contrôle d’accès (ACL) pour sécuriser l’accès à l’administrateur pour un environnement de projet d’infrastructure cloud Adobe Commerce. Lorsque vous ajoutez le fragment de code VCL personnalisé à l’environnement cloud, Fastly autorise uniquement les requêtes provenant des adresses IP incluses dans la liste de contrôle d’accès.

TIP
Pour les environnements d’évaluation et d’intégration qui ne doivent pas être accessibles au public, utilisez l’option Contrôle d’accès HTTP disponible dans le Cloud Console pour gérer l’accès à l’ensemble du site par adresse IP.

Conditions préalables :

  • Votre environnement doit être configuré pour utiliser le réseau CDN Fastly. Voir Configuration des services Fastly.

  • Assurez-vous d’exécuter la dernière version du module Fastly CDN pour le Magento 2. Voir Mise à niveau du module Fastly.

  • Vérifiez la configuration de l’environnement pour le service Fastly . Voir Vérification de la mise en cache rapide.

  • Vous devez disposer des informations d’identification d’administrateur pour accéder aux environnements d’évaluation et de production.

  • Liste des adresses IP du client à inclure dans la place sur la liste autorisée

Créer une liste de contrôle d’accès Edge pour autoriser les adresses IP client

Les listes de contrôle d’accès Edge créent des listes d’adresses IP pour gérer l’accès à votre site. Dans cet exemple, vous allez créer une liste de contrôle d’accès Edge et ajouter la liste des adresses IP client autorisées à accéder à Admin pour votre environnement de projet.

  1. Connectez-vous à l’administrateur.

  2. Cliquez sur Magasins > Paramètres > Configuration > Avancé > Système.

  3. Développez Cache de page complet > Configuration rapide > ACL Edge.

  4. Créez le conteneur ACL :

    • Cliquez sur Ajouter une liste de contrôle d’accès.

    • Sur la page Conteneur ACL, saisissez un nom ACLallowlist.

    • Sélectionnez Activer après la modification pour déployer vos modifications sur la version de la configuration de service Fastly que vous modifiez.

    • Cliquez sur Télécharger pour joindre la liste de contrôle d’accès à votre configuration de service Fastly.

  5. Ajoutez la liste des adresses IP autorisées à accéder à l’administrateur :

    • Cliquez sur l’icône Paramètres de la liste de contrôle d’accès allowlist.

    • Ajoutez et enregistrez la valeur IP pour chaque adresse IP du client.

    • Cliquez sur Annuler pour revenir à la page de configuration du système.

  6. Cliquez sur Enregistrer la configuration.

  7. Actualisez le cache en fonction de la notification envoyée en haut de la page.

Créez le fragment de code VCL personnalisé pour sécuriser l’accès administrateur

Le code de fragment de code VCL personnalisé suivant (format JSON) montre la logique de filtrage des requêtes à l’administrateur et d’autorisation d’accès si l’adresse IP du client correspond à une adresse dans la liste de contrôle d’accès allowlist.

{
  "name": "allowlist",
  "dynamic": "0",
  "type": "recv",
  "priority": "5",
  "content": "if ((req.url ~ \"^/admin\") && !(client.ip ~ allowlist) && !req.http.Fastly-FF) { error 403 \"Forbidden\"; }"
}

Avant de créer un extrait de code personnalisé à partir de cet exemple, passez en revue les valeurs pour déterminer si vous devez apporter des modifications. Saisissez ensuite chaque valeur dans les champs respectifs, par exemple type dans le champ Type content dans le champ Contenu .

  • name — Nom du fragment de code VCL. Pour cet exemple, allowlist.

  • priority — Détermine quand le fragment de code VCL s'exécute. La priorité est 5 pour s’exécuter immédiatement et vérifier si les requêtes d’administration proviennent d’une adresse IP autorisée. Le fragment de code s’exécute avant que l’un des fragments de code VCL Magento par défaut (magentomodule_*) se voie attribuer une priorité de 50. Définissez une priorité supérieure ou inférieure à 50 pour chaque fragment de code personnalisé en fonction du moment où vous souhaitez que votre fragment de code s’exécute. Les fragments de code dont le numéro de priorité est inférieur s’exécutent en premier.

  • type — Spécifie un emplacement pour insérer le fragment de code dans le code VCL versionné. Ce VCL est un type de fragment de code recv qui ajoute le code de fragment de code à la sous-routine vcl_recv sous le code VCL Fastly par défaut et au-dessus de tous les objets.

  • content : fragment de code VCL à exécuter. Dans cet exemple, le code filtre les requêtes adressées à l’administrateur et autorise l’accès si l’adresse IP du client correspond à une adresse dans la liste de contrôle d’accès allowlist. Si l’adresse ne correspond pas, la requête est bloquée avec une erreur 403 Forbidden.

    Si l’URL de votre administrateur a été modifiée, remplacez l’exemple de valeur /admin par l’URL de votre environnement. Par exemple, /company-admin.

Dans l’exemple de code, la condition !req.http.Fastly-FF est importante lors de l’utilisation du blindage d’origine. Ne supprimez ou ne modifiez pas ce code.

Après avoir examiné et mis à jour le code de votre environnement, utilisez l’une des méthodes suivantes pour ajouter le fragment de code VCL personnalisé à votre configuration de service Fastly :

Ajouter le fragment de code VCL personnalisé

  1. Connectez-vous à l’administrateur.

  2. Cliquez sur Magasins > Paramètres > Configuration > Avancé > Système.

  3. Développez Cache de page complet > Configuration rapide > Fragments de code VCL personnalisés.

  4. Cliquez sur Créer un fragment de code personnalisé.

  5. Ajoutez les valeurs de fragment de code VCL :

    • Nomallowlist

    • Typerecv

    • Priorité5

    • Ajoutez le contenu du fragment de code VCL :

      code language-conf
      if ((req.url ~ "^/admin") && !(client.ip ~ allowlist) && !req.http.Fastly-FF) { error 403 "Forbidden";}
      
  6. Cliquez sur Créer pour générer le fichier de fragment de code VCL avec le modèle de nom type_priority_name.vcl, par exemple recv_5_allowlist.vcl

  7. Une fois la page rechargée, cliquez sur Télécharger VCL vers Fastly dans la section Configuration Fastly pour ajouter le fichier à la configuration de service Fastly.

  8. Une fois le chargement terminé, actualisez le cache en fonction de la notification en haut de la page.

Valide rapidement la version mise à jour du code VCL pendant le processus de chargement. Si la validation échoue, modifiez le fragment de code VCL personnalisé pour résoudre le problème. Ensuite, chargez à nouveau le VCL.

Modifier le fragment de code VCL personnalisé

  1. Connectez-vous à l’administrateur.

  2. Cliquez sur Magasins > Paramètres > Configuration > Avancé > Système.

  3. Développez Cache de page complet > Configuration rapide > Fragments de code VCL personnalisés.

    Gestion des fragments de code VCL personnalisés

  4. Dans la colonne Action, cliquez sur l’icône de paramètres en regard du fragment de code à modifier.

  5. Une fois la page rechargée, cliquez sur Télécharger VCL vers Fastly dans la section Configuration Fastly.

  6. Une fois le chargement terminé, actualisez le cache en fonction de la notification en haut de la page.

WARNING
L’option d’interface utilisateur Fragments de code VCL personnalisés affiche uniquement les fragments de code ajoutés par l’intermédiaire de l’administrateur Adobe Commerce. Si vous ajoutez des fragments de code à l’aide de l’API Fastly, utilisez l’API pour les gérer.

Supprimer le fragment de code VCL personnalisé

  1. Connectez-vous à l’administrateur.

  2. Cliquez sur Magasins > Paramètres > Configuration > Avancé > Système.

  3. Développez Cache de page complet > Configuration rapide > Fragments de code VCL personnalisés.

    Gestion des fragments de code VCL personnalisés

  4. Dans la colonne Action, cliquez sur l’icône de la corbeille en regard du fragment de code à supprimer.

  5. Dans la fenêtre modale suivante, cliquez sur DELETE et activez une nouvelle version.

WARNING
L’option d’interface utilisateur Fragments de code VCL personnalisés affiche uniquement les fragments de code ajoutés par l’intermédiaire de l’administrateur Adobe Commerce. Si vous ajoutez des fragments de code à l’aide de l’API Fastly, utilisez l’API pour les gérer.
recommendation-more-help
7c2b03ac-000c-497d-aba3-2c6dc720a938