Authentication to nie authorization
B2B SaaS może dokładnie wiedzieć, kim jest użytkownik, a nadal ujawniać złe dane, jeśli roles, memberships i resource permissions nie są jawnie zamodelowane.
1. Zacznij od actors i business actions
Wypisz, co rzeczywiście mogą zrobić owners, admins, managers, members, operators i external users. Roles są wygodnym opakowaniem; permissions opisują trwałe akcje biznesowe.
User → Organization → Membership → Role → Permission → Resource → Action2. Trzymaj authorization blisko domain actions
Nie polegaj na ukrywaniu przycisków w UI. Backend musi sprawdzać active organization, actor permission i resource boundary dla każdej chronionej mutation i wrażliwego read.
3. Projektuj least privilege
Default roles powinny dawać minimalny potrzebny dostęp. High-risk actions — payouts, ownership transfer, billing changes, document approval czy exports — mogą wymagać dodatkowej polityki lub potwierdzenia.
4. Zmiany muszą być audytowalne
Role assignments, permission changes i privileged actions powinny tworzyć audit events zawierające actor, target, previous state, new state i timestamp.
5. Zaplanuj enterprise evolution
Wiele produktów zaczyna od kilku stałych ról, a później dodaje custom roles, SSO, directory sync lub fine-grained permissions. Czysty membership/permission model pozwala na tę ewolucję bez przepisywania domain.
