Sécuriser les demandes de transformation d'images

Cette page explique comment contrôler plus précisément qui peut afficher votre contenu et pendant combien de temps. Vous pouvez utiliser les URL signées Cloud CDN et les Service Extensions pour sécuriser l'accès limité dans le temps à vos images optimisées.

Les URL standards non signées permettent aux utilisateurs de modifier ou de supprimer manuellement les chaînes de paramètres de requête dans leur navigateur. Si votre logique métier repose sur des transformations d'image pour la confidentialité ou les contrôles d'accès, les requêtes non signées présentent les risques suivants :

  • Fuite de métadonnées : un pirate informatique peut supprimer des paramètres tels que metadata,preserve=none pour récupérer les coordonnées GPS masquées ou les informations sensibles de l'appareil photo contenues dans le fichier source.

  • Contournement de la censure visuelle : si vous utilisez des paramètres pour masquer des visages, des plaques d'immatriculation ou des arrière-plans confidentiels en les recadrant, en les redimensionnant ou en les floutant, un utilisateur peut supprimer ces paramètres pour afficher l'image non censurée.

Vous pouvez utiliser des URL signées et des extensions de service pour empêcher les requêtes de transformation indésirables.

Prévention avec des URL signées

Pour atténuer ces risques, configurez les URL signées Cloud CDN afin de protéger vos routes. Lorsqu'une URL est signée, l'ensemble de la chaîne de configuration du paramètre de requête imop fait partie de la signature cryptographique que Cloud CDN valide à chaque requête. Si un utilisateur tente de modifier des opérations ou des paramètres, par exemple sizes, Cloud CDN valide automatiquement la signature cryptographique et rejette la requête, en renvoyant un code d'état HTTP 403 Forbidden.

Pour en savoir plus, consultez URL signées.

Liste d'autorisation avec des extensions de service

Service Extensions permet aux développeurs d'injecter une logique programmable personnalisée dans le plan de données Cloud CDN. Cette logique personnalisée permet de manipuler les requêtes et d'appliquer des mesures de sécurité avancées avant que la fonctionnalité d'optimisation des images ne traite la requête.

Service Extensions permet d'analyser la chaîne de requête imop et de faire correspondre ses paramètres à une liste d'autorisation fixe. Par exemple, elles ne peuvent autoriser que des largeurs responsives prédéfinies : 200, 400 ou 800.

L'exemple suivant montre comment une requête non autorisée tente de contourner votre cache en périphérie et comment les extensions de service gèrent ces requêtes :

  1. Un client demande une taille d'image non standard et non mise en cache :

    image.jpg?imop=Resize,width=401

  2. Les extensions de service interceptent la requête en périphérie de Cloud CDN. Elles analysent la chaîne de requête pour extraire le transformation parameter: width=401.

  3. Les extensions de service comparent 401 à vos points d'arrêt de conception responsive prédéfinis :

  4. Liste d'autorisation : 200, 400, 800

  5. Lorsqu'elles détectent que 401 ne figure pas dans la liste d'autorisation, les extensions de service mettent immédiatement fin à la requête et renvoient une erreur HTTP 403 (Forbidden) ou suppriment les paramètres pour diffuser l'image d'origine.

La requête n'est pas traitée, ce qui évite l'épuisement des ressources de calcul en périphérie.

Pour en savoir plus, consultez Extensions de service.

Étape suivante