| 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.
Haut de page
|