Organizacja i kontrola dostępu oparta na rolach: Jak zaprojektować model autoryzacji dla swojego produktu
Ten artykuł zawiera szczegółowy przewodnik na temat projektowania modelu autoryzacji dla organizacji i kontroli dostępu opartej na rolach oraz oferuje najlepsze praktyki dla różnych modeli autoryzacji na platformie Logto.
Co to jest organizacja
Definicja organizacji
Organizacja to grupa użytkowników (tożsamości) i może reprezentować zespoły, klientów biznesowych oraz firmy partnerskie, które mogą uzyskać dostęp do Twojej aplikacji.
Organizacja jest szczególnie skuteczna w środowiskach biznesowych (B2B). W przeciwieństwie do indywidualnych konsumentów, klienci biznesowi często składają się z zespołów, organizacji lub całych firm, a nie tylko jednej osoby. Wprowadzenie organizacji jako jednostki jest ważne, ponieważ nie tylko grupuje użytkowników, ale również zapewnia kontekst dla izolacji lokatora w aplikacjach wielodniowego użytkowania.
Przypadki użycia organizacji
Dzięki temu podstawowemu elementowi możesz teraz budować niezbędne funkcje dla swoich produktów B2B:
- Zbuduj architekturę wielodniowego użytkowania, aby izolować dane i zasoby klientów.
- Poziomy dostępu do aplikacji są definiowane przez role przypisane członkom organizacji.
- Dodawanie członków na podstawie zaproszeń i just-in-time.
- Każda organizacja może mieć swoje własne doświadczenie z jednolitym logowaniem (SSO).
Co to jest kontrola dostępu oparta na rolach?
Definicja kontroli dostępu opartej na rolach
Kontrola dostępu oparta na rolach (RBAC) to metoda przypisywania uprawnień do użytkowników na podstawie ich ról. Kontrola dostępu oparta na rolach to neutralny politycznie mechanizm kontroli dostępu zdefiniowany wokół ról i uprawnień. Komponenty RBAC, takie jak uprawnienia roli, użytkownik-rola i relacje rola-rola, ułatwiają przydzielanie użytkowników. Badanie NIST wykazało, że RBAC odpowiada na wiele potrzeb organizacji komercyjnych i rządowych.
Przypadki użycia kontroli dostępu opartej na rolach
Wcześniej opracowaliśmy kilka przewodników, które pomogą Ci wykorzystać RBAC, aby spełnić Twoje wymagania biznesowe. Zapoznaj się z tymi łatwymi do zrozumienia tutorialami, aby szybko rozpocząć pracę.
🔐 Role-Based Access Control (RBAC) | Logto Docs
Używanie różnych modeli autoryzacji w Logto jako najlepszej praktyki
Kontrola dostępu oparta na rolach i organizacja są kluczowymi elementami funkcji autoryzacji Logto. Jako kompleksowa platforma zarządzania tożsamością, Logto oferuje dostosowane rozwiązania dla różnych scenariuszy i warstw, odpowiadając na potrzeby programistów i firm w zakresie różnorodnych architektur produktów.
API kontrola dostępu oparta na rolach
Aby chronić ogólne zasoby API, które nie są specyficzne dla żadnej organizacji i nie wymagają ograniczeń kontekstowych, funkcja API RBAC jest idealna.
Wystarczy zarejestrować API i przypisać uprawnienia do każdego zasobu. Następnie kontroluj dostęp poprzez relację między rolami a użytkownikami.
Zasoby API, role i uprawnienia tutaj są „zdemokratyzowane” w ramach zunifikowanego systemu tożsamości. Jest to dość powszechne w produktach B2C z mniejszą hierarchią i nie wymaga bardzo głębokiego poziomu izolacji danych.
Organizacja kontrola dostępu oparta na rolach
W środowisku B2B i wielodniowego użytkowania izolacja lokatora jest konieczna. Aby to osiągnąć, organizacje są używane jako kontekst dla izolacji, co oznacza, że RBAC jest skuteczne tylko wtedy, gdy użytkownik należy do konkretnej organizacji.
Organizacja RBAC koncentruje się na kontrolowaniu dostępu na poziomie organizacji, a nie poziomu API. To zapewnia znaczną elastyczność w długoterminowym zarządzaniu samą organizacją, ale nadal w ramach zunifikowanego systemu tożsamości.
Kluczową cechą organizacji RBAC jest to, że role i uprawnienia są na ogół te same we wszystkich organizacjach domyślnie, co czyni „szablon organizacji” Logto niezwykle znaczącym dla poprawy wydajności rozwoju.
To wpisuje się w wspólną filozofię aplikacji wielodniowego użytkowania, gdzie polityki kontroli dostępu i tożsamości są wspólnymi komponentami infrastrukturowymi we wszystkich lokatorach (klientach aplikacji), co jest powszechną praktyką w produktach SaaS.
Wybór i projektowanie odpowiedniego modelu autoryzacji
Przy wyborze odpowiedniego modelu autoryzacji, warto rozważyć te pytania:
- Czy rozwijasz produkt B2C, B2B czy kombinację obu typów produktów? Czy tożsamo ści są traktowane jako tożsamości biznesowe?
- Czy Twoja aplikacja potrzebuje architektury wielodniowego użytkowania?
- Czy istnieje potrzeba pewnego poziomu izolacji w Twojej aplikacji, określonego przez jednostkę biznesową?
- Jakie uprawnienia i role muszą być zdefiniowane w kontekście organizacji, a które nie?
Aplikacja B2C
Użyjmy przykładu aplikacji internetowej: BookHarber, internetowej księgarni. BookHarber oferuje szeroką gamę funkcji dla klientów i pracowników, zapewniając płynne i bezpieczne doświadczenie zakupowe.
Kluczowe funkcje BookHarber obejmują:
- Przeglądanie i zakup książek: Użytkownicy mogą łatwo wyszukiwać i kupować książki z różnorodnej kolekcji, obejmującej różne gatunki i autorów.
- Zarządzanie zamówieniami i śledzenie logistyki: Zarejestrowani klienci mogą zarządzać swoimi zamówieniami, śledzić wysyłkę i otrzymywać aktualizacje dotyczące swoich zakupów.
- Specjalne oferty i aktywności świąteczne: BookHarber oferuje ekskluzywne zniżki i promocje podczas specjalnych wydarzeń i świąt, angażując i nagradzając swoich klientów.
- Obsługa klienta: Klienci mogą otwierać zgłoszenia do obsługi klienta w celu rozwiązania wszelkich obaw lub problemów, otrzymując szybką pomoc od pracowników BookHarber.
- Zarządzanie klientem: Członkowie zespołu o różnych rolach mają możliwość zarządzania różnymi aspektami platformy, takimi jak konta klientów, przetwarzanie zamówień i rozwiązywanie problemów.
Role
W ekosystemie BookHarber możemy zidentyfikować kilka kluczowych ról użytkowników, takich jak:
- Gość: Niezarejestrowani użytkownicy, którzy mogą przeglądać stronę internetową, wyszukiwać książki i oglądać specjalne oferty.
- Klient: Zarejestrowani użytkownicy, którzy mogą kupować książki, zarządzać zamówieniami, śledzić logistykę i otwierać zgłoszenia do obsługi klienta.
- Administrator sklepu: Pracownicy odpowiedzialni za nadzór nad całym zarządzaniem i operacjami platformy. Z pełnym dostępem.
- Menedżer księgarni: Pracownicy odpowiedzialni za zarządzanie książkami i kategoriami.
- Agent obsługi klienta: Pracownicy odpowiedzialni za odpowiadanie na zgłoszenia do obsługi klienta.
- Zewnętrzny dostawca logistyki: Zewnętrzni partnerzy odpowiedzialni za zarządzanie i śledzenie wysyłki i dostarczania zamówień.
- Pracownik marketingu: Pracownicy odpowiedzialni za promowanie BookHarber, odpowiedzialni za zarządzanie ofertami specjalnymi i wydarzeniami.
Wcześniej opracowaliśmy kilka przewodników, które pomogą Ci wykorzystać RBAC, aby spełnić Twoje wymagania biznesowe. Zapoznaj się z tymi łatwymi do zrozumienia tutorialami, aby szybko rozpocząć pracę.
Mastering RBAC in Logto: A Comprehensive Real-World Example
Aplikacja B2B
Aplikacje wielodniowego użytkowania często znajdują swoje miejsce w rozwiązaniach biznesowych (B2B), takich jak narzędzia produktywności, systemy planowania zasobów przedsiębiorstwa (ERP) oraz inne produkty software-as-a-service (SaaS). W tym kontekście każdy „lokator” zazwyczaj reprezentuje klienta biznesowego, który może mieć wielu użytkowników (swoich pracowników). Dodatkowo, klient biznesowy może mieć wielu lokatorów reprezentujących różne organizacje lub działy biznesowe.
Utwórz kilka organizacji
Zdefiniuj szablon organizacji dla kontroli dostępu na poziomie organizacji
Hybrydowa aplikacja B2B i B2C
Aplikacje B2B wykraczają poza produkty SaaS i często dotyczą użycia aplikacji wielodniowego użytkowania. W kontekstach B2B te aplikacje służą jako wspólna platforma dla różnych zespołów, klientów biznesowych i firm partnerskich do uzyskania dostępu do Twoich aplikacji.
Na przykład rozważ firmę zajmującą się przewozem współdzielonym, która oferuje zarówno aplikacje B2C, jak i B2B. Aplikacje B2B obsługują wielu klientów biznesowych, a zastosowanie architektury wielodniowego użytkowania może pomóc w zarządzaniu ich pracownikami i zasobami. Aby zilustrować, jeśli firma chce utrzymać zunifikowany system tożsamości użytkowników, może zaprojektować architekturę, jak w poniższym przykładzie:
Użyjmy przykład Sarah. Sarah ma zarówno tożsamość osobistą, jak i biznesową. Korzysta z usługi przewozu współdzielonego jako pasażerka i pracuje również jako kierowca w wolnym czasie. W swojej roli zawodowej zarządza także swoim własnym biznesem osobistym i używa tej tożsamości biznesowej, aby być partnerem z biznesem 1.
Entities set up in Logto
A user’s identity and role map
Zdefiniuj zasoby API, role użytkowników
Ustaw organizacje
Profil Sarah
Zbuduj swoją autoryzację już dziś.
Logto oferuje zarówno kontrolę dostępu opartą na rolach (RBAC), jak i funkcje organizacyjne, aby sprostać Twoim wymaganiom autoryzacyjnym. Te funkcje zostały zaprojektowane w taki sposób, aby można je było łatwo zintegrować z różnymi częściami produktu. Aby uzyskać więcej informacji, zapoznaj się z naszymi sekcjami dotyczącymi organizacji i RBAC, lub spróbuj Logto już teraz.