Trop de sécurité !

J’ai sécurisé une base Access. Le problème est que toutes mes autres bases sont verrouillées et qu’un mot de passe m’est demandé à chaque démarrage.

La sécurité est gérée par un fichier .mdw. C’est dans ce fichier que sont définis les groupes et les utilisateurs pouvant accéder à une base. Lorsque vous mettez en place la sécurité, vous associez une base de données à un fichier .mdw précis. L’association peut se faire de deux manières :

Vous associez Access tout entier à un fichier .mdw

Dans ce cas, Access (« tout entier ») est connecté à un fichier .mdw sécurisé, il demande donc une identification à chaque démarrage. Ca ne signifie pas pour autant que toutes les bases sont verrouillées !

Cette association est établie via l’Administrateur de Groupe de travail (disponible dans le menu Démarrer / Programmes ou dans le dossier d’installation d’Access – cherchez wrkgadm.exe). A partir d’Access 2002, l’option est disponible directement depuis Outils / Sécurité.

Vous associez uniquement une base de données au fichier .mdw

Dans ce cas, seule la base concernée demande une identification au démarrage. Les autres continuent de fonctionner avec le fichier standard system.mdw. Dans ce second cas, l’association base / groupe de travail se fait au niveau du raccourci Windows.

3 options de ligne commande sont disponibles (consultez l’aide d’Access pour les détails) :

  • /wrkgrp définit le groupe de travail,
  • /user définit l’utilisateur par défaut, si nécessaire,
  • /pwd définit le mot de passe par défaut, si nécessaire aussi (ne pas abuser : un mot de passe en clair dans un raccourci n’est pas ce qu’on fait de mieux !).
Info
Pour plus de détails sur la création d’un raccourci Windows, lisez cet article du blog.

Conseils

  • Lorsque vous définissez des groupes et des utilisateurs, faites-le dans un fichier .mdw spécifique, pas dans le fichier system.mdw livré avec Access. Ca vous évitera justement de tout sécuriser !
  • Avant d’appliquer des procédures de sécurité (sécurité utilisateur, mots de passe, conversion .mde et ce genre de joyeusetés), n’oubliez pas de faire une copie de vos bases d’origine.
  • Consultez ces pages Sécurité pour plus de détails.

Vous aimerez aussi...

2 réponses

  1. Hervé Inisan dit :

    Dorian > Il y a bien une gestion de la sécurité dans Access (voir la page Sécuriser une base sur self-access.com). Donc pour la première partie de la question : il est effectivement possible de créer un ou plusieurs administrateurs (il en existe d’ailleurs un par défaut, tout le temps), et un ou plusieurs utilisateurs.

    Maintenant, la « sécurité utilisateur » dans Access (comme dans la plupart des bases de données) gère l’accès aux objets de la base, pas aux données. Ça veut dire que si l’utilisateur A a le droit le lire/modifier la table X, il peut lire/modifier toutes les données de cette table.

    En d’autres termes, il va sans doute falloir que tu combines la « sécurité utilisateur » d’Access avec une gestion supplémentaire en VBA. Du genre : un champ de la table qui contiendra le nom du créateur de la ligne, et qui permettra d’afficher ou non cette ligne, par des critères de requêtes ou du code VBA. Ça fait une belle petite usine à gaz à mettre en place. 😉

  2. Dorian dit :

    Bonjour,

    Dans un premier temps je tiens à remercier le réalisateur de ce site très utile pour aider dans la conception de base de donnée. Une grosse partie des fonctionnalités de ma BDD repose sur les posts affichés ici!

    Dans le cadre de sécurisation de ma base de données, j’aimerais savoir s’il était possible de créer:
    -plusieurs administrateurs avec chacun d’eux un mot de passe qui leur est spécifique
    -plusieurs utilisateurs qui ne pourront modifier que les données qu’ils rentrent, et lire les données rentrées par les autres.

    EX:
    Utilisateur « a » rentre des données
    Utilisateur « b » rentre des données
    Utilisateur « a » peut modifier, rentrer ses données et lire les données de « b » mais pas modifier les données de « b »
    Utilisateur « b » peut modifier, rentrer ses données et lire les données de « a » mais pas modifier les données de « a »

    Merci d’avance pour l’aide que vous pouvez m’apporter !

    A+

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *