Comment combiner le besoin
d'accès de vos utilisateurs avec les ressources informatiques de
l'entreprise ?
Comment gérer l’accès des utilisateurs aux ressources
de l’entreprise ?
Gestion des listes de comptes utilisateurs, définition des permissions,
surveillance des applications…
Définir qui a le droit de faire quoi peut vite devenir un casse
tête pour le développeur.
Comment assurer la sécurité du système sans freiner
la productivité de l’entreprise ?
Voici quelques pistes pour orienter votre réflexion et surtout,
nous n’avons pas résisté à vous présenter
notre solution favorite en fin d’article.
Concilier Sécurité et autonomie des utilisateurs
Sécuriser l’usage des ressources d’une entreprise
est un sujet délicat à plusieurs titres.
Il faut notamment combiner sécurité des systèmes
et autonomie des utilisateurs.
Un système de sécurité trop contraignant, même
s’il a l’avantage d’être parfaitement sécurisé,
constituera à long terme un frein pour la réactivité
de l’entreprise.
Favoriser l’autonomie des utilisateurs donne une plus grande réactivité
à l’entreprise. Cependant, cela peut induire des risques
de sécurité qu’il faudra couvrir…
Prenons l’exemple de la gestion quotidienne des comptes utilisateurs
et de leurs permissions. Voici quelques points qui offrent une marge de
manœuvre :
La gestion des comptes utilisateurs :
Cette tâche consomme du temps et mobilise des ressources techniques.
Peut-on envisager de transférer cette tâche à des
administrateurs non techniques ?
La gestion des permissions :
Une bonne politique de sécurité doit pouvoir s’adapter
à la réalité du terrain. Il est plus productif de
connaître le quotidien des utilisateurs pour leur donner des permissions
adéquates.
Peut-on déléguer ce type de tâche ? Cela soulève
des questions aussi bien techniques que stratégiques.
Ces choix demandent un important travail d’analyse pour prendre
en compte la réalité métier de chaque entreprise.
Pistes de réflexion
Voici quelques questions clés :
Quelles tâches déléguer à des administrateurs
?
Gestion des comptes : La création/suppression de
comptes est une tâche qu’on peut facilement déléguer.
C’est techniquement simple, et l’impact sur la sécurité
est facilement maîtrisable.
La gestion des permissions
Le choix est moins évident. D’un point de vue stratégique
: souhaite-t-on transférer ce type de responsabilité à
des administrateurs non techniques ?
D’un point de vue technique : comment faire pour qu’une permission
« fonctionnelle » attribuée par un administrateur soit
effectivement appliquée à l’utilisateur ?
Quels outils mettre en place ?
Il faudra concevoir des outils permettant d’exécuter les
tâches déléguées.
Note : on ne saurait trop recommander de prendre en compte la sensibilité
des utilisateurs finaux. Des outils peu ergonomiques les rebuteront et
les inciteront instinctivement à trouver des solutions de contournement
qui mettront en péril la sécurité de votre système.
Comment garantir la fiabilité du système ?
Pour maintenir un niveau de sécurité élevé,
il faut pouvoir contrôler ce qui a été fait au sein
du système (savoir quel administrateur à donné quelle
permission etc…). Il faut donc prévoir des outils d’audit
Combien d’administrateurs seront nécessaires ?
S’ils sont nombreux, vous devrez prévoir des rôles
et des permissions au sein même des outils d’administration.
Ex : un master administrateur et plusieurs sous administrateurs ayant
des responsabilités plus limitées.
Comment gérer le cas des sites distants ?
En fonction de la structure de l’entreprise on pourra être
amené à mettre en place des outils d’administration
fonctionnant sans lien avec la base de données pour garantir l’autonomie
des administrateurs.
Acheter ou développer en interne ?
Il s’agit d’une décision stratégique classique.
Le cas du contrôle d’accès comporte des spécificités
dans ce domaine.
Il est particulièrement difficile d’élaborer une solution
qui soit à la fois :
- Techniquement viable
- Adaptée aux besoins fonctionnels (très complexes dans
ce domaine)
- Garantissant un haut niveau de sécurité
De plus, les coûts cachés risquent de grever à long
terme le budget de développement :
- Maintenance quotidienne : gestions des comptes, nouvelles permissions
à chaque nouvelle version de votre application etc…
- Suivi des évolutions technologiques majeures de Microsoft.
Vu la complexité du sujet, une étude préliminaire
sur les solutions existantes se justifie.
Une estimation précise des coûts (à court et long
terme) et les besoins spécifiques de l’entreprise vous permettront
de prendre une décision.
La solution proposée par Novalys : Visual Guard
Novalys a développé Visual Guard, une solution de contrôle
d’accès qui répond à bon nombre de questions
évoquées.
En particulier :
- La gestion des comptes utilisateurs est transférable à
des administrateurs non techniques à l’aide d’une
console dédiée. A partir d’une interface unique,
ils peuvent gérer simplement les comptes utilisateurs et les
permissions de tout un portefeuille d’applications.
Note : Du point de vue technique, toutes les applications .Net sont
supportées : Winform, Webform, Asp.net, WCF, WPF etc… ainsi
que les applications PowerBuilder.
L’objectif est de fournir un seul système de sécurité
centralisé pour toutes les applications.
Une version multi-langage est en cours de développement pour supporter
également des applications non .Net : Java, C++, PHP
- Un administrateur peut donc créer sans assistance technique
des comptes de type login/mot de passe (stockés directement dans
le repository interne de Visual Guard) ou réutiliser des comptes
Windows stockés dans Active Directory.
Note : Concrètement, cela veut dire que vous pouvez réutiliser
des comptes Windows pour authentifier les utilisateurs de vos applications.
En plus de vous éviter de créer un système d’authentification,
le principe de Single Sign-on de Windows sera implémenté
automatiquement.
- Toujours avec la même interface, l’administrateur peut
attribuer aux utilisateurs des permissions prédéfinies
par les développeurs.
Note : Techniquement, l’outil se base sur des principes de
bas niveau du framework .Net. Les permissions sont appliquées dynamiquement
sans passer par l’étape déploiement.
Une permission attribuée par un administrateur avec la console
est immédiatement active (Voir
un exemple).
- La console est disponible en Webform. On peut donc effectuer les
tâches d’administration sans connexion directe à
la base de données ou au réseau local. Une connexion Internet
suffit. La gestion des comptes utilisateurs et de leurs droits peut
donc être décentralisée (cas des sites distants).
- Visual Guard comporte une sélection de rôles pour les
administrateurs, de façon à contrôler la gestion
de la sécurité. Une fonctionnalité d’audit
enregistre les actions d’administration et génère
des rapports au format .pdf.
Ces fonctionnalités permettent de combiner sécurité
des systèmes et flexibilité des utilisateurs.
D’un point de vue fonctionnel, les administrateurs ont leur propre
outil pour la gestion des comptes.
En fonction des besoins spécifiques de l’entreprise on pourra
leur permettre de déclarer uniquement des utilisateurs ou leur
accorder des privilèges avancés tels que l’attribution
de permission.
Les différents niveaux de rôles permettent d’établir
une hiérarchie entre les administrateurs. La fonctionnalité
de log garantit le suivi des actions de sécurité.
D’un point de vue technique, les avantages de Visual Guard sont
nombreux :
Il est compatible avec de multiples systèmes d’authentification.
L’authentification Windows implémente automatiquement le
single sign-on. Les fonctionnalités liées aux permissions
et à l’audit sont disponibles en standard.
Le cas des sites distants est également pris en compte, ainsi que
le fonctionnement en mode off-line.
Enfin, l’externalisation de la mise à jour du système
de sécurité et du suivi des évolutions des technologies
Microsoft constitue un gain de temps et d’argent conséquents.
Les équipes de développement peuvent ainsi concentrer leurs
efforts sur des tâches stratégiques.
|