Par défaut, portier Vision enregistre le mot de passe de la base de données, chiffré, dans le fichier portiervision.ini sur chaque poste. Dans certains environnements, aucun mot de passe ne doit être stocké, par exemple les serveurs Citrix et Terminal Server, les sessions partagées, les images de référence ou les environnements audités.
Pour ces cas, avec Microsoft SQL Server, il existe l'authentification intégrée. portier Vision se connecte à la base avec l'identité Windows de l'utilisateur connecté. Aucun mot de passe n'est stocké ni transmis.
À ne pas confondre avec la connexion à portier Vision même. Pour ouvrir le logiciel via votre compte Windows sans mot de passe distinct, voir Single Sign-On (SSO).
Environnements Citrix, Terminal Server et images de référence, sans identifiants stockés dans le profil
Environnements informatiques audités qui évitent les mots de passe de service stockés
Organisations qui gèrent l'accès à la base via leurs groupes Windows (Active Directory) existants
Le poste est joint au domaine Active Directory.
Une connexion existe dans Microsoft SQL Server pour l'utilisateur Windows ou, de préférence, pour un groupe AD.
Cette connexion dispose, sur la base portier, des rôles db_datareader, db_datawriter et db_ddladmin. db_ddladmin permet à portier Vision d'appliquer ses mises à jour de schéma lors d'une montée de version. Pas sysadmin, pas db_owner.
Ouvrez le portier Vision Companion et allez sur Configuration de la base de données.
Dans Type de base de données, choisissez Microsoft SQL Server - Connexion Windows. Les champs nom d'utilisateur et mot de passe disparaissent.
Saisissez l'Hôte, le Nom de la base de données et le Schéma. Un port différent du port par défaut se place sur l'hôte, ajouté après une virgule, par exemple sqlhost, 1444. Pour le format de l'hôte, voir Connexion à Microsoft SQL Server.
Lancez Tester la connexion. En cas de succès, Enregistrer la configuration.
Le Companion inscrit alors DBLOGIN=1 dans la section [Database] de portiervision.ini. portier Vision se connecte ensuite en tant qu'utilisateur Windows connecté (connexion approuvée via Kerberos ou NTLM). Aucun mot de passe n'est écrit dans le fichier.
Ouvrez portiervision.ini. Dans la section [Database], DBLOGIN=1 est présent, DBPASSWORD est vide, et les entrées DBPASSWORDENCRYPTED et DBSHAREDKEY ont disparu.
Démarrez portier Vision. La base se connecte sans demander de mot de passe.
L'accès s'effectue sous l'identité Windows de l'utilisateur connecté.
L'installation comprend un troisième programme sans interface, companion-services.exe. Il exécute les tâches planifiées en arrière-plan, à savoir les courriels de rappel, la synchronisation Entra ID, l'import de personnel planifié et la conservation des données. Il lit le même fichier portiervision.ini.
Il est démarré par une tâche planifiée Windows, nommée PortierCompanionServices par défaut. Le programme d'installation ne crée pas cette tâche. C'est le script Register-CompanionTask.ps1, dans le dossier companion du répertoire d'installation, qui s'en charge, et c'est là que vous définissez le compte de service sous lequel la tâche s'exécute.
Pour la base de données, c'est ce compte qui compte. Avec DBLOGIN=1, companion-services.exe se connecte sous le compte de service, pas sous votre identifiant. Le compte de service, ou son groupe AD, a donc besoin de la même connexion SQL Server et des mêmes trois rôles que vos utilisateurs. Sans cela, Vision fonctionne parfaitement à l'écran alors que chaque tâche planifiée n'atteint pas la base.
Vous pouvez le vérifier directement. Connectez-vous à la machine avec le compte de service et lancez companion-services.exe --once depuis le répertoire d'installation. Le code de retour 0 signifie que le diagnostic de démarrage a atteint la base. La zone des tâches du Companion affiche par ailleurs une bannière dès qu'une tâche planifiée a manqué son heure d'exécution ou a échoué.
Avec un mot de passe stocké, ce point est plus délicat. Le mot de passe dans portiervision.ini est par défaut lié au compte Windows qui l'a enregistré, et la tâche planifiée ne s'exécute que si ce même compte a configuré la connexion. L'authentification intégrée supprime ce lien et demande en échange la connexion SQL Server pour le compte de service.
Créez la connexion de base pour portier Vision avec les droits les plus faibles possibles : db_datareader et db_datawriter pour le fonctionnement courant, plus db_ddladmin pour que portier Vision puisse appliquer ses mises à jour de schéma lors des montées de version. sysadmin ou db_owner ne sont pas nécessaires et ne doivent pas être accordés. Sans db_ddladmin, la connexion passe le contrôle au démarrage, mais la montée de version suivante s'arrête à la première modification de schéma. Le plus simple est de gérer l'accès via un groupe AD dédié.
Sur les serveurs Citrix et Terminal Server, de nombreux utilisateurs partagent une seule installation, mais chacun se connecte sous sa propre identité Windows. Le groupe AD les couvre tous sans créer chaque connexion à la main. Ajoutez le compte de service des tâches planifiées à ce même groupe.
L'authentification intégrée nécessite Microsoft SQL Server et une identité de domaine Windows. Dans deux cas, elle n'est pas possible :
Firebird : la base Firebird fournie ne connaît pas l'authentification Windows intégrée. Un mot de passe chiffré reste dans portiervision.ini.
SQL Server hors domaine (groupe de travail) : sans identité de domaine, aucune authentification intégrée n'est possible. Un mot de passe chiffré reste stocké.
Pour le cas SQL Server, conservez des privilèges minimaux pour cette connexion stockée : db_datareader, db_datawriter et db_ddladmin.
Avec l'authentification intégrée, il n'existe aucun mot de passe récupérable, ni dans portiervision.ini, ni dans la mémoire du programme. L'authentification repose sur l'identité Windows de l'utilisateur.
Voir aussi : Manuel d'installation de portier Vision et Connexion à Microsoft SQL Server.