
Rôles et permissions dans SSP Enterprise
La question qui décide si la conservation partagée fonctionne vraiment n'est pas « qui commande ? ». C'est « qui peut déplacer l'argent ? » — et dans un système bien construit ce sont deux questions différentes avec des réponses différentes.
SSP Enterprise y répond en deux endroits séparés. L'autorité administrative vit dans les enregistrements de l'organisation, où elle peut être accordée et révoquée comme n'importe quelle permission. L'autorité de dépense vit dans l'adresse du coffre, où elle ne peut pas l'être. Cet article est la carte complète des deux, y compris les cas où les gens sont le plus souvent surpris.
Si vous n'avez pas lu le panorama de l'articulation entre organisations et coffres, SSP Enterprise : des coffres multisig pour les équipes est la pièce qui précède celle-ci.
Deux systèmes, à dessein
Un rôle d'organisation gouverne l'espace de travail : inviter des personnes, créer des coffres, modifier des réglages, lire la piste d'audit. C'est un enregistrement en base de données. Modifiez-le et le changement prend effet immédiatement.
Un rôle de coffre gouverne un coffre précis, et l'une de ses trois valeurs — signataire — signifie que votre clé publique fait partie de la dérivation de l'adresse de ce coffre. Cela ne se change pas en éditant quoi que ce soit. Cela ne se change qu'en créant un autre coffre à une autre adresse et en déplaçant les fonds.

La conséquence pratique, et la phrase la plus importante de cet article : un propriétaire d'organisation qui n'est pas signataire d'un coffre ne peut pas dépenser depuis ce coffre. Ni avec l'accès au tableau de bord, ni avec l'accès à la base de données, ni avec la coopération de SSP. L'adresse ne sait pas ce qu'est un propriétaire.
Rôles d'organisation, précisément
Quatre rôles, strictement hiérarchisés.
| Capacité | Propriétaire | Administrateur | Membre | Observateur |
|---|---|---|---|---|
| Lire coffres, activité, piste d'audit | Oui | Oui | Oui | Oui |
| Inviter de nouvelles personnes | Oui | Oui | Seulement si l'organisation l'autorise | Non |
| Changer le rôle d'un membre ou observateur | Oui | Oui | Non | Non |
| Changer le rôle d'un autre administrateur | Oui | Non | Non | Non |
| Modifier les réglages de l'organisation | Oui | Oui | Non | Non |
| Transférer la propriété, supprimer l'organisation | Oui | Non | Non | Non |
| Quitter l'organisation | Non — transférez d'abord | Oui | Oui | Oui |
Trois détails de ce tableau méritent d'être extraits.
Les administrateurs ne peuvent pas toucher aux autres administrateurs. Un administrateur peut promouvoir, rétrograder et retirer membres et observateurs, mais dès que la cible est un autre administrateur l'opération est refusée. C'est délibéré : un seul compte administrateur compromis ne peut pas démonter discrètement le reste de la couche administrative.
Les invitations par les membres sont un interrupteur au niveau de l'organisation. Par défaut, inviter est une capacité d'administrateur. Une organisation peut choisir de l'ouvrir aussi aux membres — utile pour les grandes équipes où l'intégration ne devrait pas faire la queue derrière deux personnes, et à laisser désactivé si vous voulez un périmètre serré.
Le propriétaire ne peut pas partir. Il y a exactement un propriétaire, et la sortie consiste à transférer d'abord la propriété à quelqu'un d'autre. Cela évite le mode de défaillance où une organisation se retrouve sans personne capable d'effectuer les opérations réservées au propriétaire.
Rôles de coffre, précisément
Trois rôles, dont la portée est un coffre unique et non l'organisation.
Un administrateur de coffre gère le coffre : ses politiques, ses réglages de notification, ses observateurs. Un administrateur de coffre n'est pas nécessairement signataire, et un administrateur de coffre qui n'est pas signataire ne peut pas approuver une proposition.
Un signataire détient l'une des clés du M sur N du coffre. Les signataires rédigent des propositions et les approuvent. Leur clé publique est dans l'adresse.
Un observateur de coffre voit soldes, propositions et historique sans pouvoir rédiger ni approuver quoi que ce soit. Utile pour les auditeurs, les comptables et quiconque a besoin de visibilité sans autorité.
Comme les rôles de coffre sont par coffre, une même personne peut être signataire du coffre d'exploitation et seulement observatrice du coffre de trésorerie. C'est un arrangement normal et sain : il donne l'autorité de dépense quotidienne à ceux qui en ont besoin tout en gardant la réserve derrière un comité différent et plus restreint.
Les invitations vont à des identités, pas à des boîtes mail
Une invitation dans SSP Enterprise est adressée à une identité WK — l'identité multisig 2 sur 2 dérivée du SSP Wallet et du SSP Key de quelqu'un — et non à une adresse e-mail.
C'est une propriété de sécurité, pas une contrainte. Une adresse e-mail peut être compromise, transférée, ou mal saisie et atterrir chez quelqu'un d'autre. Une identité WK ne peut être présentée que par une personne détenant les deux appareils concernés, ce qui signifie qu'une invitation ne peut pas être acceptée par qui se trouve lire le message.
Deux conséquences en découlent. D'abord, la personne invitée a besoin d'une installation SSP avant de pouvoir rejoindre ; il n'existe pas de parcours « inscrivez-vous depuis l'e-mail d'invitation », par conception. Ensuite, les invitations sont auditables d'une manière dont les invitations par e-mail ne le sont pas, parce que l'acceptation est un acte signé.
Les invitations expirées ne sont pas supprimées. Elles sont conservées indéfiniment, car « qui a été invité et n'a jamais rejoint » est exactement le genre de question qu'un audit pose des mois plus tard. Rien dans la piste d'audit n'a de durée de vie.
Ce qui exige une nouvelle signature
Certaines opérations sont trop lourdes de conséquences pour être autorisées avec un cookie de session. Treize d'entre elles exigent de re-signer avec vos deux appareils au moment où vous agissez, dont :
- Transférer la propriété d'une organisation
- Supprimer une organisation
- Retirer un membre
- Changer l'e-mail d'entreprise d'un compte
La mécanique compte ici. C'est le serveur qui génère le défi à signer — jamais le client — et le défi est lié à l'action précise, à la cible précise et à un horodatage. Une signature capturée sur une opération ne peut pas être rejouée sur une autre.
Chaque tentative est journalisée de façon permanente, y compris les échecs. Une série de tentatives échouées d'actions critiques est elle-même un signal qu'il vaut mieux avoir consigné.
Où les changements de rôle sont consignés
Tout changement de permission est écrit dans la piste d'audit de l'organisation : attributions et révocations de rôle, invitations émises, acceptées, refusées et révoquées, membres qui arrivent et partent, retraits et transferts de propriété. Les changements au niveau du coffre ont leurs propres événements — signataires et observateurs ajoutés ou retirés, politiques modifiées, statut du coffre changé.
Les enregistrements d'audit sont permanents. Pas d'expiration, pas de tâche de nettoyage, car la valeur d'une piste d'audit réside entièrement dans les parties dont personne n'avait anticipé le besoin. Une organisation qui découvre un problème en novembre veut l'enregistrement de mars.
Concevoir votre répartition de rôles
Quelques schémas qui tiennent en pratique.
Séparez l'administrateur des signataires. Laissez un responsable d'exploitation détenir l'administration de l'organisation pour gérer les personnes et les réglages des coffres, sans mettre sa clé dans l'adresse de trésorerie. Le confort administratif ne porte alors aucun risque de conservation.
Distribuez généreusement les rôles d'observateur à la fonction finance. L'accès en lecture est peu coûteux et rend le rapprochement possible sans élargir l'ensemble des personnes pouvant dépenser. Il n'y a aucune raison qu'un comptable soit signataire.
Gardez le comité de trésorerie plus petit que celui d'exploitation. Une réserve 3 sur 5 et un coffre opérationnel 2 sur 3 forment une répartition courante et sensée : l'argent que vous touchez chaque jour a une barre d'approbation plus basse que celui que vous touchez chaque année. 2 sur 2 contre 2 sur 3 contre m sur n explique comment raisonner sur les nombres.
Décidez la procédure de départ avant que quiconque parte. Retirer quelqu'un de l'organisation est un changement de rôle ; le retirer comme signataire est un nouveau coffre et une migration de fonds. Écrivez ce que vous ferez, et vérifiez que l'ensemble de signataires restant atteint toujours le seuil. Que se passe-t-il si l'une de vos clés est compromise parcourt le scénario voisin.
Ne traitez pas les politiques comme des permissions. Listes blanches, verrous temporels et règles d'approbation façonnent ce qui est proposé, mais le seuil est la seule chose que la chaîne impose. Concevez vos rôles comme si le moteur de politiques n'existait pas, puis ajoutez les politiques comme améliorations de processus par-dessus.
La hiérarchie des rôles est facile à réussir si vous gardez une question au premier plan : lesquels de ces changements exigent une nouvelle adresse, et lesquels ne sont que des enregistrements ? Tout dans la couche organisation est un enregistrement. Seul l'ensemble des signataires est une adresse.


