evcs_lecture n est pas en lecture seule, contrairement a ce que j ecrivais
Verification des droits reels : SELECT sur toutes les tables, plus INSERT sur `evenement` — un octroi deliberé et documente plus haut dans ce meme README (les annotations qu aucun service ne peut deviner s ecrivent a la main), mais que deux autres passages decrivaient comme « lecture seule ». Je l ai moi-meme affirme a un pair qui prepare un acces pour un agent externe. La consequence est concrete : confier ce role a un tiers lui donnerait l ecriture sur le journal qui alimente les annotations Grafana, le rapport de nuit et l attribution des transitions — et ses lignes y seraient indiscernables des notres. Pour un tiers : un role dedie, SELECT sur les seules tables necessaires. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GwpFpy2aQ2rJok6tNQSbVj
This commit is contained in:
@@ -152,7 +152,7 @@ qu'on attend d'un journal, et ça laisse les tables de mesure hors de portée.
|
||||
sudo bash creer-role-lecture.sh
|
||||
```
|
||||
|
||||
Crée le rôle `evcs_lecture` en **lecture seule** et dépose son mot de passe dans
|
||||
Crée le rôle `evcs_lecture` et dépose son mot de passe dans
|
||||
le `.env` à la racine du dépôt. Le mot de passe est généré, jamais choisi, et
|
||||
**n'est pas affiché** : il va du générateur au fichier, donc rien à recopier et
|
||||
rien à exposer dans une capture.
|
||||
@@ -286,7 +286,23 @@ quel tableau de bord en crée une copie personnelle et modifiable.
|
||||
|
||||
Il ne **stocke** rien : il interroge les deux bases à la demande. Le perdre ne
|
||||
perd aucune mesure. Il n'écrit rien non plus — sa connexion PostgreSQL utilise
|
||||
le rôle `evcs_lecture`, en lecture seule.
|
||||
le rôle `evcs_lecture`.
|
||||
|
||||
⚠️ **`evcs_lecture` N'EST PLUS EN LECTURE SEULE**, et ce README l'a longtemps
|
||||
écrit à tort. Il porte un `INSERT` sur `evenement` (voir plus haut, annotations
|
||||
manuelles) : SELECT partout, plus INSERT sur cette seule table. Vérifiable :
|
||||
|
||||
```sh
|
||||
psql -U evcs_lecture -d evcs -c "select table_name, privilege_type
|
||||
from information_schema.table_privileges where grantee='evcs_lecture'"
|
||||
```
|
||||
|
||||
Conséquence pratique : **ne pas confier ce rôle à un tiers** — un agent, un
|
||||
service externe, un tableau de bord hébergé ailleurs. Le journal `evenement`
|
||||
alimente les annotations Grafana, le rapport de nuit et l'attribution des
|
||||
transitions ; une écriture venue d'ailleurs y serait indiscernable d'une nôtre.
|
||||
Pour un tiers, créer un rôle dédié avec `SELECT` sur les seules tables dont il
|
||||
a besoin.
|
||||
|
||||
### ⚠️ Ce que `--dry-run` ne peut pas vérifier
|
||||
|
||||
|
||||
Reference in New Issue
Block a user