Tout le monde est administrateur
Dans une agence immobilière de Bordeaux, tous les salariés partagent le même compte administrateur.
Un stagiaire supprime par erreur le dossier des mandats de vente. Un ancien commercial se connecte encore trois mois après son départ.
Aucun pirate n’est en cause. Le problème vient des accès, et cette leçon montre comment les régler.
À la fin de cette leçon
Remarque
Je peux donner à chaque personne seulement l’accès dont elle a besoin.
Mots clés
| Mot | Ce que ça veut dire | Exemple |
|---|---|---|
| Droit d’accès | ce qu’une personne peut lire ou modifier | |
| Moindre privilège | le minimum d’accès utile au travail | |
| Rôle | un ensemble de droits lié à un poste | comptable |
| Administrateur | un compte qui peut tout faire | |
| Revue des accès | la vérification régulière de qui a quoi |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Chacun reçoit le minimum utile
Le moindre privilège est une règle simple. Chaque personne reçoit seulement les droits d’accès utiles à son travail.
Un commercial lit les mandats, mais pas les salaires. Une comptable paie les factures, mais ne supprime pas les mandats.
Si un compte est piraté, l’attaquant ne reçoit que ces droits. Une erreur fait aussi moins de dégâts.
Exemple : les besoins de l’agence
| Poste | A besoin de | N’a pas besoin de |
|---|---|---|
| Commercial | Lire les mandats, créer des visites | Voir les salaires |
| Comptable | Lire et payer les factures | Supprimer des mandats |
| Stagiaire | Lire les annonces publiées | Modifier un mandat |
| Directrice | Valider la paie | Administrer les serveurs |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
On donne les droits à un rôle
Régler les droits personne par personne devient vite ingérable. On crée plutôt des rôles : commercial, comptable, directrice.
Chaque rôle a sa liste de droits. Chaque personne reçoit un rôle.
Quand quelqu’un arrive, on lui donne un rôle. Quand quelqu’un part, on retire son compte le jour même. Le code suivant vérifie si une personne peut faire une action.
Essayez : personnes, rôles et actions
droits = {
"commercial": ["lire_mandats", "creer_visite"],
"comptable": ["lire_factures", "payer_facture"],
"directrice": ["lire_mandats", "lire_factures", "valider_paie"],
}
roles = {"Karim": "commercial", "Sophie": "comptable", "Nadia": "directrice"}
personne = "Karim"
action = "payer_facture"
# On cherche le rôle de la personne, puis les droits de ce rôle
role = roles[personne]
if action in droits[role]:
print(personne, "peut faire", action)
else:
print(personne, "ne peut pas faire", action)
# Remplacez action par "creer_visite", puis relancez.
Un fichier a aussi ses droits
Sur un serveur Linux, chaque fichier a un propriétaire, un groupe et des droits.
La commande ls -l les affiche. r veut dire lire, w écrire et x exécuter. La commande chmod 600 laisse lire et écrire le propriétaire seul.
Lancez le code pour protéger un fichier de paie.
Essayez : protéger le fichier de paie
mkdir -p agence && cd agence
printf 'nom;salaire\nMartin;2400\nDupuis;2650\n' > paie.csv
# Avant : regardez les droits du fichier
ls -l paie.csv
# Seul le propriétaire peut lire et modifier le fichier
chmod 600 paie.csv
ls -l paie.csv
# Essayez chmod 640, puis relancez ls -l
Une erreur fréquente
Attention
Beaucoup pensent que donner les droits d’administrateur à tous fait gagner du temps. Chaque erreur et chaque compte piraté peut alors tout casser. Donnez un compte administrateur seulement à qui administre, et servez-vous-en uniquement pour ces tâches.