Utilisez des modèles glob pour définir des applications privées dont les noms d’hôte suivent une convention de nommage prévisible mais contiennent des valeurs changeantes. Les modèles glob sont utiles pour les environnements dynamiques dans lesquels les charges de travail sont créées, renommées ou remplacées fréquemment, tels qu’AWS ECS, Kubernetes et les services cloud multirégionaux.
Par exemple, au lieu d'ajouter chaque nom d'hôte de tâche ECS séparément, définissez l'hôte comme task-*.ecs.internal.
Les modèles glob offrent une correspondance plus précise qu'un caractère générique de début large tel que *.internal. Cela peut réduire le travail administratif et empêcher les hôtes non liés d'être dirigés via Netskope Private Access.
* dans un motif glob correspond à des caractères au sein d'une seule étiquette DNS. Lorsqu'il est utilisé comme une étiquette complète, il correspond exactement à une étiquette. Ce comportement est temporaire : à partir de la version R142, * peut correspondre à plusieurs étiquettes DNS, comme dans les motifs glob PAC. Examinez Behavior by release avant d'utiliser un motif en production ou de passer à la version R142.Méthodes d'accès prises en charge
| Méthode d'accès | Modèles glob |
|---|---|
| Accès basé sur Netskope Client | Pris en charge avec une version de client éligible |
| Netskope Enterprise Browser | Pris en charge avec une version éligible d'Enterprise Browser |
| Accès via navigateur NPA (sans client) | Non pris en charge |
| Applications du portail utilisateur | Non pris en charge |
Les motifs glob s'appliquent aux noms d'hôtes DNS. Ils ne s'appliquent pas aux adresses IP ou aux définitions CIDR.
Glob syntax
Les modèles Glob prennent en charge ces métacaractères :
| Character | Meaning | Exemple |
|---|---|---|
* | | * | Correspond à une séquence variable de caractères. Dans la version R141, elle ne peut pas franchir un point (.) ; lorsqu’elle est utilisée comme étiquette complète, elle correspond exactement à une étiquette DNS. À partir de la version R142, elle peut franchir les points et correspondre à plusieurs étiquettes DNS, comme dans les modèles glob PAC. | task-*.ecs.internal, db.*.corp | | task-*.ecs.internal, db.*.corp |
? | Correspond exactement à un caractère autre qu'un point (.). | k8s-node?.prod.corp |
Une étiquette DNS est une partie d'un nom d'hôte séparée par des points. Par exemple, db.us-west-2.corp contient trois étiquettes : db, us-west-2 et corp.
Tous les autres caractères de nom d'hôte pris en charge sont mis en correspondance littéralement. La correspondance ne tient pas compte de la casse.
L’étiquette finale, située le plus à droite, doit être littérale. Ne placez pas * ou ? dans l’étiquette finale. Par exemple, task-*.internal est valide, mais task.internal* ne l’est pas.
Caractères génériques de début existants
Un hôte au format *.domain existant reste un caractère générique de début, et non un modèle glob. Son comportement ne change pas. Un caractère générique de début continue de correspondre aux sous-domaines à n'importe quelle profondeur.
Par exemple, *.example.internal correspond aux deux :
app.example.internalapp.eu.example.internal
Utilisez un modèle glob lorsque des caractères variables apparaissent dans une autre position ou lorsque ? est requis.
Comportement par version
La version R141 comporte une restriction temporaire à étiquette unique pour * dans les motifs glob. À partir de la version R142, * peut s'étendre sur plusieurs étiquettes, comme dans les motifs glob PAC.
| Pattern | Hostname | R141 | R142 et versions ultérieures |
|---|---|---|---|
db.*.corp | db.us-west-2.corp | Correspondances | Correspondances |
db.*.corp | db.us-west-2.rds.corp | Ne correspond pas | Correspondances |
db.*.corp | db.corp | Ne correspond pas | Ne correspond pas |
Dans la version R141, * dans db.*.corp correspond exactement à une étiquette entre db. et .corp. À partir de la version R142, elle peut correspondre à plusieurs étiquettes à cette position. Les points littéraux du motif doivent toujours correspondre, de sorte que db.corp ne correspond dans aucune des versions.
Veuillez examiner les modèles R141 existants avant de passer à la version R142. Un modèle qui correspondait auparavant à une étiquette peut correspondre à des noms d’hôte supplémentaires et plus profonds après la mise à niveau.
Si cette correspondance plus large n'est pas voulue, remplacez la partie variable par un texte plus littéral ou utilisez ? lorsque la partie modifiable a une longueur de caractères connue. À partir de la version R142, il n'existe aucun opérateur qui correspond à un nombre arbitraire de caractères tout en s'arrêtant au point suivant.
Avant de commencer
- Demandez à votre représentant Netskope d'activer la fonctionnalité en version bêta contrôlée pour votre locataire.
- Confirmez que les terminaux utilisent une version de Netskope Client ou d'Enterprise Browser qui prend en charge les modèles glob.
- Identifiez les parties fixes et variables des noms d'hôte de l'application.
- Testez le motif par rapport aux noms d'hôtes qui doivent correspondre et aux noms d'hôtes qui ne doivent pas correspondre.
- Évitez les suffixes DNS publics ou partagés lorsqu’un espace de noms privé dédié est disponible.
Créer une application privée avec un modèle glob
- Allez sur Settings > Security Cloud Platform > App Definition.
- Select Private App Segments.
- Select New Application Segment ou modifiez un segment d'application existant.
- Saisissez un nom d'application.
- Dans Host, saisissez le modèle glob, tel que
task-*.ecs.internal. - Ajoutez les ports TCP ou UDP requis.
- Select un ou plusieurs éditeurs.
- Configurez les paramètres d'application restants.
- Select Save.
- Examinez la fenêtre de confirmation, puis sélectionnez Confirm.
Laissez le temps à l'intervalle de distribution de politique normal pour que la définition mise à jour atteigne les terminaux.
Règles de validation
Un hôte à motif glob doit répondre à toutes ces exigences :
- Incluez au moins un point (
.). Les motifs à étiquette unique tels quehost*sont rejetés lors de la validation. - Incluez au moins une lettre, un chiffre ou un trait d'union littéral.
- N'utilisez pas plus de trois caractères
*. - N’utilisez pas plus de dix caractères
?. - Utilisez une étiquette finale littérale ;
*et?ne sont pas autorisés dans l'étiquette la plus à droite. - N'utilisez pas d'astérisques adjacents (
**). - N'utilisez pas de caractères glob dans une valeur de type adresse IP, telle que
10.*.1.50. - Utilisez uniquement les caractères de nom d'hôte DNS pris en charge.
Exemples :
| Input | Result | Raison |
|---|---|---|
task-*.ecs.internal | Accepted | Modèle glob valide |
k8s-node?.prod.corp | Accepted | ? représente un caractère |
host* | Rejeté dans la version R141 et les versions ultérieures | Le modèle ne contient pas de point |
*.* | Rejected | Le modèle ne contient aucun caractère littéral |
a*b*c*d*.internal | Rejected | Plus de trois caractères * |
*.int?rnal | Rejected | Un métacaractère apparaît dans le label final |
abc**.internal | Rejected | Les astérisques adjacents ne sont pas pris en charge |
10.*.1.50 | Rejected | Les modèles glob ne s'appliquent pas aux adresses IP |
Les restrictions au niveau du locataire pour les domaines de premier niveau et les suffixes DNS publics continuent de s'appliquer.
Priorité de correspondance
Lorsqu'une même destination peut correspondre à plusieurs définitions d'applications privées, NPA évalue les définitions de noms d'hôte dans l'ordre suivant :
- FQDN exact
- Modèle glob
- Caractère générique de début existant
- Règle par défaut
Par exemple, si app.prod.internal est configuré comme un FQDN exact et correspond également à app.*.internal, la définition du FQDN exact est prioritaire.
NPA peut afficher un avertissement non bloquant lorsqu'un nouveau modèle chevauche un modèle glob ou un caractère générique existant. Résolvez les chevauchements dans la mesure du possible. Si des modèles qui se chevauchent sont conservés, le trafic pourrait être associé à une application privée différente de celle prévue.
Limites
- Les modèles glob ne sont pas pris en charge pour les applications NPA Browser Access ou User Portal.
- Les modèles glob ne s'appliquent pas aux adresses IPv4, aux adresses IPv6 ou aux plages CIDR.
- L'étiquette finale du nom d'hôte doit être littérale.
- Les expressions régulières complètes et les classes de caractères telles que
[a-z]ne sont pas prises en charge. - Les astérisques adjacents (
**) ne sont pas pris en charge. - L'accès basé sur le client avec des motifs glob nécessite Netskope Client R141 ou une version ultérieure.
- Dans la version R141,
*dans un motif glob ne peut pas traverser un point. Cette restriction temporaire change dans la version R142, lorsque*peut correspondre à plusieurs étiquettes DNS. - Si la fonctionnalité en version bêta contrôlée est désactivée après la création de motifs, ces motifs n'effectuent plus de correspondance glob.
Dépanner l'accès par modèle glob
Si un nom d’hôte ne correspond pas ou si le trafic n’est pas piloté :
- Confirmez que la fonctionnalité est activée pour le locataire.
- Veuillez vous assurer que le point de terminaison utilise Netskope Client R141 ou une version ultérieure, ou une version prise en charge d’Enterprise Browser.
- Confirmez que l'application utilise l'accès basé sur le client ou Enterprise Browser, et non l'accès par navigateur (Browser Access).
- Comparez le nom d'hôte avec le motif complet, y compris tous les caractères littéraux et les points.
- Confirmez que chaque
?correspond exactement à un caractère autre qu'un point. - Pour la version R141, veuillez confirmer que
*dans un modèle glob ne doit pas franchir un point. Lorsqu’elle est utilisée comme étiquette complète, elle correspond exactement à une étiquette. À partir de la version R142, veuillez tenir compte de la correspondance de*sur plusieurs étiquettes. - Examinez les avertissements de chevauchement de motifs et vérifiez s'il existe une définition FQDN exacte de priorité supérieure.
- Confirmez que l'éditeur peut résoudre le nom d'hôte en utilisant l'environnement DNS privé.
- Laissez s'écouler l'intervalle normal de distribution des politiques après avoir modifié la définition de l'application.
Cas d'utilisation courants
Tâches AWS ECS dynamiques
Utilisez une définition pour les noms d'hôtes de tâche avec des identifiants de tâche changeants :
task-*.ecs.internal
Exemples correspondants :
task-a17f3.ecs.internaltask-worker-1e2cdc5.ecs.internal
Exemple qui ne correspond pas :
database.ecs.internal
Nœuds Kubernetes ou services versionnés
Utilisez ? lorsqu'exactement un caractère varie :
k8s-node?.prod.corp
Exemples correspondants :
k8s-node1.prod.corpk8s-nodeA.prod.corp
Exemple qui ne correspond pas :
k8s-node12.prod.corp
Services multi-régions
Utilisez un modèle multi-niveaux lorsque la hiérarchie entre un préfixe et un suffixe fixes peut varier :
db.*.corp
À partir de la version R141, les exemples correspondants incluent :
db.us-west-2.corpdb.us-west-2.rds.corpdb.eu-central-1.database.production.corp
Exemples ne correspondant pas :
db.corpweb.us-west-2.rds.corp
Hôtes avec plusieurs valeurs changeantes
Utilisez plus d'un métacaractère lorsque différentes parties d'un nom d'hôte varient :
*-worker-*.svc.internal
Exemple de correspondance :
payments-worker-4f92.svc.internal
Exemple qui ne correspond pas :
payments-server-4f92.svc.internal
Noms de bureau ou de serveur prévisibles
Utilisez un modèle spécifique à la position pour les hôtes qui suivent une convention de nommage organisationnelle :
rdp-finance-??.corp.internal
Exemples correspondants :
rdp-finance-01.corp.internalrdp-finance-eu.corp.internal
Exemple qui ne correspond pas :
rdp-finance-001.corp.internal

