Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Privilèges d’accès des utilisateurs

Vous (l’administrateur système) accordez aux utilisateurs un accès ou des autorisations pour les commandes et les instructions de hiérarchie de configuration. Les utilisateurs peuvent exécuter uniquement les commandes et afficher et configurer uniquement les instructions pour lesquelles ils ont des droits d’accès. Vous pouvez également utiliser des expressions régulières étendues pour spécifier les commandes de mode opérationnel, les instructions de configuration et les hiérarchies autorisées ou interdites aux utilisateurs. Cette pratique empêche les utilisateurs non autorisés d’exécuter des commandes sensibles ou de configurer des instructions qui pourraient causer des dommages au réseau.

Présentation des niveaux de privilège d’accès

Chaque instruction de commande et CLI de configuration de haut niveau dispose d’un niveau de privilège d’accès associé. Les utilisateurs peuvent exécuter uniquement les commandes, configurer et afficher uniquement les instructions pour lesquelles ils ont accès. Un ou plusieurs indicateurs d’autorisation définissent les privilèges d’accès pour chaque classe de connexion.

Pour chaque classe de connexion, vous pouvez également autoriser ou refuser l’utilisation de commandes de mode de configuration et de hiérarchies d’instruction du mode opérationnel qui seraient autrement autorisées ou refusées par un niveau de privilège spécifié dans permissions l’énoncé.

Indicateurs d’autorisation de classe de connexion

Vous utilisez des indicateurs d’autorisation pour autoriser l’accès d’un utilisateur aux commandes et instructions du mode de configuration. Vous configurez les indicateurs d’autorisation pour la classe de connexion de l’utilisateur au niveau [edit system login class] hiérarchique. Lorsque vous spécifiez un indicateur d’autorisation donné, l’utilisateur accède aux commandes et aux niveaux et instructions de la hiérarchie de configuration correspondant à cet indicateur. Pour accorder l’accès à toutes les commandes et instructions de configuration, utilisez all l’indicateur des autorisations.

Remarque :

Chaque commande répertoriée représente cette commande et toutes les sous-communications avec cette commande comme préfixe. Chaque énoncé de configuration répertorié représente le haut de la hiérarchie de configuration à laquelle l’indicateur accorde un accès.

permissionsL’instruction spécifie un ou plusieurs des indicateurs d’autorisation répertoriés dans Tableau 1 . Les indicateurs d’autorisation ne sont pas cumulés. Pour chaque classe, vous devez énumérer tous les indicateurs d’autorisation nécessaires, y compris pour afficher les informations et view entrer dans le mode de configure configuration. Deux formes de permissions contrôlent l’accès de l’utilisateur aux parties individuelles de la configuration:

  • Formulaire « clair »: fournit une fonctionnalité en lecture seule pour ce type d’autorisation. Nous en avons interface un exemple.

  • -control formulaire: fournit une fonctionnalité de lecture et d’écriture pour ce type de permission. Nous en avons interface-control un exemple.

Pour les indicateurs d’autorisation qui accordent l’accès aux niveaux et instructions de la hiérarchie de configuration, les indicateurs en clair accordent un privilège en lecture seule à cette configuration. Par exemple, interface l’indicateur d’autorisation autorise un accès en lecture seule au niveau [edit interfaces] hiérarchique. Le -control formulaire d’indicateur accorde un accès en lecture-écriture à cette configuration. Par exemple, interface-control l’indicateur accorde un accès en lecture-écriture au niveau [edit interfaces] hiérarchique.

Tableau 1 répertorie les indicateurs d’autorisation de classe de connexion que vous pouvez configurer en incluant permissions l’instruction au niveau de la [edit system login class class-name] hiérarchie.

Les indicateurs d’autorisation accordent un ensemble spécifique de privilèges d’accès. Chaque indicateur d’autorisation est répertorié avec les commandes du mode opérationnel ou du mode de configuration, ainsi que les niveaux et instructions de la hiérarchie de configuration pour lesquels cet indicateur autorise l’accès.

Tableau 1 : Indicateurs d’autorisation de classe de connexion

Indicateur d’autorisation

Description

access

Peut afficher la configuration d’accès en mode opérationnel ou en mode de configuration.

access-control

Peut afficher et configurer les informations d’accès au niveau [edit access] hiérarchique.

admin

Peut afficher les informations du compte utilisateur en mode opérationnel ou en mode de configuration.

admin-control

Peut afficher les informations du compte utilisateur et les configurer au niveau [edit system] de la hiérarchie.

all

Accès à toutes les commandes du mode opérationnel et aux commandes du mode de configuration. Peut modifier la configuration dans tous les niveaux hiérarchiques de configuration.

clear

Peut effacer (supprimer) les informations que l’équipement apprend à partir du réseau et les stocke dans diverses bases de données de réseau (à l’aide clear des commandes).

configure

Peut entrer en mode de configuration (à l’aide de la configure commande) et valider les configurations (à l’aide de la commit commande).

control

Peut effectuer toutes les opérations au niveau du contrôle, toutes les opérations configurées avec les indicateurs -control d’autorisation.

field

Peut afficher les commandes de débogage sur le terrain. Réservé au débogage.

firewall

Peut afficher la configuration du filtre de pare-feu en mode de fonctionnement ou en mode de configuration.

firewall-control

Peut afficher et configurer des informations de filtre de pare-feu au [edit firewall] niveau hiérarchique.

floppy

Lecture et écriture sur le support amovible.

flow-tap

Peut afficher la configuration de l’tap de flux en mode opérationnel ou en mode de configuration.

flow-tap-control

Peut afficher et configurer les informations d’tap sur les flux au [edit services flow-tap] niveau de la hiérarchie.

flow-tap-operation

Peut faire des requêtes d’tap de flux sur le routeur ou le commutateur. Par exemple, un client DTCP (Dynamic Tasking Control Protocol) doit avoir l’autorisation de s’authentifier en flow-tap-operation tant qu’utilisateur Junos OS administratif.

Remarque :

flow-tap-operationL’option n’est pas incluse dans all-control l’indicateur des autorisations.

idp-profiler-operation

Peut afficher les données de profilage.

interface

Peut afficher la configuration de l’interface en mode de fonctionnement et en mode de configuration.

interface-control

Peut afficher les informations de configuration sur les châssis, classe de service (CoS), les groupes, les options de forwarding et les interfaces. Peut modifier la configuration aux niveaux hiérarchiques suivants:

  • [edit chassis]

  • [edit class-of-service]

  • [edit groups]

  • [edit forwarding-options]

  • [edit interfaces]

maintenance

Peut effectuer la maintenance du système, en commençant un shell local sur l’équipement, en devenant le superuseur dans le shell (à l’aide de la commande) et en arrêtant et redémarrage de l’équipement (à l’aide des su rootrequest system commandes).

network

Peut accéder au réseau à l’aide du pingssh , et des telnettraceroute commandes.

pgcp-session-mirroring

Peut afficher la pgcp configuration de mise en miroir des sessions.

pgcp-session-mirroring-control

Peut modifier la pgcp configuration de mise en miroir de la session.

reset

Peut redémarrer les processus logiciels à l’aide de la restart commande.

rollback

Peut utiliser la rollback commande pour revenir à une configuration précédemment engagée.

routing

Peut afficher les informations générales sur la configuration des stratégies de routage, de protocole de routage et de routage en mode de configuration et en mode opérationnel.

routing-control

Peut afficher et configurer le routage général au niveau de la hiérarchie, les protocoles de routage au niveau de la hiérarchie et les informations de stratégie de routage au niveau [edit routing-options][edit protocols][edit policy-options] hiérarchique.

secret

Peut afficher les mots de passe et autres clés d’authentification dans la configuration.

secret-control

Peut afficher et modifier les mots de passe et autres clés d’authentification dans la configuration.

security

Peut afficher les informations de configuration de sécurité en mode opérationnel et en mode de configuration.

security-control

Peut afficher et configurer les informations de sécurité au niveau [edit security] hiérarchique.

shell

Peut démarrer un shell local sur le routeur ou le commutateur à l’aide de la start shell commande.

snmp

Peut afficher les informations de configuration SNMP (Simple Network Management Protocol) en mode opérationnel ou en mode de configuration.

snmp-control

Peut afficher et modifier les informations de configuration SNMP au niveau [edit snmp] de la hiérarchie.

system

Peut afficher les informations au niveau du système en mode opérationnel ou en mode de configuration.

system-control

Peut afficher et modifier les informations de configuration au niveau du système au [edit system] niveau de la hiérarchie.

trace

Peut afficher les paramètres du fichier de suivi et configurer les propriétés du fichier de trace.

trace-control

Peut modifier les paramètres du fichier de trace et configurer les propriétés du fichier de trace.

view

Peut utiliser diverses commandes pour afficher les valeurs et statistiques actuelles pour l’ensemble du système, la table de routage, les valeurs et les statistiques spécifiques aux protocoles. Impossible d’afficher la configuration secrète.

view-configuration

Peut afficher toutes les configurations à l’exception des secrets, des scripts système et des options d’événement.

Remarque :

Seuls les utilisateurs autorisés maintenance peuvent afficher les scripts de validation, les scripts d’opération ou la configuration des scripts d’événements.

Autoriser et refuser les hiérarchies de commandes et d’instructions individuelles pour les classes de connexion

Par défaut, toutes les commandes de CLI de haut niveau et les niveaux hiérarchiques de configuration ont les niveaux de privilège d’accès associés. Les utilisateurs peuvent exécuter uniquement les commandes et afficher et configurer uniquement les instructions pour lesquelles ils ont des droits d’accès. Pour chaque classe de connexion, vous pouvez autoriser et refuser explicitement l’utilisation de commandes de mode opérationnel et de mode de configuration et de hiérarchies d’instruction qui seraient autrement autorisées ou refusées par un niveau de privilège spécifié dans permissions l’énoncé.

Les indicateurs d’autorisation accordent à l’utilisateur un accès au mode opérationnel et aux commandes du mode de configuration, ainsi qu’à la configuration des niveaux et des instructions hiérarchiques. En spécifiant un indicateur d’autorisation spécifique sur la classe de connexion de l’utilisateur au niveau de la hiérarchie, vous lui accordez l’accès aux commandes correspondantes et aux niveaux et instructions de la hiérarchie de [edit system login class] configuration. Pour accorder l’accès à toutes les commandes et instructions de configuration, utilisez all l’indicateur des autorisations.

Vous pouvez autoriser ou refuser l’utilisation de commandes et d’instructions en configurant le , et les instructions pour une classe allow-commandsdeny-commands de allow-configurationdeny-configuration connexion. Dans les instructions, vous utilisez des expressions régulières étendues pour définir les commandes et les instructions permettant d’autoriser ou de refuser les utilisateurs assignés à la classe.

Exemple: Configurer les autorisations des utilisateurs avec des niveaux de privilège d’accès

Cet exemple configure les autorisations utilisateur pour un cours de connexion. Vous configurez les autorisations des utilisateurs pour une classe de connexion afin d’empêcher les utilisateurs d’effectuer des actions réseau non autorisées. Les utilisateurs peuvent exécuter uniquement les commandes et afficher et modifier uniquement les instructions pour lesquelles ils ont des droits d’accès. Cette contrainte empêche les utilisateurs non autorisés d’exécuter des commandes sensibles ou de configurer des instructions qui pourraient causer des dommages au réseau.

Conditions préalables

Aucune configuration particulière au-delà de l’initialisation de l’équipement n’est requise avant de configurer cet exemple.

Présentation

Chaque commande d’CLI de haut niveau et chaque instruction de configuration dispose d’un niveau de privilège d’accès associé. Lorsque vous configurez une classe de connexion, vous pouvez autoriser ou refuser l’utilisation du mode opérationnel, des commandes du mode de configuration et des instructions de configuration. Les utilisateurs peuvent exécuter uniquement les commandes et afficher et configurer uniquement les instructions pour lesquelles ils ont des droits d’accès.

Vous définissez les privilèges d’accès pour chaque classe de connexion en spécifiant un ou plusieurs indicateurs d’autorisation dans permissions l’énoncé. Les indicateurs d’autorisation accordent à l’utilisateur un accès aux commandes, instructions et hiérarchies. Les indicateurs d’autorisation ne sont pas cumulés. Pour chaque classe de connexion, vous devez énumérer tous les indicateurs d’autorisation nécessaires, y compris pour afficher les informations et view entrer dans le mode de configure configuration. En spécifiant un indicateur d’autorisation spécifique sur la classe de connexion de l’utilisateur, vous lui accordez l’accès aux commandes, instructions et hiérarchies correspondantes. Pour accorder l’accès à toutes les commandes et instructions de configuration, utilisez all l’indicateur des autorisations. Les indicateurs d’autorisation ne fournissent que la lecture (le formulaire « clair » ) et la lecture et l’écriture (formulaire qui se termine par un contrôle) pour un type d’autorisation.

Remarque :

Les bits d’autorisation de classe de connexion ont priorité sur les expressions régulières étendues lorsqu’une commande est activée par l’indicateur allrollbackrollback d’autorisation.

Pour configurer les niveaux de privilège d’accès des utilisateurs pour une classe de connexion, inclure l’instruction au niveau de la hiérarchie, suivie des permissions[edit system login class class-name] indicateurs d’autorisation. Configurez plusieurs autorisations sous la forme d’une liste séparée par espace, jointe à des supports carrés:

Conseil :

Pour afficher les autorisations disponibles, utilisez l’aide context CLI et tapez un point d’interrogation (?) après permissions l’énoncé:

Configuration

Cet exemple configure la classe snmp-admin de connexion. Les utilisateurs de cette classe de connexion peuvent uniquement configurer et afficher les paramètres SNMP.

Configurer les autorisations des utilisateurs avec des niveaux de privilège d’accès

Procédure étape par étape

Pour configurer les privilèges d’accès pour la classe de connexion:

  1. Configurez la classe snmp-admin de connexion avec les indicateurs , et les indicateurs configuresnmpsnmp-control d’autorisation.

    Les indicateurs d’autorisation configurés fournissent une fonctionnalité de lecture (snmp) et de lecture et d’écriture (snmp-control) pour SNMP, et il s’agit du seul privilège d’accès autorisé pour cette classe de connexion. Tous les autres droits d’accès sont refusés.

  2. Créez les comptes utilisateur qui sont attribués à la classe snmp-admin de connexion.

Résultats

En mode de configuration, confirmez votre configuration en entrant la show system login commande. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de cet exemple pour corriger la configuration.

Après avoir configuré l’équipement, entrez commit le mode de configuration.

Vérification

Connectez-vous à l’aide d’un nom d’utilisateur attribué au nouveau cours de connexion et confirmez que la configuration fonctionne correctement.

Vérifier la configuration SNMP

But

Vérifiez qu’un utilisateur du cours snmp-admin de connexion peut configurer SNMP.

Action

En mode de configuration, configurez les instructions SNMP au niveau [edit snmp] de la hiérarchie.

Sens

L’utilisateur de snmp-admin la classe de connexion peut configurer les paramètres SNMP. L’utilisateur peut configurer ces paramètres parce que les indicateurs d’autorisation spécifiés pour cette classe incluent des bits d’autorisation snmp (capacités de lecture) et de contrôle snmp (capacités de lecture et d’écriture).

Vérifier la configuration non-SNMP

But

Vérifiez qu’un utilisateur de la classe de connexion ne peut pas modifier les déclarations de configuration autres que snmp-admin SNMP.

Action

En mode de configuration, tentez de configurer une instruction non-SNMP, telle qu’une instruction dans la interfaces hiérarchie.

Sens

L’utilisateur de la classe de connexion n’est pas en mesure de configurer la hiérarchie, car les indicateurs d’autorisation spécifiés pour cette classe snmp-admin[edit interfaces] ne l’autorisent pas. Dans ce cas, l’CLI un message d’erreur.

Expressions régulières pour autoriser et refuser les commandes de mode opérationnel, les instructions de configuration et les hiérarchies

Ce sujet contient les sections suivantes:

Compréhension des énoncés autoriser et refuser

La hiérarchie de l’CLI de commande et de configuration de haut niveau dispose d’un niveau de privilège d’accès associé. Chaque classe de connexion peut autoriser ou refuser l’utilisation de commandes et instructions du mode de configuration et du mode de configuration, ainsi que des instructions qui seraient autrement autorisées ou interdites par un niveau de privilège. Les utilisateurs peuvent exécuter uniquement les commandes et afficher et configurer uniquement les instructions pour lesquelles ils ont des droits d’accès.

Les privilèges d’accès pour chaque classe de connexion sont définis par un ou plusieurs indicateurs d’autorisation spécifiés dans l’instruction au niveau permissions[edit system login class class-name] de la hiérarchie. En outre, vous pouvez autoriser ou refuser l’utilisation de commandes spécifiques et de hiérarchies de configuration en définissant des expressions régulières étendues. Vous pouvez spécifier les expressions régulières en configurant les instructions suivantes pour une classe de connexion:

  • allow-commands et deny-commands —Autoriser ou refuser l’accès au mode opérationnel et aux commandes du mode de configuration.

  • allow-configuration et deny-configuration —Autoriser ou refuser l’accès à des hiérarchies de configuration spécifiques.

    Remarque :

    Ces instructions offrent un temps de correspondance plus lent, avec davantage de flexibilité, en particulier dans le cas de la correspondance par cartes génériques. Toutefois, il peut être très long de prendre du temps à évaluer toutes les déclarations possibles si un grand nombre d’expressions régulières full-path ou d’expressions génériques sont configurées, ce qui peut avoir un impact négatif sur les performances.

  • allow-commands-regexps et deny-commands-regexps —Autoriser ou refuser l’accès à des commandes spécifiques à l’aide de chaînes d’expressions régulières.

  • allow-configuration-regexps et —Autoriser ou refuser l’accès à des hiérarchies de deny-configuration-regexps configuration spécifiques à l’aide de chaînes d’expressions régulières.

Remarque :

Si vos configurations existantes utilisent les ou les instructions, l’utilisation des mêmes options de configuration et des instructions peut ne pas allow/deny-commandsallow/deny-configuration produire les mêmes allow/deny-commands-regexpsallow/deny-configuration-regexps résultats. Les méthodes de recherche et de correspondance diffèrent selon les deux formes de ces instructions.

L’autorisation explicite des hiérarchies d’instructions de configuration et de commandes à l’aide des instructions s’ajoute aux autorisations déjà allow/deny-*permissions définies par l’énoncé. De même, le rejet explicite des hiérarchies des instructions et des instructions de configuration à l’aide des instructions supprime les autorisations déjà allow/deny-*permissions définies par l’énoncé.

Par exemple, dans la configuration suivante, cette autorisation permet aux utilisateurs de la classe de connexion de configure saisir le mode de configuration. En outre, l’expression permet aux utilisateurs de modifier la configuration au niveau de la hiérarchie et de allow-configuration[edit system services] la valider.

De même, dans la configuration suivante, l’utilisateur de la classe de connexion peut effectuer toutes les opérations autorisées par l’indicateur des autorisations, sauf si l’utilisateur ne peut pas afficher ou modifier la configuration au niveau de la all[edit system services] hiérarchie:

Compréhension de la syntaxe de la déclaration Autoriser et Refuser

Vous pouvez configurer une allow/deny-* instruction qu’une seule fois dans chaque classe de connexion. Lorsque vous configurez une instruction:

  • Vous pouvez configurer autant d’expressions régulières que nécessaire.

  • Les expressions régulières ne sont pas sensibles à la cas

Ces déclarations sont mutuellement exclusives et ces déclarations sont mutuellement exclusives avec allow/deny-commandsallow/deny-commands-regexps ces allow/deny-configurationallow/deny-configuration-regexps déclarations. Par exemple, vous ne pouvez pas configurer les deux dans la même classe allow-configurationallow-configuration-regexps de connexion.

Pour définir les privilèges d’accès aux commandes, spécifiez des expressions régulières étendues à l’aide allow-commands des deny-commands instructions et des. Joint chaque expression autonome complète dans des parenthèses ( ) et utilisez le symbole de la pipe ( |) pour séparer les expressions. N’utilisez pas d’espaces entre les expressions régulières qui sont connectées par le symbole de la pipe. L’expression complète est jointe à des guillemets doubles.

Par exemple :

Vous devez utiliser des ancrages pour spécifier des expressions régulières complexes avec allow-commands l’énoncé. Par exemple :

Pour définir les privilèges d’accès à des parties de la hiérarchie de configuration, indiquez les expressions régulières étendues dans allow-configuration les deny-configuration instructions et les. Enfermez les chemins complets dans des parenthèses ( ) et utilisez le symbole de la pipe ( | ) pour séparer les expressions. N’utilisez pas d’espaces entre les expressions régulières qui sont connectées par le symbole de la pipe. L’expression complète est jointe à des guillemets doubles.

Par exemple :

Lorsque vous spécifiez des expressions régulières étendues à l’aide des ou des instructions, enfermez chaque expression dans des guillemets (« ») et séparez les allow/deny-commands-regexpsallow/deny-configuration-regexps expressions à l’aide d’un espace. Joint plusieurs expressions en supports carrés [ ]. Par exemple :

modifiers tels que , et ne sont pas pris en charge dans la chaîne d’expressions régulière setlog pour être count assortis. Si vous utilisez un modifier, alors rien n’est assorti.

Configuration correcte:

Configuration incorrecte:

Compréhension de la préséance et de la correspondance de l’énoncé Autoriser et Refuser

Par défaut, les expressions régulières et les expressions ont priorité sur allow-commandsallow-configuration les deny-commandsdeny-configuration expressions et les priorités. Ainsi, si vous configurez la même commande à la fois pour les instructions et pour les instructions, l’opération autorise priorité sur allow-commandsdeny-commands l’opération refus. De même, si vous configurez la même instruction à la fois pour les instructions et pour les instructions, l’opération autorise priorité sur allow-configurationdeny-configuration l’opération refus.

Par exemple, la configuration suivante permet à un utilisateur de la classe de connexion d’installer le logiciel à l’aide de la commande, même si l’énoncé inclut testrequest system software add la même deny-commands commande:

De même, la configuration suivante permet à un utilisateur du test de classe de connexion d’afficher et de modifier la hiérarchie de configuration, même si l’énoncé inclut la test[edit system services] même deny-configuration hiérarchie:

Si les allow-commandsdeny-commands instructions et les instructions ont deux variantes différentes d’une commande, la correspondance la plus longue est toujours exécutée. La configuration suivante permet à un utilisateur de la classe de connexion d’exécuter test la commit synchronize commande, mais pas la commit commande. Cela est dû au fait qu’il s’agit de la correspondance la plus longue entre et, et il commit synchronizecommit est spécifié pour commit synchronizeallow-commands .

La configuration suivante permet à un utilisateur de la classe de connexion d’exécuter test la commit commande, mais pas la commit synchronize commande. Cela est dû au fait qu’il s’agit de la correspondance la plus longue entre et, et il commit synchronizecommit est spécifié pour commit synchronizedeny-commands .

Contrairement aux autres énoncés, le comportement par défaut des énoncés est que les expressions régulières ont priorité sur les expressions et les *-regexpsdeny-commands-regexpsdeny-configuration-regexpsallow-commands-regexpsallow-configuration-regexps expressions. Vous pouvez configurer l’énoncé au niveau de la hiérarchie pour forcer les expressions régulières à prendre l’priorité regex-additive-logic[edit system] sur les allow-configuration-regexpsdeny-configuration-regexps instructions. La configuration de l’énoncé vous permet de refuser les hiérarchies de configuration à un niveau plus élevé, et autorise uniquement l’accès de l’utilisateur à des sous-hiérarchies spécifiques.

Comprendre les règles d’accord et de refus de la déclaration

Les instructions et les , et les instructions ont priorité allow/deny-commandsallow/deny-configuration sur les allow/deny-commands-regexpsallow/deny-configuration-regexps autorisations de classe de connexion. Lorsque vous configurez ces instructions, les règles suivantes s’appliquent:

  • Les expressions régulières allow-commands et deny-commands les instructions peuvent également inclure les commit , , , et les loadrollbacksavestatusupdate commandes.

  • Les bits d’autorisation de classe de connexion ont priorité sur les expressions régulières étendues lorsqu’un utilisateur problèmes la commande avec le indicateur allrollbackrollback d’autorisation activé.

  • Les utilisateurs ne peuvent pas load override émettre la commande lors de la spécification d’une expression régulière étendue. Seules les commandes de configuration et les questions de mergereplace configuration sont patch émises par les utilisateurs.

  • Vous pouvez utiliser le caractère * générique lors de la dés expressions régulières. Toutefois, vous devez l’utiliser comme une partie de l’expression régulière. Vous ne pouvez pas [ * ] utiliser ou comme seule [ .* ] expression. En outre, vous ne pouvez pas configurer l’énoncé avec une expression telle que , car allow-configuration elle est évaluée sur (interfaces (description (|.*))allow-configuration .* .

Compréhension des différences des déclarations *-regexps

Cette section présente les différences entre les allow/deny-configuration énoncés et allow/deny-configuration-regexps les énoncés.

Les instructions divisent l’expression régulière en jetons et font correspondre chaque pièce à chaque partie du chemin complet de la configuration spécifiée, alors que les instructions s’matchent avec la allow/deny-configuration-regexpsallow/deny-configuration chaîne complète. Pour les instructions, vous configurez un ensemble de chaînes dans lesquelles chaque chaîne est une expression régulière, avec des espaces entre les allow/deny-configuration-regexps termes de la chaîne. Cette syntaxe permet une correspondance très rapide, mais offre moins de flexibilité. Pour spécifier les expressions génériques, vous devez définir des caractères génériques pour chaque jeton de la chaîne à espace que vous souhaitez assortir, ce qui complique l’utilisation d’expressions génériques pour ces instructions.

Par exemple :

  • Expression régulière correspondant à un jeton en utilisant allow-configuration-regexps

    Cet exemple montre qu’il s’agit de la seule expression correspondance options contre le premier jeton de la déclaration.

    La configuration qui précède correspond aux déclarations suivantes:

    • définir des conditionsd’options de stratégie condition de dynamique-db

    • définir le routage-Options de routage statique route statique route next-hop next-hop

    • définir desoptions d’événements et d’événements, puis générer des secondes d’intervalle de l’événement

    La configuration qui précède ne correspond pas aux déclarations suivantes:

    • options de nom d’hôte-hôte dusystème

    • interfaces options de description du nom de l’interface

  • Expression régulière correspondant à trois jetons à l’aide de allow-configuration-regexps

    Cet exemple montre qu’il s’agit de la seule expression correspondance ssh contre le troisième jeton de la déclaration.

    Dans l’exemple précédent, les trois jetons incluent .*.* , et , .*ssh respectivement.

    La configuration qui précède correspond aux déclarations suivantes:

    • système host-name hostname-ssh

    • services système ssh

    • services systèmesortants ssh

    La configuration qui précède ne correspond pas à l’énoncé suivant:

    • interfaces interface-name description ssh

Il est plus facile d’utiliser l’énoncé pour limiter l’accès à la configuration que pour l’utiliser. Illustre l’utilisation des énoncés dans des configurations différentes afin d’obtenir le même résultat que la restriction de l’accès à une deny-configurationdeny-configuration-regexps configuration Tableau 2deny-configurationdeny-configuration-regexps particulière.

Tableau 2 : Restriction de l’accès à la configuration Utilisation des déclarations deny-configuration et deny-configuration-regexps

Configuration refusé

Utilisant: deny-configuration

Utilisant: deny-configuration-regexps

Résultat

xnm-ssl

[edit system]
login {
    class test {
        permissions configure;
         allow-configuration .*;
        deny-configuration .*xnm-ssl;
    }
}
[edit system]
login {
    class test {
        permissions configure;
         allow-configuration .*;
        deny-configuration-regexps ".* .* .*-ssl"";
    }
}

L’énoncé de configuration suivant est refusé:

  • services système xnm-ssl

ssh

[edit system]
login {
    class test {
        permissions configure;
        allow-configuration .*;
        deny-configuration ".*ssh";
    }
}
[edit system]
login {
    class test {
        permissions configure;
        allow-configuration .*;
        deny-configuration-regexps ".*ssh";
        deny-configuration-regexps ".* .*ssh";
        deny-configuration-regexps ".* .* .*ssh";
    }
}

Les déclarations de configuration suivantes sont refusées:

  • système host-name hostname-ssh

  • services système ssh

  • services système sortants-ssh

  • ssh-known-host de sécurité

Bien que ces déclarations soient également utiles pour une configuration simple, ces déclarations offrent de meilleures performances et surmontent la conjuguant les expressions des allow/deny-configurationallow/deny-configuration-regexpsallow/deny-configuration énoncés.

Utilisation d’expressions régulières sur les serveurs d’autorisation à distance

Vous pouvez utiliser des expressions régulières étendues pour spécifier les commandes du mode de fonctionnement et du mode de configuration, ainsi que les instructions et hiérarchies de configuration autorisées ou interdites pour certains utilisateurs. Vous spécifiez ces expressions régulières localement dans le allow/deny-commandsallow/deny-configuration , et les allow/deny-commands-regexpsallow/deny-configuration-regexps instructions au niveau de [edit system login class class-name] la hiérarchie. Vous spécifiez ces expressions régulières à distance en Juniper Networks attributs TACACS+ ou RADIUS propres à chaque fournisseur dans la configuration de votre serveur d’autorisations. Lorsque vous configurez les paramètres d’autorisation à la fois localement et à distance, l’équipement fusionnera les expressions régulières reçues lors des contrôles TACACS+ ou RADIUS avec toutes les expressions régulières définies sur l’équipement local.

Remarque :

À partir Junos OS version 18.1, les déclarations et les déclarations sont prise en charge allow-commands-regexpsdeny-commands-regexps pour l’autorisation TACACS+.

Lorsque vous spécifiez plusieurs expressions régulières dans une configuration locale à l’aide du , ou des instructions, vous configurez les expressions régulières au sein des allow-commandsdeny-commandsallow-configuration parenthèses et vous les séparez à l’aide du deny-configuration symbole de la pipe. Vous joint l’expression complète dans des guillemets doubles. Par exemple, vous pouvez spécifier plusieurs allow-commands paramètres avec la syntaxe suivante:

Le serveur RADIUS d’autorisations utilise les attributs et la syntaxe suivants:

Le serveur d’autorisation TACACS+ utilise les attributs et la syntaxe suivants:

Lorsque vous spécifiez plusieurs expressions régulières dans une configuration locale à l’aide du , ou des instructions, vous configurez les expressions régulières dans des guillemets doubles et séparez-les à l’aide de allow-commands-regexpsdeny-commands-regexpsallow-configuration-regexpsdeny-configuration-regexps l’opérateur de l’espace. Vous enfermez l’expression complète dans des supports carrés. Par exemple, vous pouvez spécifier plusieurs paramètres de commandes d’utilisation avec la syntaxe suivante:

Le serveur RADIUS d’autorisations utilise les attributs et la syntaxe suivants:

Le serveur d’autorisation TACACS+ utilise les attributs et la syntaxe suivants:

RADIUS et les serveurs TACACS+ offrent également une syntaxe simplifiée, dans laquelle vous spécifiez chaque expression individuelle sur une ligne distincte. Par exemple, la syntaxe RADIUS serveur simplifiée est la suivante:

De même, la syntaxe simplifiée du serveur TACACS+ est la suivante:

Tableau 3 différencie la configuration d’autorisation locale et la configuration d’autorisation de serveur TACACS+ à l’aide d’expressions régulières.

Tableau 3 : Exemple de configuration des autorisations locales et à distance à l’aide d’expressions régulières

Configuration locale

Configuration TACACS+ à distance

login {
    class local {
        permissions configure;
        allow-commands "(ping .*)|(traceroute .*)|(show .*)|(configure .*)|(edit)|(exit)|(commit)|(rollback .*)";
        deny-commands .*;
        allow-configuration "(interfaces .* unit 0 family ethernet-switching vlan mem.* .*)|(interfaces .* native.* .*)|(interfaces .* unit 0 family ethernet-switching interface-mo.* .*)|(interfaces .* unit .*)|(interfaces .* disable)|(interfaces .* description .*)|(vlans .* vlan-.* .*)"
        deny-configuration .*;
    }
}
user = remote {
    login = username
    service = junos-exec {
        allow-commands1 = "ping .*"
        allow-commands2 = "traceroute .*"
        allow-commands3 = "show .*"
        allow-commands4 = "configure"
        allow-commands5 = "edit"
        allow-commands6 = "exit"
        allow-commands7 = "commit"
        allow-commands8 = ".*xml-mode"
        allow-commands9 = ".*netconf"
        allow-commands10 = ".*need-trailer"
        allow-commands11 = "rollback.*"
        deny-commands1 = ".*"
        allow-configuration1 = "interfaces .* unit 0 family ethernet-switching vlan mem.* .*"
        allow-configuration2 = "interfaces .* native.* .*"
        allow-configuration3 = "interfaces .* unit 0 family ethernet-switching interface-mo.* .*"
        allow-configuration4 = "interfaces .* unit .*"
        allow-configuration5 = "interfaces .* disable"
        allow-configuration6 = "interfaces .* description .*"
        allow-configuration7 = "interfaces .*"
        allow-configuration8 = "vlans .* vlan-.* .*"
        deny-configuration1 = ".*"
        local-user-name = local-username
        user-permissions = "configure"
    }
}
Remarque :
  • Vous devez autoriser explicitement l’accès au mode NETCONF, localement ou à distance, en émettre les trois commandes suivantes: xml-mode, netconf et need-trailer .

  • Lorsque vous utilisez l’énoncé, vous devez autoriser toutes les deny-configuration = ".*" configurations souhaitées à l’aide de cette allow-configuration instruction. Cependant, cette configuration peut affecter la limite de tampon d’expressions régulières autorisée pour allow-configuration l’énoncé. Si cette limite est dépassée, la configuration autorisée peut ne pas fonctionner.

Spécifier les expressions régulières

Avertissement :

Lorsque vous spécifiez des expressions régulières pour les commandes et les instructions de configuration, prêtez très attention aux exemples suivants. Une expression régulière avec syntaxe non valide peut ne pas produire les résultats souhaités, même si la configuration est commise sans erreur.

Vous devez spécifier les expressions régulières des commandes et des instructions de configuration de la même manière que l’exécution de la commande ou de l’instruction complète. Tableau 4 répertorie les expressions régulières pour la configuration des privilèges d’accès pour les hiérarchies des instructions et [edit interfaces][edit vlans] pour la delete interfaces commande.

Tableau 4 : Spécifier les expressions régulières

Déclaration

Expression régulière

Configuration Notes

[edit interfaces]

La set commande d’interfaces s’exécute comme suit:

[edit]
user@host# set interfaces interface-name unit interface-unit-number

set interfacesL’instruction est incomplète en elle-même et nécessite de l’exécuter. unit

En conséquence, l’expression régulière requise pour nier la configuration doit spécifier l’ensemble de la chaîne exécutable à l’endroit de l’opérateur à la place des set interfaces.* variables d’instruction:

[edit system login class class-name]
user@host# set permissions configure
user@host# set deny-configuration "interfaces .* unit .*"
  • L’opérateur indique tout, du .* point spécifié à l’aide de cette commande ou instruction spécifique. Dans cet exemple, il indique n’importe quel nom d’interface avec toute valeur d’unité.

  • Seule l’instruction est incorrecte et ne refuse pas l’accès à la configuration des interfaces pour deny-configuration "interfaces .*" la classe de connexion spécifiée.

  • D’autres options valides peuvent être incluses dans l’expression régulière. Par exemple :

    [edit system login class class-name]
    user@host# set permissions configure
    user@host# set deny-configuration "interfaces .* description .*"
    
    [edit system login class class-name]
    user@host# set permissions configure
    user@host# set allow-configuration-regexps [ "interfaces .* description .*" "interfaces .* unit .* description .*" "interfaces .* unit .* family inet address .*" "interfaces.* disable" ]
    
    [edit system login class class-name]
    user@host# set permissions configure
    user@host# set allow-configuration "interfaces .* unit 0 family ethernet-switching vlan mem.* .*"
    

    NB : L’expression régulière est utilisée dans cet exemple lorsque plusieurs chaînes commençant par le mot-clé de mem sont prévues pour être incluses mem.* dans l’expression régulière spécifiée. Lorsqu’une member seule chaîne est prévue pour être incluse, l’expression régulière est member .* utilisée.

delete interfaces

La delete commande d’interfaces s’exécute comme suit:

[edit]
user@host# delete interfaces interface-name

delete interfacesL’instruction peut être exécutée par elle-même et ne nécessite pas d’instructions supplémentaires pour être terminée.

En conséquence, l’expression régulière requise pour refuser l’énoncé doit delete interfaces spécifier les déclarations suivantes:

[edit system login class class-name]
user@host# set permissions configure
user@host# set allow-configuration "interfaces .*"
user@host# set deny-configuration "interfaces .*"
  • L’opérateur indique tout, du .* point spécifié à l’aide de cette commande ou instruction spécifique. Dans cet exemple, il indique n’importe quel nom d’interface.

  • Pour que l’expression régulière prenne effet, la classe de connexion spécifiée doit autoriser les autorisations de configuration pour la hiérarchie des interfaces à l’aide de deny-configuration "interfaces .*"allow-configuration "interfaces .*" l’expression régulière.

[edit vlans]

La set commande des VLANs s’exécute comme suit:

[edit]
user@host# set vlans vlan-name vlan-id vlan-id

Dans ce cas, set vlans l’instruction est incomplète en elle-même et nécessite de l’exécuter. vlan-id

En conséquence, l’expression régulière requise pour permettre la configuration doit spécifier l’ensemble de la chaîne exécutable à l’endroit de l’opérateur à la place des set vlans.* variables d’instruction:

[edit system login class class-name]
user@host# set permissions configure
user@host# set allow-configuration "vlans .* vlan-id .*"
  • L’opérateur indique tout, du .* point spécifié à l’aide de cette commande ou instruction spécifique. Dans cet exemple, il indique un nom de VLAN avec n’importe quel ID VLAN.

  • D’autres options valides sous [edit vlans] la hiérarchie de l’énoncé peuvent être incluses dans l’expression régulière. Par exemple :

    [edit system login class class-name]
    user@host# set permissions configure
    user@host# set allow-configuration-regexps [ "vlans .* vlan-id .*" "vlans .* vlan-id .* description .*" "vlans .* vlan-id .* filter .*" ]
    

Opérateurs expressions régulières

Tableau 5 répertorie les opérateurs d’expressions régulières que vous pouvez utiliser pour autoriser ou refuser les modes opérationnels et de configuration.

Les expressions régulières de commande implémentent les expressions régulières étendues (modernes), telles que définies dans POSIX 1003.2.

Tableau 5 : Opérateurs d’expressions régulières

Opérateur

Correspondance

Exemple

|

Un des deux termes ou plus séparés par le tuyau. Chaque terme doit être une expression autonome complète, fermée dans des parenthèses , sans espace entre la pipe et les parenthèses adjacentes.

[edit system login class test]
user@host# set permissions configure
user@host# set allow-commands "(ping)|(traceroute)|(show system alarms)|(show system software)"
user@host# set deny-configuration "(access)|(access-profile)|(accounting-options)|(applications)|(apply-groups)|(bridge-domains)|(chassis)|(class-of-service)"

Lors de la configuration qui précède, les utilisateurs assignés à la classe de connexion au test sont limités au mode opérationnel uniquement aux commandes spécifiées dans allow-commands l’énoncé. Ils ont également accès au mode de configuration, à l’exception des niveaux de hiérarchie spécifiés dans deny-configuration l’instruction.

^

Au début de l’expression, on peut indiquer l’endroit où commence la commande, où il peut y avoir une certaine désa99.

[edit system login class test]
user@host# set permissions interface
user@host# set permissions interface-control
user@host# set allow-commands "(^show) (log|interfaces|policer))|(^monitor)"

Lors de la configuration qui précède, les utilisateurs assignés au cours de connexion au test ont accès à l’affichage et à la configuration de la configuration de l’interface. allow-commandsL’énoncé accorde l’accès à des commandes, qui commencent par show les mots-clés monitor et les commandes.

Pour le premier filtre, les commandes spécifiées incluent les show log , show interfaces et les show policer commandes. Le deuxième filtre spécifie toutes les commandes en commençant par les mots monitor clés, tels que les monitor interfaces commandes ou monitor traffic les commandes.

$

Caractère à la fin d’une commande. Pour indiquer une commande qui doit être précisément correspondre à ce point.

[edit system login class test]
user@host# set permissions interface
user@host# set allow-commands "(show interfaces$)"

Lors de la configuration qui précède, les utilisateurs assignés au cours de connexion au test peuvent afficher la configuration des interfaces en mode de configuration. Les utilisateurs peuvent également afficher la configuration de l’interface avec show configuration la commande du mode opérationnel. Cependant, l’expression régulière indiquée dans l’instruction limite l’exécution de la seule commande à l’utilisateur et refuse l’accès aux extensions de commande allow-commandsshow interfaces telles que show interfaces detail ou show interfaces extensive .

[ ]

Ensemble de lettres ou de chiffres. Pour séparer le début et la fin d’une plage, utilisez un trait d’union (-   ).

[edit system login class test]
user@host# set permissions clear
user@host# set permissions configure
user@host# set permissions network
user@host# set permissions trace
user@host# set permissions view
user@host# set allow-configuration-regexps [ "interfaces [gx]e-.* unit [0-9]* description .*" ]

Lors de la configuration qui précède, les utilisateurs assignés à la classe de connexion aux tests ont les autorisations des utilisateurs de niveau opérateur. Ces utilisateurs ont également accès à la configuration des interfaces dans la plage spécifiée de nom d’interface et de numéro d’unité (0 à 9).

( )

Un groupe de commandes indiquant une expression complète et autonome à évaluer. Le résultat est ensuite évalué dans l’expression globale. Des parenthèses doivent être utilisées conjointement avec les opérateurs de réseaux de tuyaux, comme expliqué.

[edit system login class test]
user@host# set permissions all
user@host# set allow-commands "(clear)|(configure)"
user@host# deny-commands "(mtrace)|(start)|(delete)"

Avec la configuration ci-dessus, les utilisateurs assignés à la classe de connexion aux tests ont des autorisations de niveau super-utilisateur et ont accès aux commandes spécifiées dans allow-commands l’énoncé.

*

Zéro ou plus.

[edit system login class test]
user@host# set permissions configure
user@host# set deny-configuration "(system login class m*)"

Avec la configuration ci-dessus, les utilisateurs affectés au cours de connexion au test dont le nom d’utilisateur de connexion se voit refuser m l’accès à la configuration.

+

Un ou plusieurs termes.

[edit system login class test]
user@host# set permissions configure
user@host# set deny-configuration "(system login class m+)"

Avec la configuration ci-dessus, les utilisateurs affectés au cours de connexion au test dont le nom d’utilisateur de connexion se voit refuser m l’accès à la configuration.

.

Tout caractère, à l’exception d’un espace « ».

[edit system login class test]
user@host# set permissions configure
user@host# set deny-configuration "(system login class m.)"

Avec la configuration ci-dessus, les utilisateurs affectés au cours de connexion au test dont le nom d’utilisateur de connexion se voit refuser m l’accès à la configuration.

.*

tout, du point spécifié à l’autre.

[edit system login class test]
user@host# set permissions configure
user@host# set deny-configuration "(system login class m .*)"

Avec la configuration ci-dessus, les utilisateurs affectés au cours de connexion au test dont le nom d’utilisateur de connexion se voit refuser m l’accès à la configuration.

De même, l’énoncé refuse tout accès à la deny-configuration "protocols .*" configuration au-dessous [edit protocols] du niveau hiérarchique.

Remarque :
  • Le * , et les +. opérations peuvent être atteints à l’aide de .* .

  • Les deny-commands .* énoncés et les instructions refusent l’accès à toutes les commandes de mode opérationnel et aux hiérarchies de deny-configuration .* configuration, respectivement.

Remarque :

!L’opérateur d’expressions régulières n’est pas pris en charge.

Exemples d’expressions régulières

Tableau 6 répertorie les expressions régulières utilisées pour autoriser les options de configuration dans deux hiérarchies de configuration et, par exemple, pour [edit system ntp server][edit protocols rip] spécifier les expressions régulières.

Remarque :

Tableau 6 ne fournit pas de liste complète de toutes les expressions et mots-clés réguliers pour toutes les instructions et hiérarchies de configuration. Les expressions régulières énumérées dans le tableau sont validées uniquement pour les hiérarchies [edit system ntp server][edit protocols rip] d’instruction et de déclaration.

Tableau 6 : Exemples d’expressions régulières

Hiérarchie de l’instruction

Expressions régulières

Configuration autorisée

Configuration refusé

[edit system ntp server]

     

clé de chiffre

[edit system login class test]
set permissions configure
set allow-configuration-regexps [ "system ntp server .*" "system ntp server .* key .*" ]
set deny-configuration-regexps [ "system ntp server .* version .*" "system ntp server .* prefer" ]
  • IP serveur

  • IP serveur et clé

  • Version

  • Préfère

numéro de version de la version

[edit system login class test]
set permissions configure
set allow-configuration-regexps [ "system ntp server .*" "system ntp server .* version .*" ]
set deny-configuration-regexps [ "system ntp server .* key .*" "system ntp server .* prefer" ]
  • IP serveur

  • IP serveur et version

  • key

  • Préfère

Préfère

[edit system login class test]
set permissions configure
set allow-configuration-regexps [ "system ntp server .*" "system ntp server .* prefer" ];
set deny-configuration-regexps [ "system ntp server .* key .*" "system ntp server .* version .*" ]
  • IP serveur

  • ip serveur et préférer

  • key

  • Version

[edit protocols rip]

     

taille du message

[edit system login class test]
set permissions configure
set allow-configuration-regexps "protocols rip message-size .*"
set deny-configuration-regexps [ "protocols rip metric-in .*" "protocols rip route-timeout .*" "protocols rip update-interval .*" ]
  • taille du message

  • métrique in

  • délai d’itinéraire

  • intervalle de mise à jour

métrique in

[edit system login class test]
set permissions configure
set  allow-configuration-regexps "protocols rip metric-in .*"
set  deny-configuration-regexps [ "protocols rip message-size .*" "protocols rip route-timeout .*" "protocols rip update-interval .*" ]
  • métrique in

  • taille du message

  • délai d’itinéraire

  • intervalle de mise à jour

route-time-timeout de l’itinéraire

[edit system login class test]
set permissions configure
set allow-configuration-regexps "protocols rip route-timeout .*"
set deny-configuration-regexps [ "protocols rip metric-in .*" "protocols rip message-size .*" "protocols rip update-interval .*" ]
  • délai d’itinéraire

  • taille du message

  • métrique in

  • intervalle de mise à jour

mise à jour de l’intervalle de mise à jour de l’intervalle

[edit system login class test]
set permissions configure
set allow-configuration-regexps "protocols rip update-interval .*"
set deny-configuration-regexps [ "protocols rip metric-in .*" "protocols rip route-timeout .*" "protocols rip message-size .*" ]
  • intervalle de mise à jour

  • taille du message

  • métrique in

  • délai d’itinéraire

Comment définir les privilèges d’accès avec les déclarations d’accord de configuration et de refus de configuration

Vous pouvez définir les privilèges d’accès pour les hiérarchies des énoncés de configuration en combinant les types d’instructions suivants:

  • indicateurs d’autorisation

  • allow-configuration et deny-configuration déclarations

Les indicateurs d’autorisation définissent les limites plus larges de l’accès et du contrôle d’une personne ou d’une classe de connexion. Les énoncés contiennent une ou plusieurs expressions régulières qui autorisent ou refusent des hiérarchies et des allow-configurationdeny-configuration instructions de configuration spécifiques. Les instructions et les instructions ont priorité sur les indicateurs d’autorisation et donnent à l’administrateur un contrôle plus fin sur les hiérarchies et les instructions que l’utilisateur peut visualiser et allow-configurationdeny-configuration configurer.

Ce sujet explique comment définir les privilèges d’accès à l’aide et les déclarations en montrant des exemples de configurations de classe de connexion allow-configurationdeny-configuration qui utilisent ces instructions. Les exemples 1 à 3 créent des classes de connexion qui permettent aux utilisateurs d’accéder à toutes les commandes et instructions, sauf celles définies dans deny-configuration l’énoncé.

Notez que les bits d’autorisationet l’indicateur d’autorisation sont utilisés indifféremment.

Exemple 1

Pour créer une classe de connexion qui permet à l’utilisateur d’exécuter toutes les commandes et de configurer tout, sauf les paramètres telnet:

  1. Définissez les autorisations de classe de connexion de l’utilisateur sur all .
  2. Inclure deny-configuration l’énoncé suivant.

Exemple 2

Pour créer un cours de connexion qui permet à l’utilisateur d’exécuter toutes les commandes et de configurer tout, sauf les instructions au sein de n’importe quelle classe de connexion dont le nom commence par « m »:

  1. Définissez les autorisations de classe de connexion de l’utilisateur sur all .

  2. Inclure deny-configuration l’énoncé suivant.

Exemple 3

Pour créer une classe de connexion qui permet à l’utilisateur d’exécuter toutes les commandes et de configurer tout, sauf les niveaux [edit system login class][edit system services] hiérarchiques:

  1. Définissez les autorisations de classe de connexion de l’utilisateur sur all .

  2. Inclure deny-configuration l’énoncé suivant:

Les exemples suivants indiquent comment utiliser les déclarations et les autorisations inverses les unes aux autres pour le niveau allow-configurationdeny-configuration[edit system services] hiérarchique.

Exemple 4

Pour créer une classe de connexion qui permet à l’utilisateur d’avoir des privilèges de configuration complets uniquement au niveau [edit system services] de la hiérarchie:

  1. Définissez les autorisations de classe de connexion de l’utilisateur sur configure .

  2. Inclure allow-configuration l’énoncé suivant:

Exemple 5

Pour créer une classe de connexion qui autorise l’utilisateur à accéder pleinement à toutes les commandes et à toutes les hiérarchies de configuration, à l’exception du niveau [edit system services] de hiérarchie:

  1. Définissez les autorisations de classe de connexion de l’utilisateur sur all .

  2. Inclure deny-configuration l’énoncé suivant.

Exemple: Utiliser la logique de logique logique et les expressions régulières pour spécifier les privilèges d’accès

Cet exemple montre comment utiliser une logique d’utilisation de la logique d’utilisation lorsque vous utilisez des expressions régulières pour mettre en place des privilèges d’accès à la configuration.

Conditions préalables

Cet exemple utilise un équipement exécutant Junos OS version 16.1 ou ultérieure.

Présentation

Vous pouvez définir des expressions régulières pour contrôler qui peut apporter des modifications à la configuration et ce qu’elle peut changer. Ces expressions régulières indiquent des hiérarchies de configuration spécifiques à qui les utilisateurs d’une classe de connexion peuvent accéder. Vous pouvez, par exemple, définir des expressions régulières qui permettent aux utilisateurs de modifier un groupe d’instances de routage et définir des expressions régulières qui empêchent les utilisateurs d’apporter des modifications à d’autres instances de routage ou à d’autres niveaux de configuration. Vous définissez les expressions régulières en configurant les instructions et allow-configuration-regexps les deny-configuration-regexps instructions pour une classe de connexion.

Par défaut, deny-configuration-regexps l’énoncé prend la priorité sur allow-configuration-regexps l’énoncé. Si une hiérarchie de configuration apparaît dans une instruction pour une classe de connexion, elle n’est pas visible par les utilisateurs de cette classe, quel que soit le deny-configuration-regexps contenu de allow-configuration-regexps l’énoncé. Si une hiérarchie de configuration n’apparaît pas dans une instruction, elle est visible par les utilisateurs de cette classe si elle deny-configuration-regexps apparaît dans une allow-configuration-regexps instruction.

Vous pouvez modifier ce comportement par défaut en activant la logique insérez les *-configuration-regexps instructions. Lorsque vous activez la logique insélable, allow-configuration-regexps l’énoncé prend la priorité sur deny-configuration-regexps l’énoncé.

Ainsi, si l’énoncé refuse l’accès à toutes les hiérarchies de configuration à un niveau donné (protocoles .*) mais permet l’accès à une deny-configuration-regexpsallow-configuration-regexps sous-hiérarchie (protocoles bgp .*), l’équipement refuse par défaut l’accès aux hiérarchies des utilisateurs de cette classe de connexion, car l’énoncé a deny-configuration-regexps priorité. Toutefois, si vous activez la logique d’authentification, l’équipement permet d’accéder à la sous-hiérarchie spécifiée pour les utilisateurs de cette classe de connexion, car l’priorité est dans allow-configuration-regexps ce cas.

Configuration

Procédure étape par étape

Pour activer la logique insérable afin d’autoriser explicitement les utilisateurs d’un accès en classe de connexion à une ou plusieurs hiérarchies de configuration individuelles:

  1. Inclure deny-configuration-regexps l’énoncé et refuser explicitement l’accès aux hiérarchies de configuration.

    Par exemple :

  2. Inclure allow-configuration-regexps l’énoncé et définir des expressions régulières pour les hiérarchies spécifiques permettant.

    Par exemple :

  3. Activer la logique de logique de la logique des allow-configuration-regexpsdeny-configuration-regexps expressions régulières et régulières.

  4. Attribuez la classe de connexion à un ou plusieurs utilisateurs.

  5. Commit your changes.

    Les utilisateurs assignés à cette classe de connexion ont accès aux hiérarchies de configuration incluses dans l’instruction mais n’ont pas accès aux autres hiérarchies spécifiées dans allow-configuration-regexpsdeny-configuration-regexps l’énoncé.

Remarque :

Lorsque vous configurez l’instruction, la modification de comportement s’applique à tous les énoncés présents dans toutes les regex-additive-logicallow-configuration-regexpsdeny-configuration-regexps classes de connexion. Si vous activez la logique d’insularation, vous devez évaluer les déclarations existantes en cas d’impact et mettre à jour les expressions régulières dans ces instructions, le cas échéant.

Exemples

Utiliser des expressions régulières avec la logique de logique de logique de logique de logique de logique logique

But

Cette section fournit des exemples d’expressions régulières qui utilisent une logique insélable pour vous donner des idées pour créer des configurations adaptées à votre système.

Autoriser des instances de routage spécifiques

Le cours de connexion suivant inclut une expression régulière qui permet la configuration des instances de routage dont le nom commence par ; par CUST-VRF- exemple, CUST-VRF-1 , et ainsi CUST-VRF-25 de CUST-VRF-100 suite. L’exemple inclut également une expression régulière qui empêche la configuration des instances de routage.

Par défaut, l’instruction prend l’priorité, et la configuration précédente empêche les utilisateurs de la classe de connexion de configurer n’importe quelle instance de routage, quel que soit deny-configuration-regexps leur nom.

Toutefois, si vous configurez l’instruction suivante, allow-configuration-regexps celle-ci est prioritaire. Les utilisateurs peuvent ainsi configurer des instances de routage dont le nom commence par, mais pas CUST-VRF- d’autres.

Autoriser BGP configuration peer uniquement

Le cours de connexion suivant inclut des expressions régulières qui empêchent la configuration au niveau hiérarchique mais autorisent la [edit protocols] configuration BGP pairs:

Par défaut, la configuration précédente empêche les utilisateurs de la classe de connexion d’apporter des modifications à des hiérarchies sous [edit protocols] .

Toutefois, si vous configurez l’instruction suivante, les utilisateurs de la classe de connexion peuvent apporter des modifications aux pairs BGP, mais les utilisateurs ne peuvent pas configurer d’autres protocoles ou d’autres instructions BGP en dehors du niveau hiérarchique autorisé.

Vérification

Pour vérifier que vous avez bien définir les privilèges d’accès:

  1. Configurez une classe de connexion et commit les modifications.

  2. Attribuez la classe de connexion à un nom d’utilisateur.

  3. Connectez-vous en tant que nom d’utilisateur attribué avec la nouvelle classe de connexion.

  4. Tentez de configurer les niveaux hiérarchiques autorisés.

    • Vous devez pouvoir configurer les instructions dans des niveaux hiérarchiques autorisés.

    • Les niveaux hiérarchiques refusés ne doivent pas être visibles.

    • Toute expression autorisée ou interdite doit primer sur les autorisations accordées par la permissions déclaration.

Exemple: Configurer les autorisations des utilisateurs avec des privilèges d’accès pour les commandes du mode opérationnel

Cet exemple montre comment configurer des classes de connexion personnalisées et attribuer des privilèges d’accès pour les commandes de mode opérationnel. Les utilisateurs de la classe de connexion peuvent exécuter uniquement les commandes pour lesquelles ils ont accès. Cela empêche les utilisateurs non autorisés d’exécuter des commandes sensibles qui pourraient causer des dommages au réseau.

Conditions préalables

Cet exemple utilise les composants matériels et logiciels suivants:

  • Un Juniper Networks de sécurité

  • Un serveur TACACS+ (RADIUS)

Avant de commencer, établissez une connexion TCP entre l’équipement et le serveur TACACS+. Dans le cas d’un serveur RADIUS, établissez une connexion UDP entre l’équipement et RADIUS serveur.

Présentation et topologie

Figure 1 illustre une topologie simple, où le routeur R1 est un équipement Juniper Networks et dispose d’une connexion TCP établie avec un serveur TACACS+.

Figure 1 : Topologie Topologie

Cet exemple configure le R1 avec trois classes de connexion personnalisées: classe 1, classe 2 et classe3. Chaque classe définit les privilèges d’accès pour l’utilisateur en configurant l’énoncé et en définissant des expressions régulières étendues à l’aide des permissionsallow-commands déclarations et des deny-commands énoncés.

L’objectif de chaque classe de connexion est le suivant:

  • Class1— Définit les privilèges d’accès pour l’utilisateur avec allow-commands l’instruction uniquement. Cette classe de connexion fournit des autorisations et autorisations utilisateur de niveau opérateur pour le redémarrage de l’équipement.

  • Class2— Définit les privilèges d’accès pour l’utilisateur avec deny-commands l’instruction uniquement. Cette classe de connexion fournit des autorisations utilisateur de niveau opérateur et refuse l’accès aux set commandes.

  • Class3— Définit les privilèges d’accès pour l’utilisateur avec allow-commands les deny-commands déclarations et les énoncés. Cette classe de connexion fournit des autorisations et autorisations utilisateur de niveau super-utilisateur pour accéder aux interfaces et visualiser les informations sur l’équipement. Il refuse également l’accès aux commandes et editconfigure aux données.

Le routeur R1 compte trois utilisateurs différents, respectivement Utilisateur1, Utilisateur2 et User3 affectés aux classes de classe 1, Classe 2 et Classe3.

Configuration

CLI configuration rapide

Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les interruptions de ligne, modifiez les détails nécessaires pour correspondre à votre configuration réseau, copiez et collez les commandes dans l’CLI au niveau de la hiérarchie, puis entrez en [edit]commit mode de configuration.

R1

Configurer les paramètres d’authentification du routeur R1

Procédure étape par étape

Pour configurer l’authentification du routeur R1:

  1. Configurez l’ordre dans lequel le R1 tente d’authentifier l’utilisateur. Dans cet exemple, l’authentification du serveur TACACS+ est la première, suivie RADIUS’authentification du serveur, puis du mot de passe local.

  2. Configurez le serveur TACACS+.

  3. Configurez le RADIUS serveur.

  4. Configurer les paramètres de comptabilisation R1.

Configurer les privilèges d’accès avec l’instruction des commandes d’accès (Classe 1)

Procédure étape par étape

Pour spécifier les expressions régulières à l’aide de allow-commands l’énoncé:

  1. Configurez la classe de connexion de classe 1 et attribuez les autorisations utilisateur au niveau de l’opérateur.

  2. Configurez l’expression régulière pour permettre aux utilisateurs de la classe de allow-commands redémarrer l’équipement.

  3. Configurez le compte utilisateur pour la classe 1.

Configurer les privilèges d’accès avec l’énoncé des commandes de refus (Classe 2)

Procédure étape par étape

Pour spécifier les expressions régulières à l’aide de deny-commands l’énoncé:

  1. Configurez la classe de connexion de classe 2 et attribuez les autorisations utilisateur au niveau de l’opérateur.

  2. Configurez l’expression régulière pour empêcher les utilisateurs de la deny-commands classe d’exécuter set des commandes.

  3. Configurez le compte utilisateur pour la classe 2.

Configurer les privilèges d’accès avec les instructions « allow-command » et les « deny-commands Statements » (Classe3)

Procédure étape par étape

Pour spécifier les expressions régulières à l’aide des allow-commands déclarations et deny-commands des énoncés:

  1. Configurez la classe de connexion de classe 3 et attribuez des autorisations de niveau super-utilisateur.

  2. Configurez l’expression régulière pour empêcher les utilisateurs de la classe deny-commands d’exécuter des commandes.

  3. Configurez allow-commands l’expression régulière pour permettre aux utilisateurs d’entrer dans le mode de configuration.

  4. Configurez le compte utilisateur pour la classe 3.

Résultats

En mode de configuration, confirmez votre configuration en entrant la show system commande. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de cet exemple pour corriger la configuration.

Vérification

Connectez-vous en tant que nom d’utilisateur assigné à la nouvelle classe de connexion et confirmez que la configuration fonctionne correctement.

Vérification de la configuration de classe 1

But

Vérifiez que les autorisations et commandes autorisées dans la classe 1 fonctionnent.

Action

En mode opérationnel, exécutez la show system users commande.

En mode opérationnel, exécutez la request system reboot commande.

Sens

La classe de connexion de classe 1 à laquelle l’utilisateur1 est attribué dispose des autorisations utilisateur de niveau opérateur et permet aux utilisateurs de la classe d’exécuter la request system reboot commande.

La classe de connexion de l’opérateur prédéfiny dispose des indicateurs d’autorisation suivants:

  • clear—Peut utiliser des commandes pour effacer (supprimer) les informations que l’équipement apprend à partir du réseau et stocke dans clear diverses bases de données de réseau.

  • network— Accès au réseau à l’aide du pingssh , et des telnettraceroute commandes.

  • reset—Peut redémarrer les processus logiciels à l’aide de la restart commande.

  • trace—Peut afficher les paramètres des fichiers de trace et configurer les propriétés du fichier de trace.

  • view—Peut utiliser diverses commandes pour afficher les valeurs et statistiques actuelles pour l’ensemble du système, la table de routage, les valeurs et les statistiques spécifiques aux protocoles. Impossible d’afficher la configuration secrète.

Pour la classe 1, outre les autorisations utilisateur ci-dessus, User1 peut exécuter la request system reboot commande. La première sortie affiche les autorisations d’affichage en tant qu’opérateur, et la seconde indique que la seule commande que l’utilisateur1 peut exécuter en tant qu’opérateur est request system la request system reboot seule commande.

Vérification de la configuration de classe 2

But

Vérifiez que les autorisations et commandes autorisées pour la classe 2 fonctionnent bien.

Action

En mode opérationnel, exécutez la ping commande.

Dès l’CLI, consultez les commandes disponibles.

À partir de CLI, exécutez n’importe quelle commande définie.

Sens

La classe de connexion de classe 2 à laquelle l’utilisateur2 est attribué dispose des autorisations utilisateur de niveau opérateur et refuse l’accès à toutes set les commandes.

Les indicateurs d’autorisation indiqués pour la classe de connexion de l’opérateur prédéfiny sont les mêmes que ceux indiqués pour la classe 1.

Vérification de la configuration de classe 3

But

Vérifiez que les autorisations et commandes autorisées pour la classe de classe 3 fonctionnent bien.

Action

En mode opérationnel, consultez les commandes disponibles.

Entrez le mode de configuration.

Sens

La classe de connexion de classe 3 à laquelle l’utilisateur3 est attribué dispose des autorisations de super-utilisateur (toutes) mais cette classe permet uniquement aux utilisateurs d’exécuter la configure commande. Cette classe refuse l’accès à toutes les autres commandes du mode opérationnel. Étant donné que les expressions régulières indiquées dans les instructions ont priorité sur les autorisations de l’utilisateur, l’utilisateur 3 sur R1 n’a accès qu’au mode de configuration et se voir refuser l’accès à toutes les autres commandes du allow/deny-commands mode opérationnel.

Exemple: Configurer les autorisations des utilisateurs avec des privilèges d’accès pour les hiérarchies et les instructions de configuration

Cet exemple montre comment configurer des classes de connexion personnalisées et attribuer des privilèges d’accès à des hiérarchies de configuration spécifiques. Les utilisateurs de la classe de connexion peuvent afficher et modifier uniquement les instructions de configuration et les hiérarchies à laquelle ils ont accès. Cela empêche les utilisateurs non autorisés de modifier les configurations d’équipements qui pourraient endommager le réseau.

Conditions préalables

Cet exemple utilise les composants matériels et logiciels suivants:

  • Un Juniper Networks de sécurité

  • Un serveur TACACS+ (RADIUS)

Avant de commencer, établissez une connexion TCP entre l’équipement et le serveur TACACS+. Dans le cas d’un serveur RADIUS, établissez une connexion UDP entre l’équipement et RADIUS serveur.

Présentation et topologie

Figure 2 illustre une topologie simple, où le routeur R1 est un équipement Juniper Networks et dispose d’une connexion TCP établie avec un serveur TACACS+.

Figure 2 : Topologie Topologie

Cet exemple configure le R1 avec deux classes de connexion personnalisées: classes 1 et 2. Chaque classe définit les privilèges d’accès pour l’utilisateur en configurant l’énoncé et en définissant des expressions régulières étendues à l’aide des permissionsallow-configuration , et des deny-configurationallow-configuration-regexpsdeny-configuration-regexps énoncés.

L’objectif de chaque classe de connexion est le suivant:

  • Class1— Définit les privilèges d’accès de l’utilisateur avec allow-configuration les deny-configuration instructions et les droits d’accès. Cette classe de connexion fournit un accès pour configurer la hiérarchie uniquement et refuse tous les autres accès [edit interfaces] sur l’équipement. Pour ce faire, les autorisations de l’utilisateur incluent configure l’accès à la configuration. En outre, l’instruction autorise l’accès à la configuration des interfaces, et cette instruction refuse l’accès à toutes les allow-configurationdeny-configuration autres hiérarchies de configuration. L’énoncé de priorité sur l’énoncé de refus est prioritaire, les utilisateurs assignés à la classe de connexion de classe 1 peuvent accéder uniquement au [edit interfaces] niveau hiérarchique.

  • Class2— Définit les privilèges d’accès de l’utilisateur avec allow-configuration-regexps les deny-configuration-regexps instructions et les droits d’accès. Cette classe de connexion fournit des autorisations utilisateur de niveau superuser et autorise explicitement la configuration sous plusieurs niveaux hiérarchiques pour les interfaces. Elle refuse également l’accès aux niveaux [edit system][edit protocols] hiérarchiques et aux niveaux.

Le routeur R1 dispose de deux utilisateurs, User1 et User2, affectés respectivement aux classes de classe 1 et 2.

Configuration

CLI configuration rapide

Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les interruptions de ligne, modifiez les détails nécessaires pour correspondre à votre configuration réseau, copiez et collez les commandes dans l’CLI au niveau de la hiérarchie, puis entrez en [edit]commit mode de configuration.

R1

Configurer les paramètres d’authentification du routeur R1

Procédure étape par étape

Pour configurer l’authentification du routeur R1:

  1. Configurez l’ordre dans lequel le R1 tente d’authentifier l’utilisateur. Dans cet exemple, l’authentification du serveur TACACS+ est la première, suivie RADIUS’authentification du serveur, puis du mot de passe local.

  2. Configurez le serveur TACACS+.

  3. Configurez le RADIUS serveur.

  4. Configurez les paramètres de comptabilisation R1.

Configurer les privilèges d’accès avec les instructions allow-configuration et deny-configuration (Classe1)

Procédure étape par étape

Pour spécifier les expressions régulières à l’aide allow-configuration des deny-configuration déclarations et des énoncés:

  1. Configurez la classe de connexion de classe 1 avec configure les autorisations.

  2. Configurez l’expression régulière pour permettre aux utilisateurs de la classe d’afficher et de modifier une partie du niveau allow-configuration[edit interfaces] de hiérarchie.

  3. Configurez deny-configuration l’expression régulière pour refuser l’accès à toutes les hiérarchies de configuration.

  4. Configurez le compte utilisateur pour la classe 1.

Configurer les privilèges d’accès avec les instructions allow-configuration-regexps et deny-configuration-regexps (Classe2)

Procédure étape par étape

Pour spécifier les expressions régulières à l’aide allow-configuration-regexps des deny-configuration-regexps déclarations et des énoncés:

  1. Configurez la classe de connexion de classe 2 et attribuez des autorisations de super-utilisateur (toutes).

  2. Configurez l’expression régulière pour permettre aux utilisateurs de la classe allow-configuration-regexps d’accéder à plusieurs hiérarchies au-dessous [edit interfaces] du niveau hiérarchique.

  3. Configurez l’expression régulière afin d’empêcher les utilisateurs de la classe d’afficher ou de modifier la configuration aux niveaux deny-configuration-regexps[edit system][edit protocols] hiérarchiques et supérieurs.

  4. Configurez le compte utilisateur pour la classe 2.

Résultats

En mode de configuration, confirmez votre configuration en entrant la show system commande. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de cet exemple pour corriger la configuration.

Vérification

Connectez-vous en tant que nom d’utilisateur assigné à la nouvelle classe de connexion et confirmez que la configuration fonctionne correctement.

Vérifier la configuration de classe 1

But

Vérifiez que les autorisations autorisées dans le cours de connexion de classe 1 fonctionnent.

Action

En mode opérationnel, consultez les commandes disponibles.

En mode de configuration, consultez les autorisations de configuration disponibles.

Sens

User1 dispose configure des autorisations utilisateur, comme vu dans le premier résultat. En outre, en mode de configuration, User1 a accès au niveau de hiérarchie, mais uniquement au niveau hiérarchique tel qu’on le voit interfaces dans la deuxième sortie.

Vérifier la configuration de classe 2

But

Vérifiez que la configuration de classe 2 fonctionne comme prévu.

Action

En mode de configuration, accédez à la interfaces configuration.

En mode de configuration, accédez aux systemprotocols hiérarchies de configuration et de configuration.

Sens

User2 dispose des autorisations de configuration des interfaces sur le modèle R1, mais l’utilisateur n’a pas l’autorisation d’afficher ou de modifier les niveaux [edit system][edit protocols] hiérarchiques ou de les afficher.

Tableau de l'historique des versions
Version
Description
18.1
À partir Junos OS version 18.1, les déclarations et les déclarations sont prise en charge allow-commands-regexpsdeny-commands-regexps pour l’autorisation TACACS+.