Czym jest izolacja tenantów?
Wiele aplikacji w chmurze obsługuje wielu klientów tym samym oprogramowaniem i na tej samej infrastrukturze. Każdy klient to tenant (najemca). Izolacja tenantów to wszystkie środki, które sprawiają, że jeden klient nie widzi ani nie zmienia danych czy procesów innego.
Typowe warstwy to:
- Baza danych: osobne bazy, osobne schematy albo reguły na poziomie wierszy (row-level security), które ograniczają każde zapytanie do danych własnego tenanta.
- Aplikacja: każde żądanie bierze przynależność do tenanta z logowania, a nie z tego, co użytkownik wpisał lub wysłał.
- Środowisko uruchomieniowe: kod różnych tenantów działa w odseparowaniu od siebie.
Im niżej w systemie działa rozdzielenie, tym mniej zależy ono od tego, czy każda linia kodu aplikacji jest poprawna.
Izolacja tenantów w Openbase.one
W Openbase.one tenantem jest wasz workspace. Workspace'y są rozdzielone na poziomie bazy danych za pomocą row-level security. To, którego workspace'u dotyczy żądanie, zawsze wynika z logowania.
Rozdzielone są też aplikacje: kod aplikacji działa w izolowanym środowisku bez dostępu do sieci i nie sięga ani do internetu, ani do innych workspace'ów. Aplikacje nie piszą SQL. Każdy dostęp do danych przechodzi przez SDK i bramkę, która sprawdza każde wywołanie pod kątem workspace'u, aplikacji i uprawnień. Dane platformy są przechowywane we Frankfurcie.
Opiszcie swoją pierwszą aplikację i zobaczcie, jak sprawdzona trafia na produkcję.
Zacznij za darmo