👤 Gestion des droits et accès aux données

Bloc 3 Module 3.1 BTS SIO SISR
FormationBTS SIO option SISR — IRIS Mediaschool
BlocB3 — Cybersécurité des services informatiques
ModuleM3.1 — RGPD et protection des données personnelles
Durée4 heures
PrérequisC3.1.1 — Cadre réglementaire RGPD, notions d'Active Directory et de gestion des droits

🎯 Objectifs

  • Comprendre le principe du moindre privilège et son application à la protection des données
  • Maîtriser les modèles de contrôle d'accès : RBAC, ABAC, DAC, MAC
  • Mettre en place une gestion des droits conforme au RGPD
  • Configurer les journaux d'accès pour assurer la traçabilité
  • Répondre aux demandes d'exercice de droits des personnes concernées
  • Comprendre la pseudonymisation et l'anonymisation des données

📖 Savoirs associés

  • Modèles de contrôle d'accès : DAC, MAC, RBAC, ABAC
  • Principe du moindre privilège (PoLP)
  • Gestion des habilitations en entreprise
  • Journalisation des accès aux données personnelles
  • Pseudonymisation vs anonymisation
  • Procédures de gestion des demandes d'exercice de droits

📖 Principe du moindre privilège

Définition

Le principe du moindre privilège (Principle of Least Privilege — PoLP) stipule que tout utilisateur, programme ou système ne doit disposer que des droits strictement nécessaires à l'accomplissement de ses fonctions légitimes. C'est l'un des fondements de la sécurité des systèmes d'information et un impératif du RGPD (article 5, paragraphe 1f — intégrité et confidentialité).

En pratique, cela signifie :

  • Un employé du service comptabilité ne doit pas avoir accès aux dossiers RH
  • Un développeur ne doit pas avoir accès aux données de production contenant des données personnelles réelles
  • Un compte de service ne doit avoir que les droits nécessaires à son fonctionnement
  • Les droits d'administration ne doivent pas être utilisés pour les tâches courantes

📖 Modèles de contrôle d'accès

DAC — Discretionary Access Control

Le propriétaire d'une ressource décide lui-même qui peut y accéder. C'est le modèle des permissions NTFS sous Windows ou des permissions Unix (chmod). Simple mais difficile à maintenir à grande échelle : si l'utilisateur A partage ses droits avec B, le gestionnaire perd le contrôle.

MAC — Mandatory Access Control

Les droits sont définis par une politique centrale (l'administrateur), non par les propriétaires des ressources. Les ressources sont classifiées (ex : Public, Confidentiel, Secret) et les utilisateurs ont un niveau d'habilitation. Utilisé dans les environnements militaires et gouvernementaux, et partiellement dans SELinux et AppArmor.

RBAC — Role-Based Access Control

Le modèle le plus répandu en entreprise. Les droits sont associés à des rôles (fonctions métier), et les utilisateurs reçoivent un ou plusieurs rôles. Les droits d'accès aux données personnelles sont définis par rôle :

RôleAccès aux données clientsAccès aux données RHAccès aux logs
CommercialLecture/ÉcritureAucunAucun
RHAucunLecture/ÉcritureAucun
Administrateur SILecture seule (audit)Lecture seule (audit)Lecture/Écriture
DPOLecture (audit RGPD)Lecture (audit RGPD)Lecture

ABAC — Attribute-Based Access Control

Modèle plus flexible que RBAC : les droits sont déterminés par des attributs (de l'utilisateur, de la ressource, de l'environnement). Exemple : un médecin peut accéder au dossier d'un patient uniquement s'il est le médecin référent ET si le patient est hospitalisé ET si la consultation a lieu pendant les heures ouvrées.

📖 Implémentation technique des contrôles d'accès

Active Directory et groupes de sécurité

Sous Windows, le RBAC se traduit par des groupes de sécurité Active Directory. Les droits d'accès aux dossiers, bases de données et applications sont assignés aux groupes, et les utilisateurs sont membres des groupes correspondant à leurs rôles.

# PowerShell — Créer un groupe de sécurité pour les RH
New-ADGroup -Name "GRP_RH_Lecture" -GroupScope Global -GroupCategory Security -Path "OU=Groupes,DC=iris,DC=local"

# Ajouter un membre au groupe
Add-ADGroupMember -Identity "GRP_RH_Lecture" -Members "jdupont"

# Vérifier les membres
Get-ADGroupMember -Identity "GRP_RH_Lecture" | Select Name, SamAccountName

Permissions NTFS sur les dossiers contenant des données personnelles

# Appliquer des permissions NTFS (PowerShell)
$acl = Get-Acl "D:\DonneesPersonnelles\RH"

# Supprimer l'héritage et les permissions existantes
$acl.SetAccessRuleProtection($true, $false)

# Ajouter une règle : GRP_RH_Lecture — Lecture seule
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule(
    "IRIS\GRP_RH_Lecture", "ReadAndExecute", "ContainerInherit,ObjectInherit", "None", "Allow"
)
$acl.AddAccessRule($rule)
Set-Acl "D:\DonneesPersonnelles\RH" $acl

Journalisation des accès

Le RGPD impose de tracer les accès aux données personnelles afin de pouvoir détecter les violations et démontrer la conformité. Sous Windows, activer l'audit dans les GPO :

# Activer l'audit d'accès aux objets via GPO
# Chemin : Configuration ordinateur > Paramètres Windows > Paramètres de sécurité
#          > Stratégies locales > Stratégie d'audit
# → Audit de l'accès aux objets : Succès et Échec

# Configurer l'audit sur un dossier (PowerShell)
$acl = Get-Acl "D:\DonneesPersonnelles\RH"
$auditRule = New-Object System.Security.AccessControl.FileSystemAuditRule(
    "Everyone", "ReadData,WriteData,Delete", "ContainerInherit,ObjectInherit", "None", "Success,Failure"
)
$acl.AddAuditRule($auditRule)
Set-Acl "D:\DonneesPersonnelles\RH" $acl

# Consulter les événements d'audit (Event ID 4663)
Get-WinEvent -LogName Security | Where-Object {$_.Id -eq 4663} | Select -First 20

📖 Pseudonymisation et anonymisation

Anonymisation

L'anonymisation consiste à modifier les données de manière irréversible afin qu'il soit impossible d'identifier la personne concernée. Des données véritablement anonymisées ne sont plus des données personnelles et sortent du champ d'application du RGPD.

Techniques : suppression, généralisation (ex : âge exact → tranche d'âge), agrégation, randomisation, k-anonymat.

⚠️ L'anonymisation véritable est difficile

De nombreuses tentatives d'anonymisation se révèlent insuffisantes : une combinaison de données (code postal, sexe, date de naissance) peut suffire à ré-identifier une personne dans une grande proportion des cas. La CNIL fournit des recommandations détaillées sur les techniques d'anonymisation.

Pseudonymisation

La pseudonymisation remplace les identifiants directs par des pseudonymes (identifiants aléatoires). Les données restent des données personnelles (la ré-identification reste possible avec la table de correspondance), mais le RGPD la reconnaît comme mesure de sécurité appropriée (article 25 et 89) réduisant les risques.

# Exemple Python — pseudonymisation d'une table de données
import hashlib
import secrets

def pseudonymize(value, salt):
    """Remplace une valeur par son hash HMAC-SHA256"""
    return hashlib.sha256((salt + value).encode()).hexdigest()[:16]

# Sel secret stocké séparément (jamais dans la DB)
salt = secrets.token_hex(32)

# Pseudonymisation
data = {"nom": "Dupont", "prenom": "Jean", "email": "jean.dupont@example.com"}
pseudo_data = {k: pseudonymize(v, salt) for k, v in data.items()}
print(pseudo_data)
# {'nom': 'a3f2...', 'prenom': '7c1d...', 'email': 'b8e9...'}

📖 Gestion des demandes d'exercice de droits

Le RGPD impose de répondre aux demandes d'exercice de droits dans un délai d'un mois (prolongeable à trois mois en cas de demandes complexes). La procédure doit être définie et documentée :

  1. Réception de la demande : canal dédié (formulaire, email DPO)
  2. Vérification de l'identité : s'assurer que la personne est bien celle qu'elle prétend être
  3. Traitement : identifier les données, évaluer la recevabilité de la demande
  4. Réponse : dans le délai légal, en clair et gratuitement
  5. Traçabilité : consigner la demande et la réponse apportée

🛠️ Outils / Ressources

  • Active Directory (Windows Server) : gestion centralisée des groupes et droits
  • OpenLDAP : annuaire LDAP open source
  • HashiCorp Vault : gestion des secrets et contrôle d'accès
  • CNIL — Guide pratique pour les sous-traitants
  • Outil de gestion des demandes RGPD (ex : OneTrust, Didomi)

📝 QCM — Testez vos connaissances

  1. Qu'est-ce que le principe du moindre privilège ?
  2. Quelle est la différence entre RBAC et ABAC ?
  3. Dans quel délai doit-on répondre à une demande d'accès d'une personne concernée ?
  4. Des données pseudonymisées sont-elles des données personnelles au sens du RGPD ?
  5. Quel ID d'événement Windows correspond à un accès à un objet dans les logs de sécurité ?
  6. Pourquoi la journalisation des accès aux données personnelles est-elle importante pour la conformité RGPD ?
📝 Afficher les corrections
  1. Tout utilisateur ou système ne doit avoir que les droits strictement nécessaires à ses fonctions — Il limite la surface d'attaque et réduit les risques d'accès non autorisé ou accidentel aux données personnelles.
  2. RBAC attribue les droits selon des rôles prédéfinis ; ABAC les attribue selon des attributs dynamiques (utilisateur, ressource, contexte). ABAC est plus flexible mais plus complexe à administrer.
  3. 1 mois à compter de la réception de la demande (prolongeable à 3 mois en cas de complexité, avec information de la personne dans le premier mois).
  4. Oui — La pseudonymisation conserve la possibilité de ré-identification via la table de correspondance. Ce sont donc toujours des données personnelles, mais mieux protégées.
  5. Event ID 4663 — "Une tentative d'accès à un objet a été effectuée" dans le journal de sécurité Windows.
  6. Pour détecter les violations, démontrer la conformité et répondre aux demandes de traçabilité (accountability) — L'article 5(2) du RGPD impose au responsable de traitement de pouvoir démontrer qu'il respecte les principes.
← Cours précédent Cours suivant →