JAKÝ JE ROZDÍL MEZI:
- Modelem serveru s jednotlivými tenanty, kdy pro izolaci jednotlivých systémů a dat tenantů je vše namapováno na entitu nazvanou Company a každý údaj je s ní spojen prostřednictvím cizích klíčů.
- každý tenant má zcela izolovanou databázi. Jediná společná databáze obsahuje domény uživatelských účtů. Podle domény pak směřuje ověřovací server na tenanta zákazníka. Data tedy nejsou nijak sdílená ani přístupná, jsou zcela izolovaná, bez mapování.
Rozdíl mezi těmito dvěma přístupy k multi-tenancy je v tom, jak jsou data jednotlivých tenantů (firem) izolována a spravována.
První přístup:
Vše je namapováno na entitu nazvanou “Company” (Společnost) a každý údaj je s ní spojen prostřednictvím cizích klíčů.
Vysvětlení:
- Sdílená databáze: V tomto přístupu všechny tenanti sdílejí jednu databázi.
- Izolace pomocí cizích klíčů: Data jsou izolována pomocí cizích klíčů, které odkazují na entitu “Company”. To znamená, že každý záznam v databázi je spojen s konkrétní společností pomocí cizího klíče.
- Výhody: Tento přístup může být efektivnější z hlediska správy a údržby databáze, protože všechny údaje jsou na jednom místě.
- Nevýhody: Může být složitější zajistit absolutní izolaci dat mezi tenanty, protože všechna data jsou fyzicky uložena ve stejné databázi.
Druhý přístup:
Každý tenant u nás má zcela izolovanou databázi. Jediná společná databáze obsahuje domény uživatelských účtů. Podle domény pak směřuje ověřovací server na tenanta zákazníka. Data tedy nejsou nijak sdílená ani přístupná, jsou zcela izolovaná, bez mapování.
Vysvětlení:
- Oddělené databáze: Každý tenant má svou vlastní, zcela izolovanou databázi.
- Společná databáze pro domény: Existuje jedna společná databáze, která obsahuje pouze domény uživatelských účtů. Tato databáze slouží k nasměrování ověřovacího serveru na správného tenanta.
- Výhody: Tento přístup zajišťuje vysokou úroveň izolace a bezpečnosti, protože data jednotlivých tenantů jsou fyzicky oddělena.
- Nevýhody: Může být náročnější na správu a údržbu, protože každá databáze musí být spravována samostatně.
Shrnutí:
- První přístup: Všechny tenanti sdílejí jednu databázi a data jsou izolována pomocí cizích klíčů.
- Druhý přístup: Každý tenant má svou vlastní databázi, což zajišťuje vyšší úroveň izolace a bezpečnosti.
Oba přístupy mají své výhody a nevýhody, a volba mezi nimi závisí na konkrétních potřebách a prioritách vaší aplikace.
Co je bezpečnější?
Z hlediska bezpečnosti je lepší přístup, kde každý tenant má svou vlastní, zcela izolovanou databázi. Tento přístup nabízí několik klíčových výhod:
Výhody izolovaných databází:
- Vyšší úroveň izolace: Data jednotlivých tenantů jsou fyzicky oddělena, což znamená, že je mnohem obtížnější, aby jeden tenant měl přístup k datům jiného tenanta. To výrazně snižuje riziko neúmyslného nebo škodlivého přístupu k citlivým informacím.
- Lepší ochrana proti útokům: V případě, že dojde k narušení bezpečnosti jedné databáze, ostatní databáze zůstávají nedotčeny. To znamená, že útok na jednoho tenanta neohrozí data ostatních tenantů.
- Jednodušší správa oprávnění: Každý tenant má svou vlastní sadu oprávnění a uživatelských účtů, což usnadňuje správu a kontrolu přístupu. Administrátoři mohou přesněji definovat, kdo má přístup k jakým datům.
- Zvýšená důvěra zákazníků: Zákazníci mají větší důvěru v bezpečnost svého systému, když vědí, že jejich data jsou fyzicky oddělena od dat ostatních tenantů. To může být důležité zejména pro firmy, které pracují s citlivými nebo regulovanými informacemi.
Shrnutí:
Izolované databáze poskytují vyšší úroveň bezpečnosti díky fyzickému oddělení dat, lepší ochraně proti útokům, jednodušší správě oprávnění a zvýšené důvěře zákazníků. Tento přístup je ideální pro aplikace, kde je bezpečnost dat prioritou.
Je lepší z hlediska bezpečnosti přístup k tenantům, který zvolilo Sengi, nebo ten který zvolil Sloonek.cz či Raynet a další?
Z hlediska bezpečnosti je lepší přístup, který zvolilo Sengi, tedy izolované databáze pro každého tenanta. Tento přístup nabízí několik klíčových výhod:
Výhody izolovaných databází:
- Vyšší úroveň izolace: Data jednotlivých tenantů jsou fyzicky oddělena, což znamená, že je mnohem obtížnější, aby jeden tenant měl přístup k datům jiného tenanta. To výrazně snižuje riziko neúmyslného nebo škodlivého přístupu k citlivým informacím.
- Lepší ochrana proti útokům: V případě, že dojde k narušení bezpečnosti jedné databáze, ostatní databáze zůstávají nedotčeny. To znamená, že útok na jednoho tenanta neohrozí data ostatních tenantů.
- Jednodušší správa oprávnění: Každý tenant má svou vlastní sadu oprávnění a uživatelských účtů, což usnadňuje správu a kontrolu přístupu. Administrátoři mohou přesněji definovat, kdo má přístup k jakým datům.
Přístup Sloonek.cz
Podle dostupných informací Sloonek.cz používá model serveru s více tenanty, kde jsou data jednotlivých tenantů izolována pomocí cizích klíčů. Tento přístup zahrnuje následující opatření:
- Namapování na entitu “Company”: Všechny údaje jsou spojeny s entitou “Company” (Společnost) prostřednictvím cizích klíčů, což umožňuje izolaci dat na úrovni aplikace.
- Šifrované servery a VPC: Data zákazníků jsou uložena na šifrovaných serverech v rámci Virtual Private Cloud (VPC), což zajišťuje, že k nim mají přístup pouze části aplikace ve stejné síti1.
- RBAC a JWT: Pro ověřování a autorizaci používají tokeny JWT a Role Based Access Control (RBAC), což poskytuje granularitu oprávnění1.
Shrnutí
Izolované databáze, jaké používá Sengi, poskytují vyšší úroveň bezpečnosti díky fyzickému oddělení dat, lepší ochraně proti útokům a jednodušší správě oprávnění. Tento přístup je ideální pro aplikace, kde je bezpečnost dat prioritou. Přístup Sloonek.cz, který využívá sdílenou databázi s izolací pomocí cizích klíčů, je také bezpečný, ale nemusí poskytovat stejnou úroveň izolace a ochrany jako fyzicky oddělené databáze.