Sécurité des bases de données

De RAD Studio
Aller à : navigation, rechercher

Remonter à Utilisation des bases de données


Les bases de données contiennent souvent des informations sensibles. Différentes bases de données offrent des schémas de sécurité pour protéger ces informations. Certaines bases de données, comme Paradox et dBASE, n'offrent une protection qu'au niveau des tables ou des champs. Lorsque les utilisateurs essaient d'accéder aux tables protégées, ils doivent fournir un mot de passe. Une fois identifiés, ils ne peuvent visualiser que les champs (colonnes) pour lesquels ils disposent d'une permission.

La plupart des serveurs SQL requièrent un mot de passe et un nom d'utilisateur pour être utilisés. Une fois que l'utilisateur est connecté à la base de données, le nom d'utilisateur et le mot de passe déterminent les tables qu'il peut utiliser. Pour plus d'informations sur l'attribution de mots de passe pour accéder aux serveurs SQL, voir Contrôle de la connexion au serveur.

Lorsque vous concevez des applications de bases de données, vous devez envisager le type d'authentification requis par votre serveur de base de données. Les applications sont souvent conçues de telle sorte que la connexion de base de données explicite soit masquée, si bien que les utilisateurs ont uniquement besoin de se connecter aux applications. Si vous ne souhaitez pas que vos utilisateurs aient besoin de fournir un mot de passe, vous devez soit utiliser une base de données qui n'en requiert pas, soit fournir le mot de passe et le nom d'utilisateur au serveur par programmation. Lorsque vous fournissez le mot de passe par programmation, vous devez veiller à ce que la sécurité ne soit pas violée par lecture du mot de passe à partir de l'application.

Si vous obligez les utilisateurs à fournir un mot de passe, vous devez déterminer à quel moment ce dernier est requis. Si vous utilisez une base de données locale mais envisagez de passer à un serveur SQL plus important, vous pouvez inviter l'utilisateur à fournir son mot de passe au moment où il se connecte à la base de données SQL plutôt qu'à l'ouverture des différentes tables.

Si votre application requiert plusieurs mots de passe pour la connexion à plusieurs bases de données ou systèmes protégés, vous pouvez demander aux utilisateurs de fournir un mot de passe maître unique qui permet d'accéder à une table de mots de passe requis par ces systèmes. L'application fournit alors les mots de passe par programmation, sans que les utilisateurs aient besoin de fournir plusieurs mots de passe.

Dans les applications multiniveaux, vous pouvez utiliser un modèle de sécurité différent. Vous pouvez utiliser HTTPs ou COM+ pour contrôler l'accès aux niveaux intermédiaires et laisser ces derniers gérer tous les détails relatifs à l'accès aux serveurs de bases de données.

Voir aussi