REST Resource: projects.locations.authorizationPolicies

Ressource : AuthorizationPolicy

AuthorizationPolicy est une ressource qui spécifie la manière dont un serveur doit autoriser les connexions entrantes. Cette ressource en elle-même ne modifie pas la configuration, sauf si elle est associée à un proxy HTTPS cible ou à une ressource de sélecteur de configuration de point de terminaison.

Représentation JSON
{
  "name": string,
  "description": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "action": enum (Action),
  "rules": [
    {
      object (Rule)
    }
  ]
}
Champs
name

string

Obligatoire. Nom de la ressource AuthorizationPolicy. Il correspond au schéma projects/{project}/locations/{location}/authorizationPolicies/<authorizationPolicy>.

description

string

Facultatif. Description en texte libre de la ressource.

createTime

string (Timestamp format)

Uniquement en sortie. Code temporel de la création de la ressource.

Utilise la norme RFC 3339, où le résultat généré se sert toujours du format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Uniquement en sortie. Code temporel de la mise à jour de la ressource.

Utilise la norme RFC 3339, où le résultat généré se sert toujours du format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

labels

map (key: string, value: string)

Facultatif. Ensemble de tags d'étiquette associés à la ressource AuthorizationPolicy.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

action

enum (Action)

Obligatoire. Action à effectuer lorsqu'une correspondance de règle est trouvée. Les valeurs possibles sont "ALLOW" ou "DENY".

rules[]

object (Rule)

Facultatif. Liste des règles à mettre en correspondance. Notez qu'au moins une des règles doit correspondre pour que l'action spécifiée dans le champ "action" soit effectuée. Une règle est satisfaite si la source et la destination correspondent. Si vous ne renseignez pas ce champ, l'action spécifiée dans le champ action sera appliquée à chaque requête.

Action

Valeurs possibles qui définissent l'action à effectuer.

Enums
ACTION_UNSPECIFIED Valeur par défaut.
ALLOW Accordez l'accès.
DENY Refuser l'accès. Les règles de refus doivent être évitées, sauf si elles sont utilisées pour fournir une solution de secours par défaut "Tout refuser".

Règle

Spécification des règles.

Représentation JSON
{
  "sources": [
    {
      object (Source)
    }
  ],
  "destinations": [
    {
      object (Destination)
    }
  ]
}
Champs
sources[]

object (Source)

Facultatif. Liste des attributs de la source de trafic. Toutes les sources doivent correspondre. Une source est considérée comme correspondante si les comptes principaux et les blocs d'adresses IP correspondent. Si ce champ n'est pas défini, l'action spécifiée dans le champ "action" sera appliquée sans aucune vérification de règle pour la source.

destinations[]

object (Destination)

Facultatif. Liste des attributs de la destination du trafic. Toutes les destinations doivent correspondre. Une destination est considérée comme correspondante si une requête correspond à tous les hôtes, ports, méthodes et en-têtes spécifiés. Si ce champ n'est pas défini, l'action spécifiée dans le champ "action" sera appliquée sans aucune vérification de règle pour la destination.

Source

Spécification des attributs de la source de trafic.

Représentation JSON
{
  "principals": [
    string
  ],
  "ipBlocks": [
    string
  ]
}
Champs
principals[]

string

Facultatif. Liste des identités de pairs à mettre en correspondance pour l'autorisation. Au moins un compte principal doit correspondre. Chaque pair peut être une correspondance exacte, une correspondance de préfixe (par exemple, "namespace/*"), une correspondance de suffixe (par exemple, "*/service-account") ou une correspondance de présence "*". L'autorisation basée sur le nom du compte principal sans validation du certificat (configurée par la ressource ServerTlsPolicy) est considérée comme non sécurisée.

ipBlocks[]

string

Facultatif. Liste des plages CIDR à mettre en correspondance en fonction de l'adresse IP source. Au moins un bloc d'adresses IP doit correspondre. Les adresses IP uniques (par exemple, "1.2.3.4") et les blocs CIDR (par exemple, "1.2.3.0/24") sont acceptés. Évitez d'utiliser l'autorisation basée uniquement sur l'adresse IP source. Les adresses IP des équilibreurs de charge ou des proxys doivent être considérées comme non fiables.

Destination

Spécification des attributs de destination du trafic.

Représentation JSON
{
  "hosts": [
    string
  ],
  "ports": [
    integer
  ],
  "paths": [
    string
  ],
  "methods": [
    string
  ],
  "httpHeaderMatch": {
    object (HttpHeaderMatch)
  }
}
Champs
hosts[]

string

Obligatoire. Liste des noms d'hôte à mettre en correspondance. Correspond à l'en-tête ":authority" dans les requêtes HTTP. Au moins un hôte doit correspondre. Chaque hôte peut être une correspondance exacte, une correspondance de préfixe (par exemple, "mydomain.*"), une correspondance de suffixe (par exemple, "*.myorg.com") ou une correspondance de présence (n'importe laquelle) "*".

ports[]

integer (uint32 format)

Obligatoire. Liste des ports de destination à mettre en correspondance. Au moins un port doit correspondre.

paths[]

string

Facultatif. Liste des chemins HTTP à mettre en correspondance. Les méthodes gRPC doivent être présentées sous forme de nom complet au format "/packageName.serviceName/methodName". Au moins un chemin d'accès doit correspondre. Chaque chemin d'accès peut être une correspondance exacte, une correspondance de préfixe (par exemple, "/packageName.serviceName/*"), une correspondance de suffixe (par exemple, "*/video") ou une correspondance de présence (n'importe laquelle) "*".

methods[]

string

Facultatif. Liste des méthodes HTTP à mettre en correspondance. Au moins une méthode doit correspondre. Ne doit pas être défini pour les services gRPC.

httpHeaderMatch

object (HttpHeaderMatch)

Facultatif. Correspondance avec une paire clé:valeur dans l'en-tête HTTP. Fournit une correspondance flexible basée sur les en-têtes HTTP, pour des cas d'utilisation potentiellement avancés. Au moins un en-tête doit correspondre. Évitez d'utiliser des correspondances d'en-tête pour prendre des décisions d'autorisation, sauf si vous avez la garantie que les requêtes arrivent via un client ou un proxy de confiance.

HttpHeaderMatch

Spécification des attributs de correspondance d'en-tête HTTP.

Représentation JSON
{
  "headerName": string,

  // Union field type can be only one of the following:
  "regexMatch": string
  // End of list of possible types for union field type.
}
Champs
headerName

string

Obligatoire. Nom de l'en-tête HTTP à mettre en correspondance. Pour effectuer une correspondance avec l'autorité de la requête HTTP, utilisez un headerMatch avec le nom d'en-tête ":authority". Pour faire correspondre la méthode d'une requête, utilisez le headerName ":method".

Champ d'union type.

type ne peut être qu'un des éléments suivants :

regexMatch

string

Obligatoire. La valeur de l'en-tête doit correspondre à l'expression régulière spécifiée dans regexMatch. Pour en savoir plus sur la grammaire des expressions régulières, consultez en.cppreference.com/w/cpp/regex/ecmascript. Pour la mise en correspondance avec un port spécifié dans la requête HTTP, utilisez un headerMatch avec headerName défini sur Host et une expression régulière qui satisfait au spécificateur de port de l'en-tête Host RFC2616.

Méthodes

create

Crée une ressource AuthorizationPolicy dans un projet et un emplacement donnés.

delete

Supprime une seule ressource AuthorizationPolicy.

get

Récupère les détails d'une seule ressource AuthorizationPolicy.

list

Liste les ressources AuthorizationPolicies d'un projet et d'un emplacement donnés.

patch

Met à jour les paramètres d'une seule ressource AuthorizationPolicy.