- Ressource: AuthzPolicy
- Cible
- LoadBalancingScheme
- AuthzRule
- De
- RequestSource
- StringMatch
- RequestResource
- TagValueIdSet
- À
- RequestOperation
- HeaderSet
- HeaderMatch
- AuthzAction
- CustomProvider
- CloudIap
- AuthzExtension
- Méthodes
Ressource: AuthzPolicy
AuthzPolicy
est une ressource qui permet de transférer le trafic vers un backend de rappel conçu pour analyser le trafic à des fins de sécurité.
Représentation JSON |
---|
{ "name": string, "createTime": string, "updateTime": string, "description": string, "labels": { string: string, ... }, "target": { object ( |
Champs | |
---|---|
name |
Obligatoire. Identifiant. Nom de la ressource |
createTime |
Uniquement en sortie. Code temporel de la création de la ressource. Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : |
updateTime |
Uniquement en sortie. Code temporel de la mise à jour de la ressource. Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : |
description |
Facultatif. Description lisible de la ressource. |
labels |
Facultatif. Ensemble d'étiquettes associées à la ressource Le format doit respecter les exigences suivantes. Objet contenant une liste de paires |
target |
Obligatoire. Indique l'ensemble de ressources auquel cette règle doit s'appliquer. |
httpRules[] |
Facultatif. Liste des règles HTTP d'autorisation à faire correspondre à la requête entrante. Une correspondance de règle se produit lorsqu'au moins une règle HTTP correspond à la requête ou lorsqu'aucune règle HTTP n'est spécifiée dans la règle. Vous devez ajouter au moins une règle HTTP pour l'action "Allow" (Autoriser) ou "Deny" (Refuser). Limité à cinq règles. |
action |
Obligatoire. Peut être l'un des éléments suivants : Lorsque l'action est Lorsque l'action est Lorsque l'action est Lorsqu'une requête arrive, les règles sont évaluées dans l'ordre suivant:
|
customProvider |
Facultatif. Obligatoire si l'action est |
Cible
Indique l'ensemble de cibles auquel cette règle doit s'appliquer.
Représentation JSON |
---|
{
"loadBalancingScheme": enum ( |
Champs | |
---|---|
loadBalancingScheme |
Obligatoire. Toutes les passerelles et règles de transfert référencées par cette stratégie et ses extensions doivent partager le même schéma d'équilibrage de charge. Valeurs acceptées : |
resources[] |
Obligatoire. Liste des références aux règles de transfert auxquelles cette règle s'appliquera. |
LoadBalancingScheme
Schémas d'équilibrage de charge compatibles avec la ressource AuthzPolicy
. Les valeurs valides sont INTERNAL_MANAGED
et EXTERNAL_MANAGED
. Pour en savoir plus, consultez la section Présentation des services de backend.
Enums | |
---|---|
LOAD_BALANCING_SCHEME_UNSPECIFIED |
Valeur par défaut. Ne l'utilisez pas. |
INTERNAL_MANAGED |
Indique qu'il s'agit d'un équilibreur de charge d'application interne régional ou interrégional. |
EXTERNAL_MANAGED |
Indique qu'il s'agit d'un équilibreur de charge d'application externe global ou régional. |
INTERNAL_SELF_MANAGED |
Indique qu'il s'agit d'un élément utilisé pour Cloud Service Mesh. Destiné uniquement au contrôleur GKE CSM. |
AuthzRule
Conditions à mettre en correspondance avec la requête entrante.
Représentation JSON |
---|
{ "from": { object ( |
Champs | |
---|---|
from |
Facultatif. Décrit les propriétés d'une ou de plusieurs sources d'une requête. |
to |
Facultatif. Décrit les propriétés d'une ou de plusieurs cibles d'une requête. |
when |
Facultatif. Expression CEL décrivant les conditions à remplir pour l'action. Le résultat de l'expression CEL est associé à la valeur "de" et à la valeur "à". Pour obtenir la liste des attributs disponibles, consultez la documentation de référence sur le langage CEL. |
De
Décrit les propriétés d'une ou de plusieurs sources d'une requête.
Représentation JSON |
---|
{ "sources": [ { object ( |
Champs | |
---|---|
sources[] |
Facultatif. Décrit les propriétés des sources d'une requête. Vous devez spécifier au moins l'un des éléments sources ou notSources. Limité à cinq sources. Une correspondance se produit lorsqu'UNE source (dans "sources" ou "notSources") correspond à la requête. Dans une même source, la correspondance suit la sémantique AND entre les champs et la sémantique OU dans un même champ. Autrement dit, une correspondance se produit lorsque TOUT principal correspond ET que TOUTS les ipBlocks correspondent. |
notSources[] |
Facultatif. Décrit les propriétés négatives des sources de requêtes. Correspond aux requêtes provenant de sources qui ne répondent pas aux critères spécifiés dans ce champ. Vous devez spécifier au moins l'un des éléments sources ou notSources. |
RequestSource
Décrit les propriétés d'une seule source.
Représentation JSON |
---|
{ "principals": [ { object ( |
Champs | |
---|---|
principals[] |
Facultatif. Liste des identités dérivées du certificat du client. Ce champ ne correspond pas à une requête, sauf si le protocole TLS mutuel est activé pour la règle de transfert ou la passerelle. Chaque identité est une chaîne dont la valeur est mise en correspondance avec l'URI SAN, le DNS SAN ou le champ d'objet du certificat du client. La correspondance peut être exacte, avec un préfixe, un suffixe ou une sous-chaîne. Vous devez spécifier l'une des valeurs "exact", "préfixe", "suffixe" ou "contient". Limité à cinq principals. |
resources[] |
Facultatif. Liste des ressources à mettre en correspondance avec la ressource de la VM source d'une requête. Limité à cinq ressources. |
StringMatch
Détermine la façon dont une valeur de chaîne doit être mise en correspondance.
Représentation JSON |
---|
{ "ignoreCase": boolean, // Union field |
Champs | |
---|---|
ignoreCase |
Si la valeur est définie sur "true", la correspondance exacte/avec préfixe/avec suffixe/contenant doit être non sensible à la casse. Par exemple, le Matcher |
Champ d'union
|
|
exact |
La chaîne d'entrée doit correspondre exactement à la chaîne spécifiée ici. Exemples :
|
prefix |
La chaîne d'entrée doit comporter le préfixe spécifié ici. Remarque: Les préfixes vides ne sont pas autorisés. Veuillez utiliser une expression régulière à la place. Exemples :
|
suffix |
La chaîne d'entrée doit comporter le suffixe spécifié ici. Remarque: Les préfixes vides ne sont pas autorisés. Veuillez utiliser une expression régulière à la place. Exemples :
|
contains |
La sous-chaîne doit être spécifiée ici dans la chaîne d'entrée. Remarque: La correspondance "contient" vide n'est pas autorisée. Veuillez utiliser une expression régulière à la place. Exemples :
|
RequestResource
Décrit les propriétés d'une ressource de VM cliente accédant aux équilibreurs de charge d'application internes.
Représentation JSON |
---|
{ "tagValueIdSet": { object ( |
Champs | |
---|---|
tagValueIdSet |
Facultatif. Liste des ID permanents de la valeur de tag de ressource à faire correspondre à la valeur des tags Resource Manager associés à la VM source d'une requête. |
iamServiceAccount |
Facultatif. Un compte de service IAM à faire correspondre au compte de service source de la VM qui envoie la requête. |
TagValueIdSet
Décrit un ensemble d'ID permanents de valeur de tag de ressource à faire correspondre à la valeur des tags Resource Manager associée à la VM source d'une requête.
Représentation JSON |
---|
{ "ids": [ string ] } |
Champs | |
---|---|
ids[] |
Obligatoire. Liste des ID permanents de la valeur de tag de ressource à faire correspondre à la valeur des tags Resource Manager associés à la VM source d'une requête. La correspondance suit la sémantique AND, ce qui signifie que tous les ID doivent correspondre. Limité à cinq correspondances. |
À
Décrit les propriétés d'une ou de plusieurs cibles d'une requête.
Représentation JSON |
---|
{ "operations": [ { object ( |
Champs | |
---|---|
operations[] |
Facultatif. Décrit les propriétés d'une ou de plusieurs cibles d'une requête. Vous devez spécifier au moins l'un des éléments "operations" ou "notOperations". Limité à cinq opérations. Une correspondance se produit lorsqu'UNE opération (dans "operations" ou "notOperations") correspond. Dans une opération, la correspondance suit la sémantique AND entre les champs et la sémantique OR dans un champ, c'est-à-dire qu'une correspondance se produit lorsqu'UN chemin d'accès correspond ET qu'UN en-tête correspond ET qu'UNE méthode correspond. |
notOperations[] |
Facultatif. Décrit les propriétés négatives des cibles d'une requête. Correspond aux requêtes d'opérations qui ne correspondent pas aux critères spécifiés dans ce champ. Vous devez spécifier au moins l'un des éléments "operations" ou "notOperations". |
RequestOperation
Décrit les propriétés d'une ou de plusieurs cibles d'une requête.
Représentation JSON |
---|
{ "headerSet": { object ( |
Champs | |
---|---|
headerSet |
Facultatif. Liste des en-têtes à faire correspondre dans l'en-tête HTTP. |
hosts[] |
Facultatif. Liste des hôtes HTTP à faire correspondre. La correspondance peut être exacte, avec un préfixe, un suffixe ou une sous-chaîne. Les correspondances sont toujours sensibles à la casse, sauf si ignoreCase est défini. Limité à cinq correspondances. |
paths[] |
Facultatif. Liste des chemins d'accès à faire correspondre. La correspondance peut être exacte, avec un préfixe, un suffixe ou une sous-chaîne. Les correspondances sont toujours sensibles à la casse, sauf si ignoreCase est défini. Limité à cinq correspondances. Notez que cette correspondance de chemin d'accès inclut les paramètres de requête. Pour les services gRPC, il doit s'agir d'un nom complet au format /package.service/method. |
methods[] |
Facultatif. Liste des méthodes HTTP à mettre en correspondance. Chaque entrée doit être un nom de méthode HTTP valide (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). Elle n'autorise que les correspondances exactes et est toujours sensible à la casse. |
HeaderSet
Décrit un ensemble d'en-têtes HTTP à mettre en correspondance.
Représentation JSON |
---|
{
"headers": [
{
object ( |
Champs | |
---|---|
headers[] |
Obligatoire. Liste des en-têtes à faire correspondre dans l'en-tête HTTP. La correspondance peut être exacte, avec un préfixe, un suffixe ou une sous-chaîne. La correspondance suit la sémantique AND, ce qui signifie que tous les en-têtes doivent correspondre. Les correspondances sont toujours sensibles à la casse, sauf si ignoreCase est défini. Limité à cinq correspondances. |
HeaderMatch
Détermine comment un en-tête HTTP doit être mis en correspondance.
Représentation JSON |
---|
{
"name": string,
"value": {
object ( |
Champs | |
---|---|
name |
Facultatif. Spécifie le nom de l'en-tête dans la requête. |
value |
Facultatif. Indique comment la correspondance d'en-tête sera effectuée. |
AuthzAction
Action à appliquer à cette règle. Les valeurs possibles sont ALLOW
, DENY
et CUSTOM
.
Enums | |
---|---|
AUTHZ_ACTION_UNSPECIFIED |
Action non spécifiée. |
ALLOW |
Autorisez la requête à être transmise au backend. |
DENY |
Refuser la requête et renvoyer un code HTTP 404 au client. |
CUSTOM |
Délégation de la décision d'autorisation à un moteur d'autorisation externe. |
CustomProvider
Permet de déléguer les décisions d'autorisation à Cloud IAP ou à Service Extensions.
Représentation JSON |
---|
{ "cloudIap": { object ( |
Champs | |
---|---|
cloudIap |
Facultatif. Délègue les décisions d'autorisation à Cloud IAP. Applicable uniquement aux équilibreurs de charge gérés. L'activation de Cloud IAP au niveau d'AuthzPolicy n'est pas compatible avec les paramètres Cloud IAP dans BackendService. Si vous activez l'IAP dans les deux emplacements, la requête échouera. Assurez-vous que l'IAP est activé dans AuthzPolicy ou BackendService, mais pas dans les deux. |
authzExtension |
Facultatif. Délégation de la décision d'autorisation à une extension de service créée par l'utilisateur. Vous ne pouvez spécifier qu'un seul des éléments cloudIap ou authzExtension. |
CloudIap
Ce type ne comporte aucun champ.
Facultatif. Délègue les décisions d'autorisation à Cloud IAP. Applicable uniquement aux équilibreurs de charge gérés. L'activation de Cloud IAP au niveau d'AuthzPolicy n'est pas compatible avec les paramètres Cloud IAP dans BackendService. Si vous activez l'IAP dans les deux emplacements, la requête échouera. Assurez-vous que l'IAP est activé dans AuthzPolicy ou BackendService, mais pas dans les deux.
AuthzExtension
Facultatif. Délégation de la décision d'autorisation à une extension créée par l'utilisateur. Vous ne pouvez spécifier qu'un seul des éléments cloudIap ou authzExtension.
Représentation JSON |
---|
{ "resources": [ string ] } |
Champs | |
---|---|
resources[] |
Obligatoire. Liste des références aux extensions d'autorisation qui seront appelées pour les requêtes correspondant à cette stratégie. Limité à un fournisseur personnalisé. |
Méthodes |
|
---|---|
|
Créer une ressource AuthzPolicy dans un projet et un emplacement donnés. |
|
Supprime un seul objet AuthzPolicy. |
|
Récupère les détails d'un seul objet AuthzPolicy. |
|
Répertorie les AuthzPolicies d'un projet et d'un emplacement donnés. |
|
Mettre à jour les paramètres d'un seul objet AuthzPolicy. |