Kontrollera kundseparering i en SaaS-applikation
En konkret kontrollplan för dataåtkomst, exporter och bakgrundsjobb mellan separata kundmiljöer.

Definiera först kundmiljön
En tenant är en avgränsad kundmiljö i din applikation. Den behöver varken motsvara en person eller alltid ett helt företag. Bestäm vilka data som hör ihop, vem som får vara medlem och vilka uppgifter varje roll får utföra. Ett användarkonto kan ha flera medlemskap; inloggning ensam väljer ingen tillåten dataomfattning.
Microsoft skiljer den logiska tenanten från den tekniska driftsättningen. Egen databas och delade tabeller ställer olika krav på drift och åtkomstskydd. Ingen variant ersätter kontroll av alla avsedda åtkomstvägar.
En kontrollplan med två påhittade kundmiljöer
Planera fallen med syntetiska data i en separat testmiljö. Det är förväntade resultat, inte ett genomfört säkerhetstest. Miljöerna heter TA och TB. Uppdrag SV-12 tillhör TA, uppdrag SV-41 tillhör TB. Testkontona har bara de avsedda uppdragsbehörigheterna i sin egen miljö.
Kontrollerad åtkomst | Åtgärd | Förväntat resultat |
|---|---|---|
Behörigt konto i | Läsa | Bara egna uppdragsdata som rollen får se visas. |
Samma konto i | Läsa eller ändra | Inga data från |
Konto i | Söka och exportera | Resultat och fil innehåller inga data från |
Först konto från | Använda samma åtkomstväg till serverns cache |
|
Konto i | Köa export, ta bort åtkomsten före bearbetning | Bakgrundsjobbet kontrollerar igen och avvisas enligt denna testregel. |
Kontrollera data och verkliga ändringar på servern. En dold knapp bevisar ingen separering. Använd också en känd objektidentifierare från en annan miljö: en svårgissad identifierare får inte vara enda åtkomsthindret.
För gränsen genom hela flödet
OWASP kräver serververifierad tenantkontext och lämplig behörighetskontroll. Miljöidentifierare från klienten är ett val, ingen behörighet. Kontrollera aktuellt medlemskap, tillåten åtgärd och målobjektets tillhörighet. Saknas nödvändig kontext får applikationen inte falla tillbaka på en obegränsad fråga.
Ta med bilagor, tenantberoende cachenycklar, exporter och fördröjd bearbetning. Bakgrundsjobb kräver tillförlitlig överföring av kontext och behörighet samt lämplig kontroll vid bearbetningen. Bestäm hur rättigheter som tagits bort under tiden ska hanteras.
Offentligt, globalt innehåll behöver ingen konstgjord tenantkoppling. Plattformuppgifter över miljögränser kräver däremot uttryckligen behörig identitet och spårbar åtkomst. Dokumentera förväntat resultat, faktiskt fynd och rättelse separat för varje fall. Upprepa berörda kontroller när åtkomstvägar eller roller ändras.
Källor
Läs vidare
Alla artiklar




Mjukvaruutveckling med ASES
Skräddarsydd programvara, webb- och mobilappar



