
Role i uprawnienia w SSP Enterprise
Pytanie, które decyduje o tym, czy współdzielona piecza naprawdę działa, nie brzmi „kto tu rządzi?". Brzmi „kto może ruszyć pieniądze?" — a w dobrze zbudowanym systemie to dwa różne pytania o różnych odpowiedziach.
SSP Enterprise odpowiada na nie w dwóch osobnych miejscach. Władza administracyjna mieszka w rekordach organizacji, gdzie można ją nadać i odebrać jak każde inne uprawnienie. Władza wydatkowa mieszka w adresie skarbca, gdzie już nie można. Ten artykuł jest pełną mapą obu — wraz z przypadkami, w których ludzie zaskakują się najczęściej.
Jeśli nie czytałeś przeglądu tego, jak organizacje i skarbce się łączą, SSP Enterprise: skarbce multisig dla zespołów jest częścią poprzedzającą tę.
Dwa systemy, z rozmysłem
Rola organizacji rządzi przestrzenią roboczą: zapraszaniem ludzi, tworzeniem skarbców, zmianą ustawień, czytaniem dziennika audytu. To rekord w bazie danych. Zmień go, a zmiana działa od razu.
Rola skarbca rządzi jednym konkretnym skarbcem, a jedna z jej trzech wartości — podpisujący — znaczy, że twój klucz publiczny jest częścią tego, jak wyprowadzono adres tego skarbca. Tego nie zmienia się przez edytowanie czegokolwiek. Zmienia się to tylko przez utworzenie innego skarbca pod innym adresem i przeniesienie środków.

Praktyczny wniosek i najważniejsze zdanie tego artykułu: właściciel organizacji, który nie jest podpisującym w danym skarbcu, nie może z niego wydawać. Ani z dostępem do panelu, ani z dostępem do bazy danych, ani przy współpracy SSP. Adres nie wie, czym jest właściciel.
Role organizacji, precyzyjnie
Cztery role, ściśle uszeregowane.
| Możliwość | Właściciel | Administrator | Członek | Obserwator |
|---|---|---|---|---|
| Czytanie skarbców, aktywności, dziennika audytu | Tak | Tak | Tak | Tak |
| Zapraszanie nowych osób | Tak | Tak | Tylko jeśli organizacja pozwala | Nie |
| Zmiana roli członka lub obserwatora | Tak | Tak | Nie | Nie |
| Zmiana roli innego administratora | Tak | Nie | Nie | Nie |
| Zmiana ustawień organizacji | Tak | Tak | Nie | Nie |
| Przekazanie własności, usunięcie organizacji | Tak | Nie | Nie | Nie |
| Opuszczenie organizacji | Nie — najpierw przekaż | Tak | Tak | Tak |
Trzy szczegóły z tej tabeli warto wyciągnąć osobno.
Administratorzy nie mogą ruszać innych administratorów. Administrator może awansować, degradować i usuwać członków oraz obserwatorów, ale w chwili, gdy celem jest inny administrator, operacja zostaje odrzucona. To zamierzone: znaczy, że jedno skompromitowane konto administratora nie rozbierze po cichu resztę warstwy administracyjnej.
Zaproszenia od członków to przełącznik na poziomie organizacji. Domyślnie zapraszanie jest możliwością administratora. Organizacja może zdecydować, że pozwoli na to i członkom — przydatne w większych zespołach, gdzie wdrożenie nie powinno stać w kolejce za dwiema osobami, i lepiej wyłączone, jeśli chcesz ciasnego obwodu.
Właściciel nie może odejść. Właściciel jest dokładnie jeden, a wyjściem jest wcześniejsze przekazanie własności komuś innemu. Zapobiega to trybowi awarii, w którym organizacja zostaje bez nikogo zdolnego wykonać operacje zastrzeżone dla właściciela.
Role skarbca, precyzyjnie
Trzy role, a ich zasięgiem jest jeden skarbiec, nie organizacja.
Administrator skarbca zarządza skarbcem: jego politykami, ustawieniami powiadomień, jego obserwatorami. Administrator skarbca nie musi być podpisującym, a administrator skarbca, który nie jest podpisującym, nie może zatwierdzić propozycji.
Podpisujący trzyma jeden z kluczy w M z N skarbca. Podpisujący sporządzają propozycje i je zatwierdzają. Ich klucz publiczny jest w adresie.
Obserwator skarbca widzi salda, propozycje i historię, nie mogąc niczego sporządzić ani zatwierdzić. Przydatne dla audytorów, księgowych i każdego, kto potrzebuje wglądu bez uprawnień.
Ponieważ role skarbca są przypisane do skarbca, ta sama osoba może być podpisującym w skarbcu operacyjnym i tylko obserwatorem w skarbowym. To normalny i zdrowy układ: daje codzienne uprawnienia wydatkowe tym, którzy ich potrzebują, trzymając rezerwę za innym, mniejszym komitetem.
Zaproszenia idą do tożsamości, nie do skrzynek
Zaproszenie w SSP Enterprise jest adresowane do tożsamości WK — tożsamości multisig 2 z 2 wyprowadzonej z czyjegoś SSP Wallet i SSP Key — a nie do adresu e-mail.
To właściwość bezpieczeństwa, nie niedogodność. Adres e-mail może zostać skompromitowany, przekazany dalej albo wpisany z błędem i trafić w cudze ręce. Tożsamość WK może przedstawić tylko ktoś posiadający oba urządzenia tej osoby, co znaczy, że zaproszenia nie przyjmie ten, kto przypadkiem przeczytał wiadomość.
Wynikają z tego dwie konsekwencje. Pierwsza: osoba, którą zapraszasz, potrzebuje skonfigurowanego SSP, zanim będzie mogła dołączyć; z rozmysłu nie istnieje ścieżka „zarejestruj się z maila z zaproszeniem". Druga: zaproszenia są audytowalne w sposób, w jaki zaproszenia mailowe nie są, bo przyjęcie jest aktem podpisanym.
Wygasłe zaproszenia nie są usuwane. Trzyma się je bez ograniczeń, bo „kto został zaproszony i nigdy nie dołączył" to dokładnie takie pytanie, jakie audyt zadaje po miesiącach. Nic w śladzie audytu nie ma czasu życia.
Co wymaga ponownego podpisu
Niektóre operacje są zbyt donośne, by autoryzować je ciasteczkiem sesji. Trzynaście z nich wymaga ponownego podpisu dwoma urządzeniami w chwili działania, w tym:
- Przekazanie własności organizacji
- Usunięcie organizacji
- Usunięcie członka
- Zmiana firmowego adresu e-mail na koncie
Liczy się tu mechanika. Wyzwanie do podpisania generuje serwer — nigdy klient — a wyzwanie jest powiązane z konkretnym działaniem, konkretnym celem i znacznikiem czasu. Podpis przechwycony z jednej operacji nie da się odtworzyć w innej.
Każda próba jest trwale zapisywana, także nieudane. Wzorzec nieudanych prób działań krytycznych sam jest sygnałem, który warto mieć w aktach.
Gdzie zapisują się zmiany ról
Każda zmiana uprawnień jest zapisywana w dzienniku audytu organizacji: nadania i odebrania ról, zaproszenia wystawione, przyjęte, odrzucone i odwołane, członkowie dołączający i odchodzący, usunięcia oraz przekazania własności. Zmiany na poziomie skarbca mają własne zdarzenia — dodani lub usunięci podpisujący i obserwatorzy, edycje polityk, zmiany statusu skarbca.
Zapisy audytowe są trwałe. Nie ma wygaśnięcia ani zadania sprzątającego, bo wartość śladu audytu leży w całości w tych częściach, których potrzeby nikt nie przewidział. Organizacja, która wykryje problem w listopadzie, chce zapisu z marca.
Projektowanie własnego układu ról
Kilka wzorców, które trzymają się w praktyce.
Oddziel administratora od podpisujących. Niech osoba odpowiedzialna za operacje ma administrację organizacji, żeby zarządzać ludźmi i ustawieniami skarbców, bez umieszczania jej klucza w adresie skarbowym. Wtedy wygoda administracyjna nie nosi ryzyka pieczy.
Rozdawaj role obserwatora funkcji finansowej hojnie. Dostęp do czytania jest tani i umożliwia uzgadnianie bez rozszerzania grona tych, którzy mogą wydawać. Nie ma powodu, by księgowa była podpisującą.
Trzymaj komitet skarbowy mniejszy niż operacyjny. Rezerwa 3 z 5 i skarbiec operacyjny 2 z 3 to powszechny i sensowny podział: pieniądze, których dotykasz codziennie, mają niższy próg zatwierdzeń niż te, których dotykasz raz w roku. 2 z 2 kontra 2 z 3 kontra m z n omawia, jak rozumować o liczbach.
Ustal procedurę odejścia, zanim ktoś odejdzie. Usunięcie kogoś z organizacji to zmiana roli; usunięcie go jako podpisującego to nowy skarbiec i migracja środków. Zapisz, co zrobisz, i potwierdź, że pozostały zestaw podpisujących wciąż spełnia próg. Co się dzieje, gdy jeden z twoich kluczy zostanie skompromitowany przechodzi przez sąsiedni scenariusz.
Nie traktuj polityk jak uprawnień. Białe listy, blokady czasowe i reguły zatwierdzeń kształtują to, co zostaje zaproponowane, ale próg jest jedyną rzeczą, którą egzekwuje łańcuch. Projektuj role tak, jakby silnik polityk nie istniał, a potem dodaj polityki jako ulepszenia procesowe na wierzchu.
Hierarchię ról łatwo ustawić dobrze, jeśli trzymasz z przodu jedno pytanie: które z tych zmian wymagają nowego adresu, a które są tylko rekordami? Wszystko w warstwie organizacji jest rekordem. Tylko zestaw podpisujących jest adresem.


