Bezpieczeństwo
Bezpieczeństwo i prywatność są częścią architektury. Poniżej pokazujemy, jak zbudowana jest Veisla – warstwa po warstwie – i co faktycznie robi każda z warstw.
| Warstwa | Jak robi to Veisla |
|---|---|
| 1 · Warstwa klienta | Next.js 16 i React 19 z komponentami renderowanymi po stronie serwera – tak samo w aplikacji, jak i w warstwie zarządzającej (control plane). |
| 2 · API i logika backendu | Typowane API oparte na App Router, z autoryzacją po stronie serwera dla każdego żądania i ustrukturyzowaną obsługą błędów. |
| 3 · Baza danych i przechowywanie danych | Baza danych per tenant: każdy klient ma własną, odizolowaną bazę danych (Azure Postgres / Neon), bez tabel współdzielonych między klientami. |
| 4 · Uwierzytelnianie i dostęp | Kontrola dostępu oparta na rolach, jednokrotne logowanie (SSO) dla każdego klienta oraz opcjonalne uwierzytelnianie dwuskładnikowe (TOTP). |
| 5 · Hosting i wdrażanie | GitHub Actions z Azure OIDC, dzięki czemu w pipeline nie ma długotrwałych kluczy chmurowych. Aplikacja jest wydawana w wersjach, a środowiska klientów są aktualizowane ręcznie z poziomu control plane. |
| 6 · Chmura i moc obliczeniowa | Microsoft Azure Container Apps w regionie Norway East. Środowisko uruchomieniowe aplikacji może być współdzielone przez klientów; izolację między klientami zapewnia osobna baza danych dla każdego klienta. |
| 7 · CI/CD i kontrola wersji | Sekrety produkcyjne są przechowywane w Azure Key Vault, sekretach Container Apps i GitHub Secrets, a zmiany w kodzie są skanowane w CI pod kątem wycieku sekretów. |
| 8 · Izolacja między klientami | Osobna baza danych dla każdego klienta zamiast row-level security we wspólnej bazie, więc dane różnych klientów nigdy nie znajdują się w tych samych tabelach. |
| 9 · Ograniczanie liczby żądań | Ochrona przed atakami brute force na logowanie i publicznie dostępne endpointy. |
| 10 · Brzeg sieci i TLS | TLS jest terminowany na ingress Azure Container Apps, a każdy klient jest obsługiwany pod własną nazwą hosta. |
| 11 · Równoważenie obciążenia i skalowanie | Azure Container Apps skaluje aplikację w zależności od obciążenia. |
| 12 · Śledzenie błędów i logowanie | Śledzenie błędów na serwerze, w kliencie i na brzegu sieci z usuwaniem danych osobowych; ustrukturyzowane logowanie z identyfikatorami tenanta i korelacji; cały uprzywilejowany dostęp do bazy danych jest audytowany bez logowania wierszy wyników. |
| 13 · Dostępność i odtwarzanie | Automatyczne kopie zapasowe serwera baz danych oraz zrzuty bazy danych na żądanie dla każdego klienta; webhooki płatności są przetwarzane idempotentnie i mogą być odtwarzane ponownie. |
← Powrót do sekcji Bezpieczeństwo Jak zgłosić lukę w zabezpieczeniach →