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ègleALLOW
, 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égieDENY
. 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ègleDENY
, 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 actionsCUSTOM
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.
Règles avec des actions
CUSTOM
: si la règleCUSTOM
refuse la requête, celle-ci est immédiatement rejetée. Les règlesDENY
ouALLOW
ne sont pas évaluées, même si elles sont configurées.Règles avec actions
DENY
: si des règlesDENY
correspondent à la requête, celle-ci est refusée. Aucune règleALLOW
n'est évaluée, même si certaines sont configurées.Règles avec des actions
ALLOW
: s'il n'existe aucune règleALLOW
ou si une règleALLOW
correspond à la requête, la requête est autorisée. Toutefois, si aucune règleALLOW
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.