Le site depose fiche-site.yml chez ses locataires (make fiches-site- deposer) ; l'instancier y lit temps, delegation DNS et routage. Sans le site, l'inventaire genere est identique au versionne, a l'octet pres. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
11 KiB
Pour qui : le locataire et l'hébergeur — les deux lisent le même texte, et c'est le but. Un partage de responsabilités dont chaque partie aurait sa version est un désaccord qui attend son incident.
Responsabilités du locataire et de l'hébergeur
1. Le principe : une responsabilité est la conséquence d'un pouvoir
Ce document ne distribue pas des devoirs par bonne volonté. Il les dérive :
Qui peut, doit. Qui ne peut pas, ne peut pas être tenu — et personne ne peut se décharger sur celui qui ne peut pas.
Trois règles en découlent, et elles décident de tout le reste :
- À chaque pouvoir sa responsabilité. Un pouvoir sans devoir correspondant est une prise sur autrui ; un devoir sans pouvoir correspondant est un piège.
- Une responsabilité sans mécanisme est un vœu. Chaque ligne du tableau nomme l'endroit du système qui la rend vraie — un rôle, une garde, une commande. Ce qui n'a pas de mécanisme est écrit au §5, parmi les points non tranchés, plutôt que promis.
- Le silence ne crée pas de responsabilité. Si une ligne n'a pas de vis-à-vis, ce n'est pas une zone partagée : c'est un trou, et il se voit.
2. La ligne de partage : trois portées, et aucun pouvoir total
C'est la structure même du moteur, pas une convention de contrat
(roles/serveur_ops_tenant/README.md) :
calculer plan → inventaire aucune voûte n'importe quel runner
configurer des rôles sur ses machines voûte du TENANT le runner du locataire
matérialiser créer / détruire des VM voûte du SITE le runner de l'hébergeur
Aucun runner n'est omnipotent. Celui de l'hébergeur matérialise le terrain et n'entre jamais chez un locataire ; celui du locataire configure son écosystème et ne touche jamais la fabric. Tout ce qui suit découle de cette coupure.
3. Le tableau
| Le pouvoir | Qui le détient | La responsabilité qui en découle | Ce que l'autre ne peut donc pas faire à sa place |
|---|---|---|---|
Créer et détruire les machines (raser, site-raser, clonage du gabarit) |
l'hébergeur | Que les machines existent, démarrent et tiennent ; qu'aucune destruction n'ait lieu sans confirmation explicite ni sans sauvegarde hors du site au préalable | Le locataire ne peut pas garantir l'existence de ses machines, ni se les rendre lui-même |
| Le réseau, la frontière et le stockage (SDN, VLAN, OPNsense, Ceph) | l'hébergeur | Que le chemin existe et que la bordure refuse ce qui n'est pas déclaré ; prévenir avant toute coupure planifiée | Le locataire ne peut pas ouvrir un flux vers l'extérieur sans que l'hébergeur l'applique |
Déclarer ses flux (roles/*/meta/flux.yml, pare-feu d'hôte) |
le locataire | Déclarer ce que ses services ont besoin d'échanger ; ce qui n'est pas déclaré est refusé, et c'est voulu | L'hébergeur ne peut pas deviner un flux applicatif ; il n'ouvrira rien « au cas où » |
| Configurer les services (son runner, sa voûte) | le locataire | L'état de ses services : ce qui est déployé, à jour, et conforme à son plan | L'hébergeur ne peut pas configurer un service du locataire : il n'a pas sa voûte |
| L'annuaire et l'entrée unique (LDAP, Keycloak) | le locataire | Qui entre, qui sort, et quand — créer, désactiver, révoquer sans attendre personne | L'hébergeur ne peut retirer l'accès de personne : mutualiser l'annuaire serait lui confier ses gens |
| Les habilitations (appartenance aux groupes, D-66/D-67) | le locataire | Tenir ses groupes à jour. Le moteur amorce un accès puis se retire : il ne réconcilie jamais les appartenances | Ni l'hébergeur ni l'outillage ne corrigeront un groupe : un redéploiement n'efface pas le compte créé la veille |
| Son autorité de certification (step-ca, D-87) | le locataire | Renouveler ses certificats, et recharger les services qui les servent — un certificat renouvelé sur disque reste servi périmé en mémoire | L'hébergeur ne peut pas émettre de certificat au nom du locataire, et c'est délibéré : il pourrait sinon se faire passer pour n'importe lequel de ses services |
| Ses journaux (Loki, D-87) | le locataire | Les lire, les conserver, et les fournir s'il demande de l'aide | L'hébergeur ne voit pas les journaux du locataire : il ne peut donc pas diagnostiquer un incident applicatif à sa place |
| La disponibilité de la fabric (une VM est-elle debout ?) | l'hébergeur | Constater qu'une machine est tombée et le dire — c'est sa fabric | Le locataire n'a pas de vue sur l'hyperviseur qui porte ses VM |
| Les métriques d'hébergement (charge, disque) | l'hébergeur, avec réserve | S'en servir pour dimensionner et prévenir, pas pour lire l'activité d'une organisation — elles disent quand et combien | — (elles ne disent pas quoi : le contenu reste hors de portée) |
Le dépôt de sauvegarde (serveur_backup, chiffré côté client) |
l'hébergeur | Que le dépôt accepte encore une écriture : espace, droits, système de fichiers en lecture seule. Sa sonde constate l'endroit, jamais le contenu | L'hébergeur ne peut pas juger un instantané : il héberge des octets qu'il ne peut pas ouvrir |
| La clé de ses sauvegardes (restic) | le locataire | Juger que ses instantanés sont récents, complets et restaurables, et éprouver une restauration. La vérification suit la clé | Personne ne peut vérifier une sauvegarde à la place de qui détient la clé — et sa perte les rend définitivement illisibles |
| Sa voûte et ses secrets (jamais mutualisée) | le locataire | Garder sa clé hors de l'infrastructure qu'elle ouvre, en double, et faire tourner ses secrets | L'hébergeur ne peut pas recouvrer une clé de voûte perdue : il n'en a aucune copie, par construction |
| Le courriel (relais à la bordure) | partagé | L'enveloppe transite chez l'hébergeur, qui en répond ; le contenu appartient au locataire, qui en répond | L'hébergeur ne lit pas le contenu ; le locataire ne tient pas la réputation de la bordure |
| La forge du génome (D-81) | l'hébergeur | Tenir l'autorité du génome disponible : c'est de là qu'un écosystème se reproduit | Le locataire ne dépend pas d'elle pour vivre — seulement pour se reconstruire ; il peut en garder son propre miroir |
L'accès de secours par sudo (D-40) |
l'hébergeur, tant qu'il exploite | Le dire plutôt que de le taire : exploiter une machine, c'est pouvoir tout y lire. C'est la raison d'être du second temps de la remise, et de sa date | Le locataire ne peut pas le supprimer sans reprendre lui-même l'exploitation — d'où une échéance écrite, pas une confiance indéfinie |
La remise des clés (make remise-*, garde P80) |
l'hébergeur remet, le locataire reçoit | Remettre en deux temps : l'identité le jour de la livraison, la machine à l'échéance — sa clé entre, la nôtre sort, la voûte est re-clétée | Un accès qu'on oublie de rendre ne devient pas légitime en vieillissant : la garde signale tout retard |
Nommer le responsable désigné (D-18, remise.yml) |
le locataire | Nommer la personne qui engage l'organisation, et la maintenir à jour | L'hébergeur ne peut pas la désigner : ce serait choisir qui a le droit de le quitter |
| Décider de partir (migration, émancipation) | le locataire | Mandater, et emporter ce qui est à lui : son plan, ses données, sa voûte, ses domaines | L'hébergeur ne peut ni retenir ni décider à sa place ; la machine instruit, l'humain décide |
Libérer un partant (migration-tenant.md §6) |
l'hébergeur | Révoquer, pas transmettre : ses accès tombent, puis rétention convenue, puis purge | Le locataire ne peut pas vérifier lui-même la purge ; elle est un engagement daté, pas une mesure |
4. Ce que personne ne peut déléguer
Trois choses ne se confient à aucune des deux parties, parce que les confier les annule :
- La phrase de passe d'un paquet de remise ne voyage jamais avec le support qu'elle ouvre. Séparés, ils ne valent rien l'un sans l'autre ; ensemble, ils valent l'écosystème.
- La seconde copie d'une clé, dans un autre lieu physique. Un support unique dans un tiroir unique n'est pas une sauvegarde, c'est le même risque déplacé de quelques mètres.
- La comparaison d'une empreinte avant d'installer une autorité de certification. Installer une AC, c'est lui donner le droit de signer n'importe quel nom : la comparaison est ce qui distingue sa racine d'une racine interceptée.
5. Ce qui n'est pas tranché — et qui reste donc à convenir
Nommer un point ouvert vaut mieux qu'une ligne rassurante sans mécanisme derrière.
- Le recouvrement de la clé du responsable désigné. Elle se perd, se compromet, ou la personne quitte l'organisation. Sans procédure, un locataire devient inmigrable : captif non par contrat mais par accident. Piste retenue : un contact de secours nommé en même temps que le responsable, tant que personne n'est en situation d'urgence.
- Comment on change de responsable désigné — acte au moins aussi sensible que la migration, puisqu'il décide qui pourra la mandater ensuite.
- La durée de rétention avant purge chez un hébergeur sortant : elle se convient, elle ne se dérive pas.
- La preuve que l'hébergeur ne peut plus entrer. Le plan déclare la révocation et le
déploiement l'applique ; le vérifier depuis l'extérieur demande d'essayer d'entrer, donc
une machine vivante (
make emancipation-prouver).
6. Comment chaque ligne se vérifie
Aucune de ces responsabilités n'est laissée à la parole :
make prouver le dépôt est-il cohérent avec lui-même (91 preuves, zéro réseau)
make remise-verifier le second temps de la remise est-il fait, ou en retard ? (P80)
make certificats-plan ce que le disque porte contre ce que la mémoire sert
make expositions-plan chaque service publié répond-il, et depuis où
make identite-plan royaume, fédération, politique de mot de passe, comptes
make emancipation-prouver un lien d'hébergement est-il réellement coupé
make deployer répare, les devis constatent : les confondre fait perdre
l'information au moment où elle sert.
Le partage décrit ici n'est pas une politique commerciale : c'est la forme du système. Chaque fois qu'il a été possible de donner un pouvoir au locataire, il lui a été donné — et chaque fois que l'hébergeur a conservé un pouvoir, c'est parce que quelqu'un doit porter la fabric, et cela s'écrit ici plutôt que de se découvrir le jour d'un incident.