Aller au contenu

Connexion aux équipements

Lorsqu'Avalon doit se connecter à un équipement réseau (service, WebSSH, data gathering, autodiscovery, ZTP), il détermine automatiquement les identifiants à utiliser en suivant une cascade de résolution.

Cascade de résolution

La résolution s'effectue en 4 étapes, dans l'ordre. Dès qu'une étape aboutit, les suivantes sont ignorées.

Étape 1 – Bypass device type

Si le device type de l'équipement a l'option Bypass other service accounts activée et qu'un service account lui est associé, ce service account est utilisé directement. Aucune autre étape n'est évaluée.

Étape 2 – Identifiants utilisateur

Le comportement de cette étape dépend du mode d'utilisation des comptes utilisateurs configuré sur le tenant :

  • Never : cette étape est ignorée, Avalon passe directement à l'étape 3.
  • WebSSH Only : les identifiants utilisateur ne sont utilisés que pour les sessions WebSSH. Pour toutes les autres actions (services, data gathering, autodiscovery), Avalon passe à l'étape 3.
  • Always : toutes les actions interactives utilisent les identifiants de l'utilisateur. La popup de saisie apparaît systématiquement, même si les device types concernés ont le bypass activé. Le backend détermine ensuite pour chaque équipement s'il utilise les identifiants saisis ou le SA du device type.

Pour les modes Always et WebSSH Only (quand applicable) :

  • Avalon cherche les identifiants de l'utilisateur en cache.
  • Si trouvés : ces identifiants sont utilisés.
  • Si expirés ou absents : une popup de saisie apparaît. L'utilisateur doit entrer ses identifiants pour continuer.
Popup de saisie des identifiants
Popup de saisie des identifiants utilisateur.

Une fois saisis, les identifiants sont conservés en cache pendant la durée du TTL configuré sur le tenant. Le temps restant est visible dans la barre de statut. L'icône Clear credentials (à côté du compteur TTL) permet de vider manuellement le cache et de ressaisir de nouveaux identifiants sans se déconnecter.

TTL dans la barre de statut
Le TTL des identifiants affiché dans la barre de statut.

Tâches planifiées

Le scheduler n'est pas une session interactive. Cette étape est automatiquement ignorée pour les tâches planifiées, qui utilisent toujours un service account (étapes 3 ou 4).

Étape 3 – Service account du device type

Si un service account est associé au device type de l'équipement (sans l'option bypass), ce service account est utilisé.

Étape 4 – Service account du tenant

Dernier recours : Avalon utilise le service account associé au tenant. Si aucun service account n'est trouvé à cette étape, l'opération échoue.

Diagramme de résolution

graph TD
    Start[Connexion à un équipement] --> Step1{Bypass activé<br/>sur le device type ?}

    Step1 -->|Oui + SA configuré| UseSABypass[Utiliser le SA<br/>du device type]
    Step1 -->|Non| LiveCheck{Service planifié<br/>ou session interactive ?}

    LiveCheck -->|Service planifié| Step3{SA associé<br/>au device type ?}
    LiveCheck -->|Session interactive| Step2{Mode d'utilisation<br/>des comptes utilisateurs ?}

    Step2 -->|Never| Step3
    Step2 -->|WebSSH Only| WebSSHCheck{Session<br/>WebSSH ?}
    Step2 -->|Always| CheckCache{Identifiants<br/>en cache ?}

    WebSSHCheck -->|Non| Step3
    WebSSHCheck -->|Oui| CheckCache

    CheckCache -->|Oui, TTL valide| UseUser[Utiliser les identifiants<br/>de l'utilisateur]
    CheckCache -->|Non ou expirés| Popup[Popup de saisie<br/>des identifiants]
    Popup -->|Saisie confirmée| UseUser

    Step3 -->|Oui| UseSADevice[Utiliser le SA<br/>du device type]
    Step3 -->|Non| Step4{SA associé<br/>au tenant ?}

    Step4 -->|Oui| UseSATenant[Utiliser le SA<br/>du tenant]
    Step4 -->|Non| Error[Erreur :<br/>aucun identifiant trouvé]

    classDef successClass fill:#dcfce7,stroke:#166534,stroke-width:2px,color:#166534;
    classDef failClass fill:#fee2e2,stroke:#991b1b,stroke-width:2px,color:#991b1b;
    classDef neutralClass fill:#dbeafe,stroke:#1D335D,stroke-width:2px,color:#1D335D;
    classDef userClass fill:#BED1ED,stroke:#2F54A1,stroke-width:2px,color:#1D335D;
    classDef popupClass fill:#86A0CB,stroke:#1D335D,stroke-width:2px,color:#fff;

    class UseSABypass,UseSADevice,UseSATenant successClass;
    class Error failClass;
    class Start,Step1,Step2,Step3,Step4,CheckCache,LiveCheck,WebSSHCheck neutralClass;
    class UseUser userClass;
    class Popup popupClass;

Scénarios courants

Mode Action Source Résultat
1 Always Service Carte / Eng. Rules SA device type (bypass) → Creds utilisateur
2 Always AutoDiscovery Carte SA device type (bypass) → Creds utilisateur
3 Always WebSSH Carte SA device type (bypass) → Creds utilisateur
4 WebSSH Only WebSSH Carte SA device type (bypass) → Creds utilisateur
5 WebSSH Only Service Carte / Eng. Rules SA device type (bypass) → SA device type → SA tenant
6 WebSSH Only AutoDiscovery Carte SA device type (bypass) → SA device type → SA tenant
7 Never Toute Carte / Eng. Rules SA device type (bypass) → SA device type → SA tenant
8 Tout mode Toute Schedule SA device type (bypass) → SA device type → SA tenant

Configuration