Présentation des règles d'autorisation

Une stratégie d'autorisation (AuthzPolicy) définit des règles spécifiant la source du trafic entrant et les opérations autorisées ou limitées pour cette source. De plus, la stratégie d'autorisation décrit les conditions dans lesquelles une règle s'applique et spécifie une action à effectuer pour autoriser, refuser ou évaluer davantage le trafic.

Les règles d'autorisation vous permettent d'établir des vérifications de contrôle des accès pour le trafic entrant vers les équilibreurs de charge d'application. Les requêtes qui réussissent ces vérifications sont acheminées vers les services de backend. Les requêtes qui échouent à ces vérifications se terminent par une réponse non autorisée.

Cette page présente les règles d'autorisation pour les équilibreurs de charge d'application suivants:

  • Équilibreurs de charge d'application externes globaux
  • Équilibreurs de charge d'application externes régionaux

  • Équilibreurs de charge d'application internes régionaux

  • Équilibreurs de charge d'application internes interrégionaux

Si vous souhaitez utiliser des règles d'autorisation pour les services déployés avec Cloud Service Mesh, consultez la section Configurer la sécurité du service avec Envoy.

Composants des règles de stratégie d'autorisation

Une stratégie d'autorisation est composée de différentes règles de stratégie d'autorisation. Une règle de stratégie d'autorisation définit les conditions qui déterminent si le trafic est autorisé à passer par l'équilibreur de charge ou non.

Une règle de stratégie d'autorisation se compose des composants suivants:

  • from: spécifie l'identité du client autorisé par la règle. L'identité peut être dérivée d'un certificat client dans une connexion TLS mutuelle, ou il peut s'agir de l'identité ambiante associée à la VM cliente, par exemple à partir d'un compte de service ou d'un tag sécurisé.
  • to: spécifie les opérations autorisées par la règle, telles que les URL auxquelles il est possible d'accéder ou les méthodes HTTP autorisées.
  • when: spécifie les contraintes supplémentaires à respecter. Vous pouvez utiliser des expressions CEL (Common Expression Language) pour définir les contraintes.

Actions des règles d'autorisation

Lors de l'évaluation d'une requête, une stratégie d'autorisation spécifie l'action à appliquer à la requête. Une action de règle d'autorisation se compose des valeurs suivantes:

  • ALLOW: accorde l'accès à la ressource demandée si la requête correspond aux règles définies dans la stratégie d'autorisation. La stratégie d'autorisation bloque l'accès à la ressource demandée si la requête ne correspond à aucune règle définie dans la stratégie d'autorisation. Une requête est refusée si elle ne correspond pas à une règle ALLOW, même si d'autres règles l'autorisent.

  • DENY: bloque l'accès à la ressource si une requête correspond à l'une des règles spécifiées dans une stratégie DENY. La stratégie d'autorisation accorde l'accès à la ressource demandée si la requête ne correspond à aucune règle définie dans la stratégie d'autorisation. Une requête est refusée si elle correspond à une règle DENY, même si d'autres règles l'autorisent.

  • CUSTOM: permet d'intégrer des systèmes d'autorisation externes pour les décisions d'autorisation complexes. Les actions CUSTOM sont utilisées pour les règles qui utilisent des extensions de service ou d'IAP pour les décisions d'autorisation.

Ordre d'évaluation des règles d'autorisation

Lorsque plusieurs règles d'autorisation sont associées à une seule ressource, elles sont évaluées dans l'ordre suivant pour déterminer si une requête est autorisée ou refusée.

  1. Règles avec des actions CUSTOM: si la règle CUSTOM refuse la requête, celle-ci est immédiatement rejetée. Les règles DENY ou ALLOW ne sont pas évaluées, même si elles sont configurées.

  2. Règles avec actions DENY: si des règles DENY correspondent à la requête, celle-ci est refusée. Aucune règle ALLOW n'est évaluée, même si certaines sont configurées.

  3. Règles avec des actions ALLOW: s'il n'existe aucune règle ALLOW ou si une règle ALLOW correspond à la requête, la requête est autorisée. Toutefois, si aucune règle ALLOW ne correspond à la requête, celle-ci est refusée.

Délégation des décisions d'autorisation

Pour les décisions d'autorisation complexes qui ne peuvent pas être exprimées à l'aide de la règle d'autorisation, déléguez la décision d'autorisation à des fournisseurs d'autorisation personnalisés, tels que le Identity-Aware Proxy (IAP), ou créez votre propre extension d'autorisation créée à l'aide des extensions de service. Cela est utile lorsque vous souhaitez utiliser votre moteur d'autorisation sur site ou des fournisseurs d'identité tiers via l'IAP.

  • IAP: configurez IAP pour contrôler l'accès aux applications derrière les règles de transfert de l'équilibreur de charge d'application. IAP vérifie l'identité et le contexte de l'utilisateur pour déterminer l'accès. Il peut également authentifier les jetons de compte de service IAM (Identity and Access Management) et évaluer les stratégies IAM, ce qui protège l'accès aux buckets backend exposés depuis l'équilibreur de charge d'application. Pour en savoir plus, consultez la section Déléguer l'autorisation à l'IAP et à IAM.

    Vous pouvez choisir de déléguer l'authentification à l'IAP et à IAM dans les cas suivants:

    • Utilisez IAM pour gérer les autorisations.
    • Implémentez l'accès contextuel.
    • Utilisez l'authentification basée sur le navigateur pour les applications Web qui nécessitent une authentification interactive.
  • Extensions de service: déléguez les décisions d'autorisation à votre moteur d'autorisation personnalisé exécuté sur des instances de VM Google Cloud ou sur site. Cela offre une flexibilité pour les règles d'autorisation complexes qui ne sont pas couvertes par les règles intégrées. Pour en savoir plus, consultez Configurer une extension d'autorisation.

Tarifs

Les règles d'autorisation ne sont pas facturées pendant la période de preview. Toutefois, des frais de mise en réseau vous sont facturés lorsque vous utilisez des équilibreurs de charge Google Cloud . Pour en savoir plus sur la tarification, consultez la section Tarifs.

Étape suivante