• HOME
  • Articles
  • Les bonnes pratiques pour le stockage de données personnelles en base de données

Les bonnes pratiques pour le stockage de données personnelles en base de données

La gestion des données personnelles est devenue un enjeu majeur pour les entreprises, notamment depuis l’entrée en vigueur du RGPD. Stocker des données sensibles en base de données ne se limite plus à une simple architecture technique : il s’agit d’un acte de responsabilité. Une fuite, une mauvaise configuration ou un accès illégitime peut entraîner une perte de confiance, des sanctions financières, voire des dommages irréversibles pour les utilisateurs.

Dans cet article, nous allons explorer les bonnes pratiques essentielles pour sécuriser et stocker correctement les données personnelles, du design de la base de données à l’exploitation opérationnelle.


1. Ne stocker que les données nécessaires (principe de minimisation)

Avant même de parler de sécurité, la première règle est la minimisation :

  • Ne collecter que les données indispensables au fonctionnement du service.
  • Éviter les informations superflues (ex : date de naissance si l’âge suffit).
  • Définir une politique claire de durée de conservation.

Moins il y a de données, moins il y a de risques.


2. Chiffrer les données au repos (Encryption At Rest)

Les données personnelles doivent être protégées même si un attaquant accède directement à la base.
Pour cela :

  • Utiliser un chiffrement AES-256 ou équivalent.
  • Chiffrer les colonnes sensibles : emails, téléphones, adresses, informations financières.
  • Séparer les clés de chiffrement du serveur applicatif (Vault, KMS…).

Le chiffrement doit être automatique, transparent et robuste.


3. Chiffrer les données en transit

Aucune donnée ne doit circuler en clair entre les services :

  • Utiliser HTTPS/TLS 1.2+ pour toutes les communications.
  • Exiger des certificats valides pour chaque service interne.
  • Bloquer les requêtes non chiffrées au niveau du reverse proxy.

4. Utiliser un hachage sécurisé pour les mots de passe

Un mot de passe ne se stocke jamais en clair, ni même chiffré.
La norme moderne impose :

  • Argon2id (recommandé)
  • ou bcrypt avec cost élevé
  • ou PBKDF2 avec un haut nombre d’itérations

Toujours utiliser :

  • un salt unique par mot de passe
  • de la gestion du pepper côté serveur

Objectif : rendre le craquage extrêmement difficile même en cas de fuite.


5. Séparer les données personnelles des données métier

La segmentation est un moyen simple mais puissant :

  • Stocker les données d’identification dans une table dédiée (ex : users_identity).
  • Ne laisser que les IDs techniques dans les tables métier.
  • Restreindre les accès à la table sensible via vues SQL, RLS (Row-Level Security) ou ORM.

Ainsi, une compromission d’une table métier ne donne pas immédiatement accès aux données privées.


6. Gérer l’accès par rôles (RBAC) et principes du moindre privilège

Les accès à la base doivent être strictement contrôlés :

  • Un utilisateur “lecture seule” ne doit pas pouvoir écrire.
  • Les développeurs ne doivent pas voir les données en production.
  • Les scripts, batchs et services doivent avoir des accès indépendants.

Chaque rôle doit avoir uniquement les permissions dont il a besoin.


7. Suivre et tracer les opérations (Audit logs)

Pour détecter les anomalies, il faut savoir ce qui se passe dans la base :

  • Activer les logs d’audit : accès, modifications, suppressions.
  • Garder un historique chiffré et horodaté.
  • Détecter les comportements inhabituels via alertes automatiques.

8. Mettre en place une politique de sauvegarde sécurisée

Les sauvegardes doivent être protégées :

  • Sauvegarder les bases chiffrées.
  • Stocker les backups dans des environnements isolés.
  • Tester régulièrement les restaurations.
  • Limiter les accès aux sauvegardes (accès souvent trop ouverts).

9. Appliquer les correctifs de sécurité et durcir les configurations

  • Mettre à jour les SGBD (PostgreSQL, MySQL, MariaDB…).
  • Désactiver les fonctionnalités inutiles (ex : connexion root distante).
  • Utiliser un firewall applicatif (WAF).
  • Sécuriser les accès SSH et administratifs.

10. Respecter les obligations légales (RGPD, CNIL, GDPR…)

Stocker des données personnelles implique :

  • Informer l’utilisateur du type de données collectées.
  • Lui permettre de demander l’accès, la modification ou l’effacement.
  • Documenter les traitements (registre RGPD).
  • Mettre en place un DPO lorsque nécessaire.
  • Prévoir une politique de rétention des données conforme.

Conclusion

Le stockage de données personnelles n’est pas uniquement un défi technique : c’est aussi un engagement moral et réglementaire envers les utilisateurs. En appliquant les bonnes pratiques de sécurité – chiffrement, minimisation, segmentation, contrôle des accès, audit, backup et conformité – une entreprise peut significativement réduire les risques de fuite et renforcer sa crédibilité.

Pour les organisations utilisant Symfony, ces bonnes pratiques s’intègrent parfaitement via :

  • Les encryptors côté Doctrine,
  • Les bundles de sécurité,
  • Les services Vault/KMS couplés à l’environnement,
  • Les mécanismes d’authentification robustes.

To Page Top