Intégrer Google Cloud Armor à d'autres produits Google

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Les sections suivantes expliquent comment Google Cloud Armor interagit avec d'autres produits et fonctionnalités Google Cloud.

Règles de pare-feu VPC et Google Cloud Armor

Les stratégies de sécurité Google Cloud Armor et les règles de pare-feu VPC ont des fonctions différentes :

Par exemple, supposons que vous souhaitiez n'autoriser que le trafic provenant des plages CIDR 100.1.1.0/24 et 100.1.2.0/24 à accéder à votre équilibreur de charge HTTP(S) externe global ou à votre équilibreur de charge HTTP(S) externe global (classique). Votre objectif est de vous assurer que le trafic ne peut pas atteindre directement les instances backend à équilibrage de charge. En d'autres termes, seul le trafic externe transmis par proxy via l'équilibreur de charge HTTP(S) externe global ou l'équilibreur de charge HTTP(S) externe global (classique) avec une règle de sécurité associée doit atteindre les instances.

Utiliser une stratégie de sécurité Google Cloud Armor avec des pare-feu d'entrée pour restreindre l'accès.
Utiliser la stratégie de sécurité Google Cloud Armor avec des pare-feu d'entrée pour restreindre l'accès (cliquez pour agrandir)

Dans l'illustration précédente, vous atteignez vos objectifs de sécurité en configurant votre déploiement Google Cloud comme suit :

  1. Créez deux groupes d'instances, un dans la région us-west1 et l'autre dans la région europe-west1.
  2. Déployez des instances d'application backend sur les VM dans les groupes d'instances.
  3. Créez un équilibreur de charge HTTP(S) externe global ou un équilibreur de charge HTTP(S) externe global (classique) en Niveau Premium. Configurez un mappage d'URL simple et un service de backend unique dont les backends sont les deux groupes d'instances que vous avez créés à l'étape précédente. Assurez-vous que la règle de transfert de l'équilibreur de charge utilise l'adresse IP externe 120.1.1.1.
  4. Configurez une stratégie de sécurité Google Cloud Armor qui autorise le trafic provenant des plages CIDR 100.1.1.0/24 et 100.1.2.0/24 et refuse tout autre trafic.
  5. Associez cette stratégie au service de backend de l'équilibreur de charge. Pour obtenir des instructions, consultez la page Configurer des stratégies de sécurité. Les équilibreurs de charge HTTP(S) externes avec des mappages d'URL plus complexes peuvent référencer plusieurs services de backend. Vous pouvez associer la stratégie de sécurité à un ou plusieurs des services de backend, si nécessaire.
  6. Configurez des règles de pare-feu autorisant le trafic entrant en provenance de l'équilibreur de charge HTTP(S) externe global ou classique (classique). Pour plus d'informations, consultez la section Règles de pare-feu.

Google Cloud Armor avec équilibrage de charge HTTP(S) et IAP

Identity-Aware Proxy (IAP) vérifie l'identité d'un utilisateur, puis détermine si cet utilisateur doit être autorisé à accéder à une application. L'activation d'IAP pour l'équilibreur de charge HTTP(S) externe global ou l'équilibreur de charge HTTP(S) externe global (classique) doit être effectuée sur les services de backend de l'équilibreur de charge. De même, les stratégies de sécurité périphériques Google Cloud Armor sont associées aux services de backend d'un équilibreur de charge HTTP(S) externe global ou d'un équilibreur de charge HTTP(S) externe global (classique).

Si les stratégies de sécurité Google Cloud Armor et IAP sont toutes deux activées pour un service de backend d'un équilibreur de charge HTTP(S) externe global ou d'un équilibreur de charge HTTP(S) externe global (classique), l'évaluation IAP se produit en premier. Si IAP bloque une requête, Google Cloud Armor ne l'évalue pas. Si IAP authentifie une requête, celle-ci est ensuite évaluée par Google Cloud Armor. La requête est bloquée si une stratégie de sécurité Google Cloud Armor entraîne une décision de blocage.

Utiliser les listes d'autorisation et de blocage d'adresses IP avec IAP.
Utiliser des listes de blocage et d'autorisation d'adresses IP avec IAP (cliquez pour agrandir)

Pour plus d'informations sur IAP et les configurations associées, consultez la documentation Identity-Aware Proxy.

Google Cloud Armor avec des déploiements hybrides

Dans un déploiement hybride, un équilibreur de charge HTTP(S) externe global ou un équilibreur de charge HTTP(S) externe global (classique) doit avoir accès à une application ou à une source de contenu qui s'exécute en dehors de Google Cloud, par exemple, dans l'infrastructure d'un autre fournisseur cloud. Vous pouvez utiliser Google Cloud Armor pour protéger ce type de déploiements.

Dans le schéma suivant, l'équilibreur de charge comporte deux services de backend. L'un dispose d'un groupe d'instances comme backend. L'autre service de backend dispose d'un NEG Internet comme backend, lequel est associé à une application qui s'exécute dans le centre de données d'un fournisseur tiers.

Google Cloud Armor pour les déploiements hybrides.
Google Cloud Armor pour les déploiements hybrides (cliquez pour agrandir)

Lorsque vous associez une stratégie de sécurité Google Cloud Armor au service de backend doté d'un NEG Internet comme backend, Google Cloud Armor inspecte chaque requête L7 qui parvient à l'équilibreur de charge HTTP(S) externe global ou à l'équilibreur de charge HTTP(S) externe global (classique) destiné à ce service de backend.

La protection Google Cloud Armor pour les déploiements hybrides est soumise aux mêmes limites que celles qui s'appliquent aux NEG Internet.

Google Cloud Armor avec l'objet Entrée de Google Kubernetes Engine (GKE)

Après avoir configuré une règle de sécurité Google Cloud Armor, vous pouvez utiliser l'objet Kubernetes Ingress pour l'activer avec GKE.

Vous pouvez référencer votre stratégie de sécurité avec une ressource BackendConfig en ajoutant son nom à BackendConfig. Le fichier manifeste BackendConfig suivant spécifie une règle de sécurité nommée example-security-policy :

apiVersion: cloud.google.com/v1
kind: BackendConfig
metadata:
  namespace: cloud-armor-how-to
  name: my-backendconfig
spec:
  securityPolicy:
    name: "example-security-policy"

Pour en savoir plus sur les fonctionnalités d'entrée, consultez la section Configurer les fonctionnalités d'entrée.

Google Cloud Armor avec Cloud CDN

Pour protéger les serveurs d'origine CDN, vous pouvez utiliser Google Cloud Armor avec Cloud CDN. Google Cloud Armor protège votre serveur d'origine CDN contre les attaques d'applications, limite les dix risques les plus importants selon OWASP, et applique une stratégie de filtrage de couche 7. Deux types de règles de sécurité affectent le fonctionnement de Google Cloud Armor avec Cloud CDN : les règles de sécurité périphérique et les règles de sécurité de backend.

Stratégies de sécurité Edge

Vous pouvez utiliser des stratégies de sécurité périphériques pour les services de backend compatibles avec Cloud CDN et les buckets backend Cloud Storage derrière l'équilibreur de charge HTTP(S) externe global ou l'équilibreur de charge HTTP(S) externe global (classique). Utilisez des règles de sécurité périphérique pour filtrer les requêtes avant que le contenu ne soit diffusé à partir du cache.

Règles de sécurité de backend

Lorsque les règles de sécurité de backend Google Cloud Armor sont appliquées aux services de backend avec Cloud CDN activé, elles ne s'appliquent qu'aux requêtes acheminées vers le service de backend. Ces requêtes incluent les requêtes de contenu dynamiques et les défauts de cache (miss), c'est-à-dire les requêtes qui manquent ou contournent le cache Cloud CDN.

Les requêtes sont toujours évaluées en premier par rapport aux règles de sécurité périphérique. Pour les requêtes autorisées par les règles de sécurité périphérique, la requête est transmise à l'utilisateur et n'est pas évaluée par rapport à la stratégie de sécurité de backend. Sinon, la requête est réévaluée, cette fois par rapport à la stratégie de sécurité de backend.

Le schéma suivant illustre exclusivement le fonctionnement des stratégies de sécurité de backend avec les origines Cloud CDN, une fois les requêtes autorisées par les règles de sécurité périphérique.

Utilisation des règles de sécurité de backend Google Cloud Armor avec Cloud CDN.
Règles de sécurité de backend Google Cloud Armor avec Cloud CDN (cliquez pour agrandir)

Pour plus d'informations sur Cloud CDN, consultez la documentation Cloud CDN.

Google Cloud Armor avec Cloud Run, App Engine ou Cloud Functions

Vous pouvez utiliser les stratégies de sécurité Google Cloud Armor avec un backend de NEG sans serveur qui pointe vers un service Cloud Run, App Engine ou Cloud Functions.

Toutefois, lorsque vous utilisez Google Cloud Armor avec des NEG sans serveur et Cloud Functions, vous devez prendre des mesures spéciales pour vous assurer que tous les accès au point de terminaison sans serveur sont filtrés via une stratégie de sécurité Google Cloud Armor.

Les utilisateurs disposant de l'URL par défaut d'un service Cloud Functions peuvent contourner l'équilibreur de charge et accéder directement à l'URL du service. Cela permet de contourner les règles de sécurité de Google Cloud Armor. Vous ne pouvez pas désactiver les URL que Google Cloud attribue automatiquement aux services Cloud Functions.

Pour vous assurer que vos contrôles d'accès sont appliqués à tout le trafic entrant, vous pouvez utiliser internal-and-gclb lorsque vous configurez Cloud Functions, qui n'autorise que le trafic interne. et le trafic envoyé à une adresse IP publique exposée par l'équilibreur de charge HTTP(S) externe global ou l'équilibreur de charge HTTP(S) externe global (classique). Le trafic envoyé à cloudfunctions.net ou à tout autre domaine personnalisé configuré via Cloud Functions est bloqué. Cela empêche les utilisateurs de contourner les contrôles d'accès (tels que les stratégies de sécurité Google Cloud Armor) configurés via l'équilibreur de charge HTTP(S) externe global ou l'équilibreur de charge HTTP(S) externe global (classique).

Pour en savoir plus sur les NEG sans serveur, consultez les pages Présentation des groupes de points de terminaison du réseau sans serveur et Configurer des NEG sans serveur.

Étapes suivantes