{"id":4793,"date":"2026-08-11T20:59:07","date_gmt":"2026-08-11T18:59:07","guid":{"rendered":"https:\/\/www.sycope.com\/?post_type=dictionary-item&#038;p=4793"},"modified":"2026-08-12T19:02:01","modified_gmt":"2026-08-12T17:02:01","slug":"multitenancy","status":"publish","type":"dictionary-item","link":"https:\/\/www.sycope.com\/pl\/post\/dictionary-item\/multitenancy","title":{"rendered":"Multitenancy"},"content":{"rendered":"<p><strong>Multitenancy<\/strong> (wielodzier\u017cawczo\u015b\u0107) to model architektury, w kt\u00f3rym jedna instancja oprogramowania i wsp\u00f3lna infrastruktura obs\u0142uguj\u0105 wielu niezale\u017cnych odbiorc\u00f3w. Tych odbiorc\u00f3w nazywa si\u0119 tenantami (dzier\u017cawcami) \u2014 zwykle to organizacja albo klient. Ka\u017cdy tenant widzi w\u0142asne dane i ustawienia tak, jakby by\u0142y tylko jego, cho\u0107 w rzeczywisto\u015bci dzieli moc obliczeniow\u0105, pami\u0119\u0107 masow\u0105 i bazy danych z innymi. Rozdzia\u0142 mi\u0119dzy tenantami pilnuje samo oprogramowanie (warstwa aplikacji i danych), a nie osobne wdro\u017cenie dla ka\u017cdego klienta. Na tym modelu opiera si\u0119 wi\u0119kszo\u015b\u0107 us\u0142ug SaaS i chmury publicznej.<\/p>\n<h2>Czym jest tenant i na czym polega wielodzier\u017cawczo\u015b\u0107?<\/h2>\n<p><strong>Tenant<\/strong> to jeden, logicznie wydzielony odbiorca systemu \u2014 na przyk\u0142ad firma, dzia\u0142 albo konto klienta \u2014 razem z jego u\u017cytkownikami, danymi i ustawieniami. W modelu wielodzier\u017cawczym wielu takich odbiorc\u00f3w korzysta z tej samej instancji aplikacji. Sercem ca\u0142ego mechanizmu jest <em>kontekst tenanta<\/em>: identyfikator (<code>tenant_id<\/code>), kt\u00f3ry w\u0119druje przez ca\u0142y system i decyduje, do jakich danych ma dost\u0119p dane \u017c\u0105danie. Ka\u017cde zapytanie do bazy, ka\u017cdy odczyt z pami\u0119ci i ka\u017cde wywo\u0142anie <a href=\"https:\/\/www.sycope.com\/pl\/post\/dictionary-item\/api\">API<\/a> musi by\u0107 ograniczone do zasob\u00f3w bie\u017c\u0105cego tenanta.<\/p>\n<p>Wielodzier\u017cawczo\u015bci nie nale\u017cy myli\u0107 ze zwyk\u0142ym wsp\u00f3\u0142dzieleniem serwera. Wiele aplikacji mo\u017ce dzia\u0142a\u0107 na jednej maszynie i nadal nie by\u0107 multitenantowych. O wielodzier\u017cawczo\u015bci m\u00f3wimy dopiero wtedy, gdy <strong>jedna instancja aplikacji<\/strong> celowo i bezpiecznie obs\u0142uguje wielu klient\u00f3w, trzymaj\u0105c ich dane osobno.<\/p>\n<h2>Czym r\u00f3\u017cni si\u0119 multitenancy od single-tenancy?<\/h2>\n<p>W modelu <strong>single-tenant<\/strong> ka\u017cdy klient dostaje w\u0142asn\u0105, oddzieln\u0105 kopi\u0119 aplikacji i w\u0142asny stos zasob\u00f3w (instancj\u0119, baz\u0119 danych, czasem ca\u0142\u0105 infrastruktur\u0119). W modelu <strong>multi-tenant<\/strong> jedna instancja obs\u0142uguje wielu klient\u00f3w na wsp\u00f3lnych zasobach, a ich dane rozdziela si\u0119 logicznie.<\/p>\n<ul>\n<li><strong>Izolacja:<\/strong> single-tenant daje izolacj\u0119 fizyczn\u0105, sprz\u0119tow\u0105; multi-tenant opiera si\u0119 g\u0142\u00f3wnie na izolacji logicznej, kt\u00f3r\u0105 pilnuje oprogramowanie.<\/li>\n<li><strong>Wykorzystanie zasob\u00f3w:<\/strong> w multitenancy jeden stos s\u0142u\u017cy wielu tenantom, wi\u0119c sprz\u0119t jest lepiej wykorzystany, a koszt na klienta ni\u017cszy. W single-tenant wi\u0119cej zasob\u00f3w stoi bezczynnie.<\/li>\n<li><strong>Utrzymanie i aktualizacje:<\/strong> w modelu wielodzier\u017cawczym jedna aktualizacja obejmuje od razu wszystkich tenant\u00f3w. W single-tenant ka\u017cd\u0105 kopi\u0119 trzeba aktualizowa\u0107 osobno.<\/li>\n<li><strong>Dostosowanie:<\/strong> single-tenant pozwala mocniej dostosowa\u0107 system (osobne wersje, w\u0142asny harmonogram aktualizacji). Multitenancy ogranicza zmiany do konfiguracji w obr\u0119bie wsp\u00f3lnego kodu.<\/li>\n<li><strong>Promie\u0144 ra\u017cenia:<\/strong> w single-tenant awaria lub w\u0142amanie dotyka jednego klienta. W multi-tenant b\u0142\u0105d w izolacji albo awaria wsp\u00f3lnego elementu mo\u017ce dotkn\u0105\u0107 wielu tenant\u00f3w naraz.<\/li>\n<\/ul>\n<h2>Jakie s\u0105 modele izolacji tenant\u00f3w?<\/h2>\n<p>Izolacja to nie jedna technika, lecz ca\u0142e spektrum \u2014 od pe\u0142nego wsp\u00f3\u0142dzielenia po stos w ca\u0142o\u015bci dedykowany. Cz\u0119sto opisuje si\u0119 j\u0105 trzema poziomami: <strong>silo<\/strong> (zasoby przypisane jednemu tenantowi), <strong>pool<\/strong> (zasoby wsp\u00f3lne, rozdzielone logicznie) i <strong>bridge<\/strong> (model mieszany, w kt\u00f3rym cz\u0119\u015b\u0107 element\u00f3w jest wsp\u00f3lna, a cz\u0119\u015b\u0107 dedykowana).<\/p>\n<h3>Izolacja na poziomie bazy danych<\/h3>\n<p>W warstwie danych spotyka si\u0119 trzy g\u0142\u00f3wne wzorce. R\u00f3\u017cni\u0105 si\u0119 si\u0142\u0105 izolacji, kosztem i tym, ile pracy wymagaj\u0105 na co dzie\u0144:<\/p>\n<ol>\n<li><strong>Wsp\u00f3lna baza, wsp\u00f3lny schemat (shared database, shared schema):<\/strong> wszyscy tenanci korzystaj\u0105 z tych samych tabel, a dane rozdziela kolumna <code>tenant_id<\/code> i filtrowanie zapyta\u0144. Najta\u0144szy i najprostszy wariant, ale najbardziej nara\u017cony na <a href=\"https:\/\/www.sycope.com\/pl\/post\/dictionary-item\/data-exfiltration-wyciek-danych\">wyciek danych<\/a>, gdy kto\u015b pomyli filtr albo o nim zapomni \u2014 oraz na efekt \u201eg\u0142o\u015bnego s\u0105siada\u201d.<\/li>\n<li><strong>Wsp\u00f3lna baza, osobne schematy (shared database, separate schemas):<\/strong> ka\u017cdy tenant ma w\u0142asny schemat w obr\u0119bie jednej bazy. Rozdzia\u0142 jest lepszy ni\u017c przy wsp\u00f3lnych tabelach, ale ka\u017cd\u0105 zmian\u0119 schematu trzeba nanie\u015b\u0107 osobno dla ka\u017cdego tenanta, a kopie zapasowe staj\u0105 si\u0119 bardziej skomplikowane.<\/li>\n<li><strong>Baza na tenanta (database per tenant):<\/strong> ka\u017cdy tenant dostaje w\u0142asn\u0105 baz\u0119 danych. Daje to najwy\u017csz\u0105 izolacj\u0119 i naj\u0142atwiej spe\u0142nia wymogi co do miejsca przechowywania danych, ale kosztuje najwi\u0119cej i jest najtrudniejsze w obs\u0142udze (trzeba ogarn\u0105\u0107 setki, a nawet tysi\u0105ce baz).<\/li>\n<\/ol>\n<h3>Izolacja na poziomie oblicze\u0144 i sieci<\/h3>\n<p>Przy uruchamianiu kodu tenant\u00f3w rozdziela si\u0119 m.in. przez <strong>namespace per tenant<\/strong> w Kubernetes, osobne <code>VPC<\/code> lub podsieci, polityki sieciowe, <a href=\"https:\/\/www.sycope.com\/pl\/post\/dictionary-item\/rbac\">RBAC<\/a> oraz wzajemne uwierzytelnianie us\u0142ug (<strong>mTLS<\/strong>) w siatce us\u0142ug. W modelach mieszanych zwykli klienci wsp\u00f3\u0142dziel\u0105 infrastruktur\u0119, a klienci o ostrzejszych wymaganiach (zgodno\u015b\u0107, kontrakty enterprise) dostaj\u0105 stos tylko dla siebie.<\/p>\n<h2>Jak dzia\u0142a izolacja i dlaczego nie wystarczy uwierzytelnianie?<\/h2>\n<p>Izolacja tenant\u00f3w to co innego ni\u017c uwierzytelnianie i autoryzacja. To, \u017ce u\u017cytkownik jest zalogowany i ma odpowiedni\u0105 rol\u0119, wcale nie znaczy, \u017ce nie si\u0119gnie po dane innego tenanta \u2014 zwyk\u0142e logowanie i uprawnienia w og\u00f3le nie znaj\u0105 poj\u0119cia \u201egranicy tenanta\u201d. Izolacja to dodatkowa warstwa, kt\u00f3ra <strong>na podstawie kontekstu tenanta<\/strong> ogranicza dost\u0119p do zasob\u00f3w wszystkim u\u017cytkownikom danego tenanta. W praktyce robi si\u0119 to przez:<\/p>\n<ul>\n<li>przekazywanie <code>tenant_id<\/code> z tokenu (np. z pola w JWT) przez ca\u0142\u0105 \u015bcie\u017ck\u0119 \u017c\u0105dania;<\/li>\n<li>obowi\u0105zkowe zaw\u0119\u017canie zapyta\u0144 do bie\u017c\u0105cego tenanta \u2014 najlepiej przez <em>row-level security<\/em> w bazie, a nie tylko filtr <code>WHERE<\/code> w kodzie aplikacji;<\/li>\n<li>polityki dost\u0119pu (<a href=\"https:\/\/www.sycope.com\/pl\/post\/dictionary-item\/identity-and-access-management-iam\">IAM<\/a>, <a href=\"https:\/\/www.sycope.com\/pl\/post\/dictionary-item\/rbac\">RBAC<\/a>) i regu\u0142y sieciowe, kt\u00f3re wi\u0105\u017c\u0105 zasoby z tenantem;<\/li>\n<li>osobne klucze szyfruj\u0105ce lub sekrety na tenanta tam, gdzie wymaga tego model zagro\u017ce\u0144.<\/li>\n<\/ul>\n<h2>Jakie ryzyka bezpiecze\u0144stwa wi\u0105\u017c\u0105 si\u0119 z wielodzier\u017cawczo\u015bci\u0105?<\/h2>\n<p>Wsp\u00f3\u0142dzielenie zasob\u00f3w kumuluje ryzyko: jedna luka w izolacji mo\u017ce dotkn\u0105\u0107 wielu tenant\u00f3w. Najwa\u017cniejsze zagro\u017cenia to:<\/p>\n<ul>\n<li><strong>Wyciek mi\u0119dzy tenantami (cross-tenant leakage):<\/strong> dane jednego tenanta staj\u0105 si\u0119 dost\u0119pne dla innego \u2014 przez brak filtra <code>tenant_id<\/code>, b\u0142\u0105d w autoryzacji, pomy\u0142k\u0119 w mapowaniu kontekstu albo podatno\u015b\u0107 typu IDOR.<\/li>\n<li><strong>Eskalacja i ucieczka z izolacji:<\/strong> pr\u00f3by przekroczenia granicy tenanta przez podmian\u0119 identyfikator\u00f3w, luki we wsp\u00f3lnej warstwie (cache, kolejki, wsp\u00f3lna baza) lub b\u0142\u0119dy konfiguracji namespace czy VPC.<\/li>\n<li><strong>Efekt g\u0142o\u015bnego s\u0105siada (noisy neighbor):<\/strong> jeden tenant zu\u017cywa nieproporcjonalnie du\u017co wsp\u00f3lnych zasob\u00f3w (CPU, operacje I\/O, po\u0142\u0105czenia do bazy) i psuje wydajno\u015b\u0107 lub dost\u0119pno\u015b\u0107 pozosta\u0142ym. \u0141agodzi si\u0119 to limitami zasob\u00f3w, kwotami i ograniczaniem tempa zapyta\u0144 (<a href=\"https:\/\/www.sycope.com\/pl\/post\/dictionary-item\/rate-limiting\">rate limiting<\/a>).<\/li>\n<li><strong>Wsp\u00f3lny promie\u0144 ra\u017cenia:<\/strong> awaria lub w\u0142amanie do wsp\u00f3lnego elementu (baza, w\u0119ze\u0142, klaster) mo\u017ce obj\u0105\u0107 wielu tenant\u00f3w naraz.<\/li>\n<li><strong>Zgodno\u015b\u0107 i miejsce przechowywania danych:<\/strong> re\u017cimy takie jak PCI DSS, HIPAA czy wymogi co do lokalizacji danych mog\u0105 wymusza\u0107 mocniejsz\u0105 izolacj\u0119 (osobny schemat, osobn\u0105 baz\u0119 albo dedykowany stos) dla wybranych tenant\u00f3w.<\/li>\n<\/ul>\n<h2>Dlaczego multitenancy jest istotne dla monitorowania i wykrywania zagro\u017ce\u0144?<\/h2>\n<p>W \u015brodowisku wielodzier\u017cawczym widoczno\u015b\u0107 i telemetria musz\u0105 wiedzie\u0107, do kt\u00f3rego tenanta nale\u017c\u0105. Dla zespo\u0142\u00f3w <a href=\"https:\/\/www.sycope.com\/pl\/post\/dictionary-item\/soc-security-operations-center\">SOC<\/a>, monitoringu sieci i system\u00f3w klasy <a href=\"https:\/\/www.sycope.com\/pl\/post\/dictionary-item\/ndr-network-detection-and-response\">NDR<\/a> oznacza to kilka konkretnych wyzwa\u0144:<\/p>\n<ul>\n<li><strong>Przypisanie do tenanta:<\/strong> logi, metryki, przep\u0142ywy sieciowe (np. <a href=\"https:\/\/www.sycope.com\/pl\/post\/dictionary-item\/netflow\">NetFlow<\/a>\/<a href=\"https:\/\/www.sycope.com\/pl\/post\/dictionary-item\/ipfix\">IPFIX<\/a>) i zdarzenia bezpiecze\u0144stwa powinny nie\u015b\u0107 kontekst tenanta. Dzi\u0119ki temu incydent da si\u0119 przypisa\u0107 w\u0142a\u015bciwemu odbiorcy i przeanalizowa\u0107 w oderwaniu od reszty.<\/li>\n<li><strong>Wykrywanie ruchu poprzecznego:<\/strong> komunikacja przekraczaj\u0105ca granic\u0119 tenanta tam, gdzie nie powinna (albo nietypowy dost\u0119p do wsp\u00f3lnej bazy), to sygna\u0142 mo\u017cliwego wycieku mi\u0119dzy tenantami lub naruszenia izolacji.<\/li>\n<li><strong>Wykrywanie g\u0142o\u015bnego s\u0105siada:<\/strong> nag\u0142e skoki w zu\u017cyciu wsp\u00f3lnych zasob\u00f3w przez jednego tenanta mog\u0105 oznacza\u0107 nadu\u017cycie, b\u0142\u0119dn\u0105 konfiguracj\u0119 albo atak (np. <a href=\"https:\/\/www.sycope.com\/pl\/post\/dictionary-item\/dos-denial-of-service\">DoS<\/a> na wsp\u00f3lny element).<\/li>\n<li><strong>Rozdzia\u0142 widoczno\u015bci:<\/strong> raporty i pulpity musz\u0105 pilnowa\u0107, \u017ceby jeden tenant nie zobaczy\u0142 telemetrii innego \u2014 izolacja obowi\u0105zuje tak\u017ce w warstwie monitoringu, nie tylko w danych produkcyjnych.<\/li>\n<li><strong>Higiena konfiguracji:<\/strong> sta\u0142e sprawdzanie polityk sieciowych, regu\u0142 RBAC i granic namespace\/VPC zmniejsza ryzyko, \u017ce b\u0142\u0105d konfiguracji otworzy \u015bcie\u017ck\u0119 mi\u0119dzy tenantami.<\/li>\n<\/ul>\n<h2>Dowiedz si\u0119 wi\u0119cej<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.sycope.com\/pl\/post\/zaawansowane-metody-ochrony-przed-atakami-ddos-w-frimach\">Zaawansowane metody ochrony przed atakami DDoS w firmach<\/a> \u2014 W multitenancy trzeba wykrywa\u0107 ataki <a href=\"https:\/\/www.sycope.com\/pl\/post\/dictionary-item\/ddos-distributed-denial-of-service\">DDoS<\/a> osobno dla ka\u017cdego najemcy i izolowa\u0107 ich skutki.<\/li>\n<li><a href=\"https:\/\/www.sycope.com\/pl\/post\/architektura-zero-trust-rola-widocznosci-sieci-i-mikrosegmentacji-w-bezpieczenstwie\">Architektura Zero Trust \u2013 rola widoczno\u015bci sieci i mikrosegmentacji w bezpiecze\u0144stwie<\/a> \u2014 Zero Trust wspiera multitenancy przez \u015bcis\u0142\u0105 segmentacj\u0119 i kontrol\u0119 dost\u0119pu mi\u0119dzy najemcami.<\/li>\n<li><a href=\"https:\/\/www.sycope.com\/pl\/post\/multitenancy-w-sycope\">Multitenancy w Sycope<\/a> \u2014 Artyku\u0142 opisuje model multitenancy, czyli wsp\u00f3\u0142dzielenie jednej platformy przez wielu odseparowanych klient\u00f3w.<\/li>\n<li><a href=\"https:\/\/www.sycope.com\/pl\/post\/monitoring-sieci-i-network-visibility-analiza-ruchu-sieciowego-jako-podstawa-visibility-cybersecurity\">Monitoring sieci i network visibility \u2013 analiza ruchu sieciowego jako podstawa visibility cybersecurity<\/a> \u2014 Widoczno\u015b\u0107 ruchu pomaga przypisa\u0107 aktywno\u015b\u0107 i incydenty do w\u0142a\u015bciwego najemcy.<\/li>\n<li><a href=\"https:\/\/www.sycope.com\/pl\/post\/bledy-konfiguracji-sieci-jak-ich-uniknac-i-poprawic-konfiguracje-routera\">B\u0142\u0119dy konfiguracji sieci \u2013 jak unika\u0107 network configuration errors i poprawi\u0107 konfiguracj\u0119 routera<\/a> \u2014 B\u0142\u0119dy konfiguracji mog\u0105 naruszy\u0107 izolacj\u0119 mi\u0119dzy najemcami w \u015brodowisku multitenant.<\/li>\n<li><a href=\"https:\/\/www.sycope.com\/pl\/post\/compliance-and-regulation-with-sycope\">Compliance i regulacje z Sycope<\/a> \u2014 Compliance w multitenancy obejmuje rozdzielne dane, dost\u0119py i audyt dla ka\u017cdego najemcy.<\/li>\n<\/ul>\n","protected":false},"featured_media":0,"template":"","class_list":["post-4793","dictionary-item","type-dictionary-item","status-publish","hentry"],"acf":{"tytul":"Multitenancy","ikona":"","krotki_opis":"Model architektury, w kt\u00f3rym jedna instancja oprogramowania obs\u0142uguje wielu niezale\u017cnych tenant\u00f3w na wsp\u00f3lnej infrastrukturze, rozdzielaj\u0105c ich dane logicznie. Podstawa SaaS i chmury."},"_links":{"self":[{"href":"https:\/\/www.sycope.com\/pl\/wp-json\/wp\/v2\/dictionary-item\/4793","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sycope.com\/pl\/wp-json\/wp\/v2\/dictionary-item"}],"about":[{"href":"https:\/\/www.sycope.com\/pl\/wp-json\/wp\/v2\/types\/dictionary-item"}],"wp:attachment":[{"href":"https:\/\/www.sycope.com\/pl\/wp-json\/wp\/v2\/media?parent=4793"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}