
SSP Enterprise'da roller ve izinler
Paylaşımlı saklamanın gerçekten işleyip işlemediğine karar veren soru "kim yönetiyor?" değildir. "Parayı kim hareket ettirebilir?" sorusudur — ve iyi kurulmuş bir sistemde bunlar farklı yanıtları olan farklı sorulardır.
SSP Enterprise bunları iki ayrı yerde yanıtlar. Yönetsel yetki organizasyonun kayıtlarında yaşar; orada, herhangi bir izin gibi verilebilir ve geri alınabilir. Harcama yetkisi kasa adresinde yaşar; orada bu mümkün değildir. Bu yazı ikisinin de eksiksiz haritasıdır — insanların en sık şaşırdığı durumlar dâhil.
Organizasyonlarla kasaların nasıl bir araya oturduğuna dair genel bakışı okumadıysanız, SSP Enterprise: ekipler için multisig kasalar bundan önceki parçadır.
İki sistem, bilerek
Bir organizasyon rolü çalışma alanını yönetir: insan davet etmek, kasa oluşturmak, ayarları değiştirmek, denetim izini okumak. Bu bir veritabanı kaydıdır. Değiştirin, değişiklik hemen yürürlüğe girer.
Bir kasa rolü belirli bir kasayı yönetir ve üç değerinden biri — imzacı — açık anahtarınızın o kasanın adresinin türetilme biçiminin parçası olduğu anlamına gelir. Bu, herhangi bir şeyi düzenleyerek değiştirilemez. Yalnızca başka bir adreste farklı bir kasa oluşturup fonları taşıyarak değiştirilebilir.

Pratik sonuç ve bu yazının en önemli cümlesi: bir kasada imzacı olmayan bir organizasyon sahibi o kasadan harcama yapamaz. Panele erişimle olmaz, veritabanına erişimle olmaz, SSP'nin iş birliğiyle de olmaz. Adres, sahibin ne olduğunu bilmez.
Organizasyon rolleri, tam olarak
Dört rol, katı bir sıralamayla.
| Yetenek | Sahip | Yönetici | Üye | İzleyici |
|---|---|---|---|---|
| Kasaları, etkinliği, denetim izini okumak | Evet | Evet | Evet | Evet |
| Yeni kişiler davet etmek | Evet | Evet | Yalnızca organizasyon izin veriyorsa | Hayır |
| Bir üyenin ya da izleyicinin rolünü değiştirmek | Evet | Evet | Hayır | Hayır |
| Başka bir yöneticinin rolünü değiştirmek | Evet | Hayır | Hayır | Hayır |
| Organizasyon ayarlarını değiştirmek | Evet | Evet | Hayır | Hayır |
| Sahipliği devretmek, organizasyonu silmek | Evet | Hayır | Hayır | Hayır |
| Organizasyondan ayrılmak | Hayır — önce devret | Evet | Evet | Evet |
O tablodaki üç ayrıntıyı ayrıca çıkarmaya değer.
Yöneticiler diğer yöneticilere dokunamaz. Bir yönetici üyeleri ve izleyicileri yükseltebilir, düşürebilir ve çıkarabilir; ama hedef başka bir yönetici olduğu anda işlem reddedilir. Bu bilinçlidir: tek bir ele geçirilmiş yönetici hesabının, yönetsel katmanın kalanını sessizce sökememesi anlamına gelir.
Üye davetleri organizasyon düzeyinde bir anahtardır. Varsayılan olarak davet etmek bir yönetici yeteneğidir. Bir organizasyon bunu üyelere de açmayı seçebilir — işe alım süreci iki kişinin arkasında kuyruğa girmemesi gereken büyük ekipler için yararlı; sıkı bir çevre istiyorsanız kapalı bırakmaya değer.
Sahip ayrılamaz. Tam olarak bir sahip vardır ve çıkış yolu, sahipliği önce başka birine devretmektir. Bu, bir organizasyonun yalnızca sahibe özel işlemleri yapabilecek kimsesi kalmaması arızasını engeller.
Kasa rolleri, tam olarak
Üç rol ve kapsamları organizasyon değil, tek bir kasadır.
Bir kasa yöneticisi kasayı yönetir: politikalarını, bildirim ayarlarını, izleyicilerini. Kasa yöneticisi zorunlu olarak imzacı değildir ve imzacı olmayan bir kasa yöneticisi bir teklifi onaylayamaz.
Bir imzacı, kasanın M-of-N'indeki anahtarlardan birini tutar. İmzacılar teklif hazırlar ve onaylar. Açık anahtarları adrestedir.
Bir kasa izleyicisi bakiyeleri, teklifleri ve geçmişi görür; hiçbir şey hazırlayamaz ya da onaylayamaz. Denetçiler, muhasebeciler ve yetki olmadan görünürlük gerektiren herkes için yararlıdır.
Kasa rolleri kasa başına olduğundan, aynı kişi operasyon kasasında imzacı, hazine kasasında yalnızca izleyici olabilir. Bu normal ve sağlıklı bir düzenlemedir: gündelik harcama yetkisini ihtiyaç duyanlara verirken rezervi farklı ve daha küçük bir komitenin arkasında tutar.
Davetler kimliklere gider, gelen kutularına değil
SSP Enterprise'da bir davet, bir e-posta adresine değil, bir WK kimliğine — birinin SSP Wallet'ı ile SSP Key'inden türetilen 2-of-2 multisig kimliğine — gönderilir.
Bu bir zahmet değil, bir güvenlik özelliğidir. Bir e-posta adresi ele geçirilebilir, iletilebilir ya da yanlış yazılıp başkasının eline geçebilir. Bir WK kimliği yalnızca o kişinin iki cihazını da elinde tutan biri tarafından sunulabilir; yani bir daveti, mesajı okuyan herkes kabul edemez.
Bundan iki sonuç doğar. Birincisi, davet ettiğiniz kişinin katılabilmesi için kurulmuş bir SSP'ye ihtiyacı vardır; "davet e-postasından kayıt ol" yolu tasarım gereği yoktur. İkincisi, davetler e-posta davetlerinin olmadığı biçimde denetlenebilir, çünkü kabul imzalı bir eylemdir.
Süresi geçmiş davetler silinmez. Süresiz olarak saklanır; çünkü "kim davet edildi ve hiç katılmadı" tam olarak bir denetimin aylar sonra sorduğu türden bir sorudur. Denetim izinde hiçbir şeyin ömrü yoktur.
Neler yeniden imza gerektirir
Bazı işlemler bir oturum kurabiyesiyle yetkilendirilecek kadar hafif değildir. Bunlardan on üçü, eylemi yaptığınız anda iki cihazınızla yeniden imzalamanızı ister; aralarında şunlar var:
- Bir organizasyonun sahipliğini devretmek
- Bir organizasyonu silmek
- Bir üyeyi çıkarmak
- Bir hesaptaki kurumsal e-postayı değiştirmek
Burada mekanik önemlidir. İmzalanacak meydan okumayı sunucu üretir — asla istemci değil — ve meydan okuma belirli eyleme, belirli hedefe ve bir zaman damgasına bağlanır. Bir işlemden yakalanan bir imza başka bir işleme yeniden oynatılamaz.
Her deneme, başarısız olanlar dâhil, kalıcı olarak günlüğe yazılır. Başarısız kritik eylem denemelerinden oluşan bir desen, kendi başına kayıtlarda bulunmaya değer bir sinyaldir.
Rol değişiklikleri nereye kaydedilir
Her izin değişikliği organizasyonun denetim izine yazılır: rol verme ve geri alma, gönderilen, kabul edilen, reddedilen ve iptal edilen davetler, katılan ve ayrılan üyeler, çıkarmalar ve sahiplik devirleri. Kasa düzeyindeki değişiklikler kendi olaylarını alır — eklenen ya da çıkarılan imzacılar ve izleyiciler, politika düzenlemeleri, kasa durumu değişiklikleri.
Denetim kayıtları kalıcıdır. Süre sonu ve temizlik görevi yoktur; çünkü bir denetim izinin değeri tamamen kimsenin ihtiyaç duyacağını öngörmediği parçalarındadır. Kasımda bir sorun keşfeden bir organizasyon marttaki kaydı ister.
Rol düzeninizi tasarlamak
Pratikte tutan birkaç desen.
Yöneticiyi imzacılardan ayırın. Bir operasyon liderinin, anahtarını hazine adresine koymadan insanları ve kasa ayarlarını yönetebilmesi için organizasyon yöneticiliğini elinde tutmasına izin verin. O zaman yönetsel kolaylık hiçbir saklama riski taşımaz.
Finans işlevine izleyici rollerini cömertçe verin. Okuma erişimi ucuzdur ve harcayabilecek kişilerin kümesini genişletmeden mutabakatı olanaklı kılar. Bir muhasebecinin imzacı olması için hiçbir neden yok.
Hazine komitesini operasyon komitesinden küçük tutun. 3-of-5 bir rezerv ile 2-of-3 bir operasyonel kasa yaygın ve makul bir bölünmedir: her gün dokunduğunuz paranın onay çıtası, yılda bir dokunduğunuzdan daha alçaktır. 2-of-2, 2-of-3 ve m-of-n karşılaştırması sayılar üzerine nasıl düşünüleceğini ele alıyor.
Ayrılma yordamına kimse ayrılmadan önce karar verin. Birini organizasyondan çıkarmak bir rol değişikliğidir; onu imzacı olmaktan çıkarmak yeni bir kasa ve bir fon göçüdür. Hangisini yapacağınızı yazın ve kalan imzacı kümesinin hâlâ eşiği geçtiğini doğrulayın. Anahtarlarınızdan biri ele geçirilirse ne olur komşu senaryoyu geziyor.
Politikaları izin gibi görmeyin. Beyaz listeler, zaman kilitleri ve onay kuralları neyin teklif edildiğini biçimlendirir; ama zincirin dayattığı tek şey eşiktir. Rollerinizi politika motoru hiç yokmuş gibi tasarlayın, sonra politikaları süreç iyileştirmeleri olarak üzerine ekleyin.
Rol hiyerarşisini doğru kurmak, bir soruyu aklınızın önünde tuttuğunuzda kolaydır: bu değişikliklerden hangileri yeni bir adres gerektirir, hangileri yalnızca birer kayıttır? Organizasyon katmanındaki her şey bir kayıttır. Yalnızca imzacı kümesi bir adrestir.


