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 ( |
Champs | |
---|---|
name |
Obligatoire. Nom de la ressource AuthorizationPolicy. Il correspond au modèle |
description |
Facultatif. Description en texte libre 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 : |
labels |
Facultatif. Ensemble de tags d'étiquettes associés à la ressource AuthorizationPolicy. Objet contenant une liste de paires |
action |
Obligatoire. Action à effectuer lorsqu'une correspondance de règle est trouvée. Les valeurs possibles sont "ALLOW" ou "DENY". |
rules[] |
Facultatif. Liste des règles à faire correspondre. 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 considérée comme une correspondance s'il existe une source et une destination correspondantes. Si vous ne renseignez pas ce champ, l'action spécifiée dans le champ |
internalCaller |
Facultatif. Indicateur défini pour identifier les contrôleurs internes. Ce paramètre déclenche une vérification P4SA pour vérifier que l'appelant provient du P4SA d'un service figurant sur la liste d'autorisation, même si d'autres champs facultatifs ne sont pas définis. |
Action
Valeurs possibles qui définissent l'action à effectuer.
Enums | |
---|---|
ACTION_UNSPECIFIED |
Valeur par défaut. |
ALLOW |
Accordez l'accès. |
DENY |
Refusez l'accès. Les règles de refus doivent être évitées, sauf si elles sont utilisées pour fournir une règle de remplacement par défaut "Tout refuser". |
Règle
Spécification des règles.
Représentation JSON |
---|
{ "sources": [ { object ( |
Champs | |
---|---|
sources[] |
Facultatif. Liste des attributs pour la source de trafic. Toutes les sources doivent correspondre. Une source est une correspondance si les comptes principaux et ipBlocks correspondent. Si cette règle n'est pas configurée, l'action spécifiée dans le champ "action" est appliquée sans vérification de la règle pour la source. |
destinations[] |
Facultatif. Liste des attributs pour la destination du trafic. Toutes les destinations doivent correspondre. Une destination est une correspondance si une requête correspond à tous les hôtes, ports, méthodes et en-têtes spécifiés. Si cette règle n'est pas configurée, l'action spécifiée dans le champ "action" est appliquée sans qu'aucune règle ne soit vérifiée pour la destination. |
Source
Spécification des attributs de la source de trafic.
Représentation JSON |
---|
{ "principals": [ string ], "ipBlocks": [ string ] } |
Champs | |
---|---|
principals[] |
Facultatif. Liste des identités homologues à faire correspondre 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 de certificat (configurée par la ressource ServerTlsPolicy) est considérée comme non sécurisée. |
ipBlocks[] |
Facultatif. Liste des plages CIDR à mettre en correspondance en fonction de l'adresse IP source. Au moins un bloc d'adresses IP doit correspondre. Adresse IP unique (par exemple, "1.2.3.4") et CIDR (par exemple, "1.2.3.0/24") sont prises en charge. Une autorisation basée uniquement sur l'adresse IP source doit être évitée. Les adresses IP de tout équilibreur de charge ou proxy doivent être considérées comme non approuvées. |
Destination
Spécification des attributs de destination du trafic.
Représentation JSON |
---|
{
"hosts": [
string
],
"ports": [
integer
],
"paths": [
string
],
"methods": [
string
],
"httpHeaderMatch": {
object ( |
Champs | |
---|---|
hosts[] |
Obligatoire. Liste des noms d'hôte à mettre en correspondance. Correspondance avec 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, "mondomaine.*"), une correspondance de suffixe (exemple : "*.monorg.com") ou une correspondance de présence (n'importe lequel) "*". |
ports[] |
Obligatoire. Liste des ports de destination à mettre en correspondance. Au moins un port doit correspondre. |
paths[] |
Facultatif. Liste des chemins HTTP à mettre en correspondance. Les méthodes gRPC doivent être présentées sous la forme d'un 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 (exemple, "*/video") ou une correspondance de présence (n'importe lequel) "*". |
methods[] |
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 |
Facultatif. Établir une correspondance avec la 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 s'il existe une forte garantie que les requêtes arrivent via un client ou un proxy de confiance. |
HttpHeaderMatch
Spécification des attributs de correspondance des en-têtes HTTP.
Représentation JSON |
---|
{ "headerName": string, // Union field |
Champs | |
---|---|
headerName |
Obligatoire. Nom de l'en-tête HTTP à mettre en correspondance. Pour la mise en correspondance avec l'autorité de la requête HTTP, utilisez une correspondance d'en-tête (headerMatch) avec le nom d'en-tête ":authority". Pour faire correspondre la méthode d'une requête, utilisez l'en-tête headerName ":method". |
Champ d'union
|
|
regexMatch |
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 la page en.cppreference.com/w/cpp/regex/ecmascript. Pour établir une correspondance avec un port spécifié dans la requête HTTP, utilisez une correspondance d'en-tête ("headerMatch") dont la valeur "HostName" est définie sur "Host" et une expression régulière conforme au spécificateur de port de l'en-tête Host RFC2616. |
Méthodes |
|
---|---|
|
Crée une stratégie AuthorizationPolicy dans un projet et un emplacement donnés. |
|
Supprime une seule stratégie AuthorizationPolicy. |
|
Récupère les détails d'une stratégie AuthorizationPolicy unique. |
|
Récupère la stratégie de contrôle d'accès d'une ressource. |
|
Répertorie les stratégies d'autorisation dans un projet et un emplacement donnés. |
|
Met à jour les paramètres d'une seule stratégie AuthorizationPolicy. |
|
Définit la stratégie de contrôle d'accès de la ressource spécifiée. |
|
Renvoie les autorisations qu'un appelant a sur la ressource spécifiée. |