Decyzja

Izolacja jest granicą do projektowania i weryfikacji, a nie pole dodane do tabeli na końcu. Należy zacząć od określenia własności najemcy, który może przekroczyć tę granicę i od tego, czy indywidualni klienci potrzebują niezależnej naprawy czy infrastruktury. Wskazówki architektury Microsoft opisują wspólne i odizolowane podejścia do przechowywania danych; wybór pozostaje specyficzny dla modelu operacyjnego.

Przykład roboczy

Wyobraź sobie SaaS używane przez oddzielne firmy naprawcze. Technik w firmie A nie może odzyskać pracy firmy B zgadując jej identyfikator. Strony listy ćwiczeń, wyszukiwanie, załączniki, eksport, praca w tle i wsparcie dostępu jako oddzielne ścieżki. Jedna chroniona strona szczególna nie ustanawia izolacji wszędzie.

Określenie granicy najemcy w pracy zwykłej

Lista zapisów należących do firmy i rekordów celowo udostępnianych między firmami. Publiczny katalog produktów może być udostępniany, podczas gdy ceny, kontakty z klientami i zlecenia pracy pozostają prywatne. Zdefiniuj, co się dzieje, gdy dana osoba należy do dwóch przedsiębiorstw: przełączanie aktywnej firmy powinno zmienić cały kontekst roboczy, w tym wyszukiwanie, pobieranie plików i eksport. Nie należy polegać na etykiecie firmy wizualnej, aby zapewnić tę granicę. Serwer musi ustalić przynależność użytkownika do żądanej operacji. Dokumentuje każdą uprzywilejowaną ścieżkę wsparcia oddzielnie, w tym jej zezwolenie, czas trwania i rejestr użytkowania.

Wyciek z badania przez drogi pośrednie

Korzystanie z dwóch firm syntetycznych z celowo podobnych rekordów i użytkowników z różnych uprawnień. Sprawdź identyfikatory z drugiej firmy szczegółowo trasy, eksportowane raporty, załączniki i operacje w tle. Podgrzej cache pod jedną firmą, a następnie żądaj podobnych informacji pod drugą. Usuń członkostwo użytkownika podczas oczekiwania na pracę i zdecydować, czy zadanie w kolejce powinno być kontynuowane pod wyraźnie autoryzowaną tożsamością usługową lub anulowane. Testy te dotyczą zamierzonego autorytetu w czasie realizacji, nie tylko tego, czy początkowy ekran ukrył przycisk. Przegląd negatywnych przypadków dodania nowych funkcji wyszukiwania, eksportu lub integracji.

Traktować odzyskiwanie i usuwanie jako wymogi izolacji

Zapytaj, jak zespół przywróci przypadkowo usunięte rekordy jednego klienta bez cofania pracy każdego innego klienta. Oddzielna baza danych może ułatwić niektóre zadania operacyjne, ale każda przywracanie nadal wymaga weryfikacji załączników, identyfikatorów i systemów zależnych. Dzięki wspólnemu przechowywaniu, selektywna odzysk wymaga celowej procedury i bezpiecznego środowiska. Przeanalizować wybraną metodę z danych syntetycznych przed obietnicą do klientów. Podobnie należy określić granice wywozu i usunięcia, w tym indeksy pochodne i kopie zapasowe w ramach stosowanego procesu retencji. Decyzja projektowa jest kompletna tylko wtedy, gdy normalny dostęp, uprzywilejowany dostęp i odzyskanie są zgodne z zrozumiałą granicą najemców, którą zespół operacyjny może wykazać.

Alternatywy warte ważenia

  • Wspólne tabele mogą uprościć działanie małego produktu, ale wymagają spójnego dostępu do niego. Oddzielne bazy danych zapewniają mocniejsze granice operacyjne i dodają migracji, połączenia i tworzenia kopii zapasowych. Hybryda może służyć różnym potrzebom klientów, pod warunkiem, że zespół wsparcia rozumie oba rozwiązania.

Gdzie plan się psuje

Nie należy ufać identyfikatorowi najemcy dostarczonemu przez przeglądarkę bez sprawdzenia członkostwa. Wpisz kontekst najemcy w klawiszach buforowych i decyzjach dostępu do plików. Sprawdzanie zmieniających się organizacji użytkowników i utrata dostępu podczas pracy w kolejce jest nadal w toku.

Przed zleceniem pracy

Czy dane jednego klienta mogą być zwracane lub wywożone niezależnie? Kto autoryzuje dostęp do pomocy i czy jest on zarejestrowany? Omówienie tych wymagań podczas projektowania SaaS; sam schemat przechowywania nie może ich rozstrzygnąć.

Źródła i dalsza lektura

  1. Microsoft Azure Architecture Center: multitenant storage and data
Usługi

Tworzenie SaaS

Produkt, z którego ludzie mogą korzystać, który mogą subskrybować i na którym mogą polegać.

Porozmawiaj o tej usłudze