Professional Documents
Culture Documents
Ce tutorial traite des moyens de scuriser une application Microsoft ACCESS. Nous ne traiterons que la scurit d'applications de type mdb utilisant le moteur de base de donnes propritaire (JET) de Microsoft ACCESS. Nous n'aborderons pas les pages d'accs aux donnes ni les applications bases sur le moteur SQL Server ou via ODBC.
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
I - Introduction..............................................................................................................................................................4 I-A - Avertissement................................................................................................................................................. 4 II - Architecture............................................................................................................................................................ 4 II-A - Fichier unique................................................................................................................................................4 II-B - Fichier Serveur (Pseudo client serveur)....................................................................................................... 5 III - Scurit Systme.................................................................................................................................................. 5 III-A - Concept - Mthode...................................................................................................................................... 5 III-B - Utilit des accs et fichier ldb..................................................................................................................... 6 IV - Scurit applicative...............................................................................................................................................6 IV-A - Mthode Compilation MDE..........................................................................................................................6 IV-A-1 - Contraintes.......................................................................................................................................... 6 IV-A-2 - Gnrer un fichier MDE......................................................................................................................7 IV-B - Mthode Mot de passe................................................................................................................................8 IV-B-1 - Mot de passe au dmarrage.............................................................................................................. 8 IV-B-1-a - Mettre en place ce mot de passe.............................................................................................. 8 IV-B-1-b - Retirer le mot de passe..............................................................................................................9 IV-C - Mthode Mot de passe sur le code.......................................................................................................... 10 V - Bases de la Scurit utilisateur...........................................................................................................................11 V-A - Thorie........................................................................................................................................................ 11 V-B - Dfinition et organisation des groupes, utilisateurs, droits......................................................................... 12 V-B-1 - Groupe de travail............................................................................................................................... 12 V-B-2 - Groupe d'utilisateurs.......................................................................................................................... 12 V-B-3 - Compte d'utilisateur............................................................................................................................12 V-B-4 - Droits.................................................................................................................................................. 13 V-B-5 - Objets................................................................................................................................................. 13 V-B-6 - Hritage.............................................................................................................................................. 13 V-B-7 - Propritaire......................................................................................................................................... 14 VI - Groupe de travail................................................................................................................................................14 VI-A - Dmonstration............................................................................................................................................14 VI-B - Cration d'un groupe de travail................................................................................................................. 16 VII - Groupes d'utilisateurs........................................................................................................................................ 19 VII-A - Dfinition des groupes d'utilisateurs.........................................................................................................19 VII-B - Cration de groupes................................................................................................................................. 20 VII-C - Suppression de groupes.......................................................................................................................... 21 VIII - Droits d'accs................................................................................................................................................... 21 VIII-A - Droits et dpendances.............................................................................................................................21 VIII-B - Groupes des utilisateurs..........................................................................................................................22 IX - Les comptes utilisateurs..................................................................................................................................... 22 IX-A - Cration des comptes................................................................................................................................22 IX-A-1 - Dfinir les mots de passe des comptes........................................................................................... 23 IX-B - Affectation des comptes............................................................................................................................ 23 IX-C - L'administrateur un cas particulier.............................................................................................................24 IX-E - Activer les comptes................................................................................................................................... 25 IX-D - Propritaire................................................................................................................................................ 26 X - Mots de passe et dgradation.............................................................................................................................27 X-A - Les autres objets........................................................................................................................................ 29 XI - Tests....................................................................................................................................................................29 XI-A - Avec le fichier MDW scuris................................................................................................................... 29 XI-B - Avec le fichier MDW standard...................................................................................................................30 XII - Les requtes et la protection.............................................................................................................................30 XII-A - Plus loin avec ce type de requte............................................................................................................31 XIII - Codes, SQL et astuces.................................................................................................................................... 31 XIII-A - Fichier MDW et options de dmarrage................................................................................................... 31 XIII-B - Scurit et code VBA.............................................................................................................................. 31 XIII-B-1 - Changement du mot de passe de la base de donnes courante................................................... 31 XIII-B-2 - Changement du mot de passe de l'utilisateur courant................................................................... 31 XIII-B-3 - Renvoi le nom de l'utilisateur ACCESS courant.............................................................................31 XIII-B-4 - Renvoi le nom de l'utilisateur WINDOWS courant..........................................................................32
-2-
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
XIII-C - Scurit et DAO...................................................................................................................................... 32 XIII-C-1 - DAO - Crer un groupe.................................................................................................................. 32 XIII-C-2 - DAO - Crer un utilisateur..............................................................................................................32 XIII-C-3 - DAO - Suppression Groupe............................................................................................................32 XIII-C-4 - DAO - Suppression Utilisateur........................................................................................................33 XIII-C-5 - DAO - Affecter un utilisateur un groupe...................................................................................... 33 XIII-B-6 - DAO - Lister les groupes et utilisateurs..........................................................................................33 XIII-D - SQL et la scurit................................................................................................................................... 34 XIV - Liens importants............................................................................................................................................... 34 XV - Remerciements..................................................................................................................................................34
-3-
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
I - Introduction
Il existe plusieurs mthodes pour scuriser une application Microsoft ACCESS. Elles sont indpendantes et souvent complmentaires. Nous allons expliquer chacune d'elle et proposer un exemple pour sa mise en oeuvre.
I-A - Avertissement
L'utilisation de la touche F1 est vivement conseille tous les stades de l'utilisation d'ACCESS. L'amlioration constante de l'aide en fait un partenaire de choix dans l'apprentissage permanent d'ACCESS. Personnellement, je ne peux m'en passer, ne serait-ce que pour mmoire. Avant d'effectuer les manipulations dcritent dans ce tutoriel veillez faire une sauvegarde des fichiers de votre application.
II - Architecture
Pour comprendre la scurit nous devons faire un bref rappel des types d'architecture d'application possibles avec Microsoft ACCESS.
Architecture fichier unique Bien que ce fichier puisse tre partag et donc tre accessible plusieurs utilisateurs, il est fortement dconseill de l'employer cet effet. Les accs sont fortement ralentis ; L'infrastrucutre surcharge le rseau ; Les mthodes de conception base de tables temporaires deviennent lourdes grer ; Le blocage d'un utilisateur peut se rpercuter sur l'ensemble.
-4-
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
Architecture fichier serveur Celle-ci est conseille pour les applications ayant une forte charge (plus d'un utilisateur simultan/volume de donnes important). C'est cette dernire que nous prendrons comme exemple pour mettre en place les diverses scurits.
Dans le cas d'une application "fichier serveur" les utilisateurs doivent avoir accs aux 2 rpertoires avec les droits indiqus prcdemment: Le rpertoire contenant l'application appele Frontale. Le rpertoire contenant le(s) fichier(s) de donnes appel(s) Dorsal(s).
-5-
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
IV - Scurit applicative
La scurit applicative consiste empcher l'utilisateur de modifier les formulaires, les tats, les macros et le code. Il existe 3 mthodes de protection qui protgent plus ou moins l'application.
IV-A-1 - Contraintes
Il existe quelques contraintes l'utilisation de cette mthode.
-6-
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
le code soit exempt de toute erreur de compilation mme si le code contenant les erreurs n'est jamais excut ; Il ne faut pas que le code modifie les objets en mode cration.
Un nouveau fichier "compil" est cr partir de l'ancien, ce dernier n'tant ni modifi, ni effac. L'extension de ce nouveau fichier n'est plus MDB mais MDE. Mme si on le dit "compil" ce fichier n'est pas directement excutable par le systme. Vous aurez toujours besoin de Microsoft ACCESS ou de son Runtime (livr sur le CDROM partir de la version 2002 Professionnal) pour l'utiliser.
Menu de cration d'un MDE A l'ouverture de la fentre Enregistrer Fichier, donnez un nom au nouveau fichier (en principe le mme que l'application d'origine)
La fentre d'enregistrement
-7-
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
Si tout s'est bien pass vous n'aurez aucun message. Dans le cas contraire voici le message que vous verrez apparatre.
Explicite ? Aprs que vous aurez valid le message en cliquant sur Ok le fichier d'origine se rouvre. Ce message est typique d'un code VBA posant problme. Vous devez corriger l'erreur (ou les erreurs) avant de retenter la gnration MDE. Pour trouver l'erreur (ou les erreurs) ouvrez un module VBA (module ou formulaire) et compilez l'ensemble du code. Menu Dbogage option Compiler "nom du fichier". Corrigez les erreurs signales et recommencez jusqu' ce qu'il n'y en ait plus. Notez que pour un projet (fichier ADP) il y a galement une version "compile", l'extension de ce type de fichier est ADE.
2 3
Dans la fentre Ouvrir fichier Allez dans le menu Outils sous-menu Scurit Option Dfinir le mot de passe pour la base de donnes.
-8-
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
Le menu Scurit La fentre de dfinition du mot de passe apparat. Entrez le mot de passe de votre choix. Il peut tre compos d'un maximu de 20 caractres.
2 fois le mme !
Le mot de passe... mais le bon ! Allez dans le menu Outils sous-menu Scurit Option Dfinir le mot de passe pour la base de donnes.
Menu intelligent. La fentre de dfinition du mot de passe apparat. Entrez le mot de passe de votre choix. Il peut tre compos d'un maximum de 20 caractres.
-9-
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
2 fois le mme ! Voici le message qui apparait lorsque vous tentez d'annuler un mot de passe sans avoir ouvert l'application en mode exclusif.
- 10 -
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
L'onglet de scurit Cochez la case Verrouillez le projet pour l'affichage Entrez le mot de passe dans les 2 zones de texte.
Si la case n'est pas coche l'utilisateur peut voir et modifier le code. Seules les proprits de l'application sont protges. Le mot de passe est demand avant l'affichage du code. Pour enlever le mot de passe dcochez la case Verrouillez le projet pour l'affichage et videz les zones de texte contenant le mot de passe. Cette mthode de protection est utile pour protger uniquement le code et les proprits, ce qui en fait une protection plutt faible. En effet l'utilisateur a accs tout le reste de l'application. Elle peut venir en complment de la protection par Scurit utilisateur que nous allons aborder dans le prochain chapitre. Aucun mot de passe n'est inviolable et il existe de nombreux produits shareware ou freeware pour retrouver les mots de passe des fichiers Office. Mon conseil est d'viter la protection partir d'un mot de passe sauf si vous y tes contraint.
V-A - Thorie
Si vous tes un habitu de la gestion des utilisateurs avec Windows vous pouvez directement passer la mise en oeuvre sinon lisez ce qui suit. Pour bien comprendre cette mthode il est ncessaire d'en expliquer le fonctionnement. Chaque utilisateur effectue des tches bien prcises dans l'application. Dans l'exemple d'une socit, un commercial n'aura pas accs aux mmes informations de l'entreprise qu'un acheteur ou qu'un magasinier. Ils font tous partis du mme groupe de travail puisqu'ils utilisent la mme application des niveaux diffrents.
- 11 -
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
Comme il n'y a pas qu'un seul utilisateur acheteur, commercial ou magasinier il est ncessaire de pouvoir crer des groupes d'utilisateurs ayant les mmes accs. Ces accs sont appels droits. Ils dterminent qui peut faire quoi dans l'application.
- 12 -
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
Il est obligatoirement inscrit dans le groupe Utilisateurs. Il peut tre inscrit dans plusieurs groupes. Il hrite des droits de chaque groupe dans lesquel il est inscrit. Les utilisateurs natifs Administrateur, Utilisateur et Engine ne peuvent tre supprims.
V-B-4 - Droits
Il s'agit de l'ultime dfinition. Les droits autorisent ou interdisent les actions sur les objets de la base (tables, requtes...). Ils peuvent tre dfinis au niveau du groupe d'utilisateurs ou du compte d'utilisateur. Ils sont dfinis sur chaque objet de l'application.
V-B-5 - Objets
Vous connaissez dj les objets puisqu'ils composent une application Access.
Remarquez que les Modules et les Pages ne figurent pas dans la liste des objets pouvant tre scuriss. Un nouvel objet fait par contre son apparition, il s'agit de la Base de donnes. Pour les Modules et dans le cas ou vous ne pouvez pas mettre en place la protection par compilation vous pouvez vous servir de la protection par mot de passe sur le code.
V-B-6 - Hritage
L'hritage est la notion pivot de la scurit. Lorsqu'un utilisateur est inscrit dans un groupe, il hrite automatiquement des droits de ce groupe. Un exemple trs simple permet de bien comprendre ce concept. Le groupe 1 a le droit de supprimer les donnes, Le groupe 2 a le droit de modifier les donnes, L'utilisateur A a le droit d'ajouter des donnes.
Si vous inscrivez l'utilisateur A dans le groupe 1 : Il pourra supprimer des donnes (hritage du groupe 1) et en ajouter (ses propres droits). Vous l'inscrivez dans le groupe 1 et 2 : Il pourra supprimer, modifier des donnes (hritage du groupe 1 et 2) et en ajouter (ses propres droits). L'utilisateur hrite des droits du (ou des) groupe(s) dans lequel il est inscrit. Ces propres droits sont prioritaires sur ceux du groupe. Les droits dclars pour un utilisateur n'est valide que pour lui. Un utilisateur cumule les droits de tous les groupes dans lesquels il est inscrit en plus des siens. En aucun cas un utilisateur tant inscrit dans le mme groupe qu'un autre utilisateur bnficiera des droits de ce dernier. Seul le droit d'Administrer ne peut tre hrit il est toujours li un compte d'utilisateur.
- 13 -
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
V-B-7 - Propritaire
Voici une dfinition particulire lie uniquement l'objet. Il s'agit du propritaire de l'objet. Il ne peut y avoir qu'un propritaire par objet. Il peut y avoir plusieurs propritaires d'objets dans une application. Seul le propritaire Engine ne peut tre chang. Il rgit tous les objets systmes d'un fichier Microsoft Access. Cette proprit n'empche pas un administreur d'oprer des modifications sur un objet dont il n'est pas propritaire.
VI - Groupe de travail
Dans ce chapitre nous allons mettre en application les concepts thoriques du chapitre prcdent.
VI-A - Dmonstration
Le groupe de travail est toujours prsent dans une application mme s'il est momentanment transparent pour l'utilisateur. Nous allons en apporter la preuve : Ouvrez une application Allez dans le menu Outils / Scurit / Gestion des utilisateurs et des groupes...
Menu scurit Cliquez sur l'onglet Changer le Mot de passe Saisissez un mot de passe dans les zones de texte Nouveau et Confirmation
- 14 -
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
Dans le vif du sujet Confirmez en cliquant sur Ok ou Confirmer et Ok Fermez Access puis rouvrez une application. Sur les systmes Windows XP le nom d'utilisateur dans la fentre de connexion est le nom du compte de connexion Windows. Ceci est pratique en exploitation, mais ici il faut mettre Administrateur car c'est le compte par dfaut.
CQFD ! Une fois connect et tant que vous ne fermez pas Microsoft Access vous restez avec le compte de connexion et le groupe de travail prcdent. Remettez le mot de passe blanc : Allez dans le menu Outils / Scurit /Gestion des utilisateurs et des groupes... Cliquez sur l'onglet Changer le Mot de passe Entrez le mot de passe dans Ancien mot de passe n'entrez rien dans les autres zones de texte Confirmez en cliquant sur Ok ou Confirmer et Ok Fermez Access puis rouvrez une application. Notez que cette manipulation permet galement de changer le mot de passe.
- 15 -
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
Ces manipulations sont identiques pour initialiser, supprimer ou changer le mot de passe de n'importe quel utilisateur dclar. Aprs ces quelques manipulations simples nous allons crer un nouveau groupe de travail.
Gestionnaire de groupe de travail Si vous utilisez le groupe standard les informations Nom et Organisation apparaissent vides. L'information Fichier de groupe de travail indique le fichier qui est utilis pour le groupe de travail courant. Vous pouvez remarquer que ce fichier s'appelle SYSTEM.MDW. Avant d'effectuer les manipulations suivantes veillez faire une sauvegarde du fichier de scurit actif. C'est celui indiqu dans Fichier Groupe de travail. En cas de problme vous pouvez le rcuprer sur votre CD-Rom d'installation d'Office ou de Microsoft ACCESS. Notez que le fichier SYSTEM.MDW original est strictement identique pour toutes les licences Microsoft Access. Si vous l'ouvrez vous constaterez qu'il ne contient que des tables. Cliquez sur le bouton Crer... pour crer un nouveau fichier de groupe de travail (extension Mdw).
- 16 -
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
Paramtres du nouveau groupe Entrez le nom du groupe de travail dans la zone Nom. En principe un nom explicite dsignant soit l'application, soit un groupe d'utilisateurs d'applications (nom d'un service...). Entrez le nom de votre socit dans la zone Organisation. Identificateur de groupe de travail est un numro unique servant de clef de unique. Vous pouvez entrez jusqu' 20 caractres alpha-numriques. Validez les paramtres en cliquant sur Ok.
L'ensemble de ces informations constitue une protection contre la cration d'un nouveau fichier mdw. Enregistrez ces informations pour qu'en cas de problme vous puissiez le recrer. En effet dans le cas o aprs avoir scuris une application vous perdiez le fichier MDW correspondant il ne vous sera plus possible d'accder l'application.
Chemin pour le fichier 1 2 Indiquez le chemin et le nom d'un fichier mdw Utilisez le bouton Parcourir pour placer le fichier o vous le souhaitez.
Je vous conseille un nom explicite, soit le nom de l'application auquel il est destin, soit un nom plus gnrique dans le cas d'applications multiples. Toujours diffrent de system.mdw pour viter toute confusion.
- 17 -
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
Le nom et l'emplacement Je ne pense pas que vous ayez besoin d'explication pour le fonctionnement de cette fentre. Il est conseill de placer le fichier de scurit dans le mme rpertoire que l'application. Cela vite de l'garer sur vos disques et de ne plus savoir quel fichier va avec quelle(s) application(s). 1 2 Une fentre rappelant les informations apparait. Cliquez sur le bouton Ok pour confirmer ou Changer pour revenir la fentre prcdente pour faire des modifications.
Nouveau groupe en cours de cration Enfin une fentre apparait confirmant la cration du fichier de scurit. Cliquez sur Ok
- 18 -
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
Confirmation Voici l'ultime phase de la cration du fichier, vous venez de retourner sur le premier cran. Vous pouvez constater que le nouveau fichier est devenu actif.
Enfin ! c'est fait... Pour activer un autre fichier de scurit, l'original par exemple : 1 2 3 Cliquez sur le bouton Joindre... et suivez les instructions. Sinon le bouton Quitter vous permet de fermer cette fentre. Fermer la fentre.
Cette manipulation ne constitue aucun problme en soit, mais il faut bien la maitriser car vous serez ammen l'utiliser souvent.
- 19 -
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
Voici l'exemple d'un tableau ralis. Notez que n'importe quel tableur ou logiciel permettant de faire des tableaux fait l'affaire. A dfaut une simple feuille de papier, une rgle, un crayon et une gomme peuvent convenir.
Tableau des droits Vous pouvez remarquer que les groupes d'administration ne sont pas reprsents dans ce tableau. C'est normal car il s'agit d'un groupe ayant tout pouvoir il est donc inutile de faire une analyse.
- 20 -
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
Nom et PID Indiquez le Nom du Groupe et le Numro d'Indentification unique ou PID Personnal ID. Recommencez l'opration autant de fois qu'il y a de groupes. Attention le numro d'identification (PID) est trs important, il ne faut pas mettre le mme numro pour tous les groupes et/ou utilisateurs.
aucun Lire la structure, Modifier les donnes, Supprimer des donnes Lire la structure Lire les donnes, Lire la structure Lire les donnes, Lire la structure Lire les donnes, Lire la structure Lire la structure, Modifier la structure, Lire les donnes Modifier les donnes, Ajouter des donnes, Supprimer des donnes
- 21 -
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
Certains droits en impliquent d'autres, dans le tableau suivant nous dressons l'inventaire exhaustif pour les autres objets (formulaires, macros et tats). Droit choisi Ouvrir/Excuter Lire la structure Modifier la structure Administrer Droit(s) li(s) Aucun Aucun. Lire la structure. Ouvrir/Excuter, Modifier la structure, Lire la structure, Modifier la structure.
Nous venons de dfinir les droits du groupe Commerciaux pour les tables. Recommencez l'opration pour Acheteurs, Magasiniers, Comptabilit.
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
Pour le crer suivez les instructions suivantes : Allez dans le menu Outils/scurit/Gestion des utilisateurs et des groupes Cliquez sur l'onglet Utilisateurs
Un air de dj vu... Indiquez comme nom superutilisateur et un Numro d'Indentification unique ou PID Personnal ID. Recommencez l'opration pour les autres comptes d'utilisateurs. Comme pour les groupes n'oubliez pas de bien noter chaque N PID pour permettre leur recration.
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
Droulez la liste Utilisateurs pour choisir superutilisateur Dans la liste Groupe slectionnez le groupe Administrateurs Cliquez sur le bouton Inscrire Recommencez l'opration pour les autres comptes d'utilisateurs dans leur(s) groupe(s) respectif(s). Lorsque vous avez termin cliquez sur Ok Vous pouvez remarquer que tous les utilisateurs sont inscrits dans le groupe Utilisateurs. C'est tout fait normal, le groupe Utilisateurs est un groupe natif, tous les comptes utilisateurs en font partie. Comme le groupe Administrateurs il ne peut tre supprim et on ne peut dsinscrire ses membres.
Vous pouvez inscrire un utilisateur dans plusieurs groupes. Ceci aura pour effet de combiner les droits des groupes.
Le coeur est ici. Les utilisateurs dfinis apparaissent dans la liste droulante. Slectionnez l'utilisateur superutilisateur Slectionnez l'intgralit des tables (Shift + Clic)
- 24 -
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
Dfinition des droits du groupe Cliquez sur Administrer. Lorsque vous slectionnez Administrer tous les droits se slectionnent. Pour les objets suivants les droits sont lgrement diffrents mais il faut tous les cocher. Recommencez l'opration pour les objets Formulaires et <Nouveaux Formulaires> Recommencez l'opration pour les objets Etats et <Nouveaux Etats> Recommencez l'opration pour les objets Macros et <Nouvelles Macros> Recommencez l'opration pour les objets Requtes et <Nouvelles Tables/Requtes> Cliquez sur Appliquer pour enregistrer la modification.
- 25 -
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
Nouveau mot de passe entrez admin Confirmation entrez de nouveau admin Cliquez sur Appliquer et Ok Fermez Microsoft ACCESS
Un mot de passe ?
La scurisation est pratiquement termine, il ne reste que quelques manipulations effectuer pour verrouiller compltement notre fichier.
IX-D - Propritaire
Comme nous avons cr un compte d'administrateur (superutilisateur) nous allons changer la valeur Propritaire des objets. Le propritaire est celui qui a l'autorisation de modification des objets lui appartenant. Allez dans le menu Outils/scurit/Autorisations d'accs Cliquez sur l'onglet Changer de propritaire Slectionnez chaque objet ayant comme propritaire Administrateur (ctrl + click) Cliquez sur le bouton d'option Lister : Utilisateurs
- 26 -
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
On demande un mot de passe... Remplacez le nom Administrateur par superutilisateur Cliquez sur Ok Ouvrez le menu Outils/Scurit/Autorisations d'accs... Slectionnez Administrateur Slectionnez tous les objets Tables de la liste Cliquez 2 fois sur l'option Lire Structure pour tout dcocher
- 27 -
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
Dgrader Administrateur
Il manque encore une dgradation faire, celle du groupe Utilisateurs. Slectionnez Lister : Groupe Slectionnez Groupe Slectionnez tous les objets Tables Cliquez 2 fois sur l'option Lire Structure pour tout dcocher
- 28 -
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
XI - Tests
Pour nous assurer que la base est scurise nous allons faire quelques tests.
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
Test concluant
Groupe standard Ouvrez l'application, notez qu'aucun mot de passe ne vous est demand. Essayez d'ouvrir l'une des tables Vous obtenez le message mme message que prcdemment.
5 6
Option importante
Il est vident que le propritaire de la requte doit avoir les droits sur les tables concernes.
- 30 -
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
Si vous regardez le rsultat de cette manipulation vous pourrez constater que la chane SQL comporte une option supplmentaire : WITH OWNERACCESS OPTION Voici une requte avec l'option Propritaire
SELECT CLIENT.N_CLIENT, CLIENT.NOM FROM CLIENT WITH OWNERACCESS OPTION;
Vous pouvez utiliser cette option pour tous les types de requtes.
- 31 -
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
Application.CurrentUser
Il s'agit de l'utilisateur connect Microsoft Windows, il peut tre diffrent de celui de Microsoft ACCESS. Certain programmeur utilise le mme nom pour Windows et ACCESS.
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/
Comprendre et mettre en oeuvre la scurit sous Microsoft Access par Fabrice Constans
Debug.Print "
If Grp.Users.Count <> 0 Then For Each Usr In Grp.Users Debug.Print " " & Usr.Name Next Usr Else Debug.Print " Aucun Membre" End If Next Grp End With End Sub
XV - Remerciements
Je tiens remercier : Dolphy35 et Kikof pour le temps pass en relecture et correction. l'quipe de Developpez.com pour la qualit du site. Nono40 pour son super diteur XML qui se bonifie avec le temps comme un bon Bordeaux. Je prsente mes plus plates excuses ceux que j'aurais omis de remercier.
- 34 -
Copyright 2005 Fabrice CONSTANS. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. http://loufab.developpez.com/tutoriels/access/securite/