Ostateczny przewodnik po konfiguracji uwierzytelniania i autoryzacji dla wielu najemców
Tworzenie aplikacji obsługującej wielu najemców może być skomplikowane. Ten artykuł zbiera wszystkie nasze wcześniejsze posty na temat strategii dla wielu najemców i organizacji. Mamy nadzieję, że pomoże Ci zaoszczędzić czas i łatwo rozpocząć pracę.
Budowanie aplikacji obsługującej wielu najemców może być wyzwaniem, z wieloma aspektami do rozważenia. Ten artykuł kompiluje wszystkie nasze wcześniejsze posty na blogu dotyczące rozumienia praktyk dla wielu najemców i organizacji. Aby szybko rozpocząć i zaoszczędzić czas, zapoznaj się z tym artykułem, zawiera wszystko, czego potrzebujesz!
Ogólne wytyczne są opisane w następujących krokach:
- Zrozumienie architektury dla wielu najemców
- Mapowanie przypadków użycia aplikacji dla wielu najemców
- Osiągnięcie izolacji najemcy
- Określenie, jak chcesz zarządzać tożsamościami
- Wybór odpowiednich modeli autoryzacji
Co to jest architektura dla wielu najemców
Wielo-najemczość oprogramowania to architektura oprogramowania, w której pojedyncza instancja oprogramowania działa na serwerze i obsługuje wielu najemców. Systemy zaprojektowane w taki sposób są „współdzielone” (a nie „dedykowane” lub „izolowane”).
Najemca to grupa użytkowników, którzy mają wspólny dostęp z określonymi uprawnieniami do instancji oprogramowania.
Jednym z kluczowych elementów myślenia o wielo-najemczości jest „współdzielenie”. W szerszym rozumieniu pojęcie wielo-najemczości nie oznacza, że każdy komponent rozwiązania jest współdzielony. Oznacza to raczej, że co najmniej niektóre komponenty rozwiązania są ponownie używane przez wielu najemców. Zrozumienie tego terminu w szeroki sposób może lepiej pomóc w zrozumieniu potrzeb klienta i skąd one wynikają.
Kiedy już zrozumiesz architekturę dla wielu najemców, następnym krokiem jest zastosowanie aplikacji do rzeczywistych scenariuszy, koncentrując się na konkretnych potrzebach produktu i biznesu.
Jakie są przypadki użycia aplikacji dla wielu najemców?
Aplikacje dla wielu najemców w SaaS
Aplikacje dla wielu najemców często znajdują swoje miejsce w rozwiązaniach B2B, takich jak narzędzia do produktywności, oprogramowanie do współpracy i inne produkty software-as-a-service (SaaS). W tym kontekście każdy „najemca” zazwyczaj reprezentuje klienta biznesowego, który może mieć wielu użytkowników (swoich pracowników). Ponadto klient biznesowy może mieć wielu najemców, aby reprezentować różne organizacje lub jednostki biznesowe.
Aplikacje dla wielu najemców w ogólnych przypadkach użycia B2B
Aplikacje B2B wykraczają poza produkty SaaS i często obejmują korzystanie z aplikacji dla wielu najemców. W kontekście B2B te aplikacje służą jako wspólna platforma dla różnych zespołów, klientów biznesowych i firm partnerskich, aby uzyskać dostęp do Twoich aplikacji.
Na przykład weźmy pod uwagę firmę zajmującą się transportem współdzielonym, która oferuje zarówno aplikacje B2C, jak i B2B. Aplikacje B2B obsługują wielu klientów biznesowych, a wykorzystanie architektury dla wielu najemców może pomóc w zarządzaniu ich pracownikami i zasobami. Aby to zilustrować, jeśli firma chce utrzymać zunifikowany system tożsamości użytkowników, może zaprojektować architekturę, jak w poniższym przykładzie:
Sarah ma zarówno osobistą, jak i biznesową tożsamość. Korzysta z usługi transportowej jako pasażerka, a także pracuje jako kierowca w wolnym czasie. W swojej roli zawodowej zarządza również swoim biznesem i używa tej tożsamości biznesowej, aby być partnerem Biznesu 1.
Dlaczego warto wykorzystać wielo-najemczość w produkcie SaaS
Skalowanie z wielo-najemczością
Dla przedsiębiorstw multi-tenancy jest kluczem do efektywnego spełniania ich wymagań dotyczących dostępności, zarządzania zasobami, zarządzania kosztami i bezpieczeństwa danych. Na poziomie technicznym przyjęcie podejścia multi-tenant upraszcza procesy deweloperskie, minimalizuje wyzwania techniczne i sprzyja bezproblemowej ekspansji.
Tworzenie zintegrowanego doświadczenia
Badając korzenie produktów SaaS, można je porównać do budynku mieszczącego różne mieszkania. Wszyscy najemcy dzielą wspólne potrzeby, takie jak woda, prąd i gaz, ale zachowują niezależną kontrolę nad zarządzaniem własną przestrzenią i zasobami. Takie podejście upraszcza zarządzanie nieruchomością.
Zapewnienie bezpieczeństwa dzięki izolacji najemcy
W architekturze dla wielu najemców wprowadzany jest termin „najemca” w celu stworzenia granic, które oddzielają i zabezpieczają zasoby i dane różnych najemców w ramach współdzielonej instancji. Zapewnia to, że dane i operacje każdego najemcy pozostają odrębne i bezpieczne, nawet jeśli korzystają z tych samych zasobów podstawowych.
Dlaczego powinieneś osiągnąć izolację najemcy?
Kiedy mówimy o aplikacjach obsługujących wielu najemców, zawsze trzeba osiągnąć izolację najemcy. Oznacza to utrzymanie danych i zasobów różnych najemców jako oddzielone i bezpieczne w ramach współdzielonego systemu (na przykład infrastruktury chmurowej lub aplikacji dla wielu najemców). Zapobiega to nieautoryzowanym próbom uzyskania dostępu do zasobów innego najemcy.
Chociaż to wyjaśnienie może wydawać się abstrakcyjne, użyjemy przykładów i kluczowych szczegółów, aby dalej wyjaśnić myślenie o izolacji i najlepsze praktyki osiągania jej.