Klantomgevingen in een SaaS-toepassing gescheiden houden
Een concreet controleplan voor gegevens, exports en achtergrondtaken tussen gescheiden klantomgevingen.

Definieer eerst de klantomgeving
Een tenant is een afgebakende klantomgeving in uw toepassing. Dat hoeft geen enkele persoon of altijd een heel bedrijf te zijn. Bepaal welke gegevens bij elkaar horen, wie lid mag zijn en welke taken elke rol mag uitvoeren. Een gebruikersaccount kan meerdere lidmaatschappen hebben; aanmelden alleen kiest nog geen toegestane gegevensscope.
Microsoft onderscheidt de logische tenant van de technische uitrol. Een eigen database en gedeelde tabellen stellen verschillende eisen aan beheer en toegangsbeveiliging. Geen optie vervangt het controleren van alle bedoelde toegangspaden.
Een controleplan met twee fictieve klantomgevingen
Plan deze gevallen met synthetische gegevens in een aparte testomgeving. Het zijn verwachte resultaten, geen uitgevoerde beveiligingstest. De omgevingen heten TA en TB. Opdracht SV-12 hoort bij TA, opdracht SV-41 bij TB. Elk testaccount heeft de bedoelde opdrachtbevoegdheden alleen binnen de eigen omgeving.
Gecontroleerde toegang | Actie | Verwacht resultaat |
|---|---|---|
Bevoegd account in |
| Alleen eigen opdrachtgegevens die deze rol mag zien verschijnen. |
Hetzelfde account in |
| Geen gegevens uit |
Account in | Zoeken en exporteren | Resultaten en bestand bevatten geen gegevens uit |
Eerst account uit | Hetzelfde toegangspad naar de servercache gebruiken |
|
Account in | Export inplannen, vóór verwerking toegangsrecht intrekken | De achtergrondtaak controleert opnieuw en wordt volgens deze testregel geweigerd. |
Controleer gegevens en werkelijke wijzigingen op de server. Een verborgen knop bewijst geen scheiding. Gebruik ook een bekende objectidentificatie uit een andere omgeving: een lastig te raden identificatie mag niet de enige toegangsdrempel zijn.
Bewaak de grens in het hele proces
OWASP vraagt om servergeverifieerde tenantcontext en passende autorisatie. Omgevingsidentificaties van de client zijn een selectie, geen recht. Controleer actueel lidmaatschap, toegestane actie en de omgeving van het doelobject. Ontbreekt vereiste context, dan mag de toepassing niet terugvallen op een onbeperkte query.
Neem bijlagen, tenantafhankelijke cachesleutels, exports en uitgestelde verwerking mee. Achtergrondtaken vragen betrouwbare overdracht van context en autorisatie, met passende controles bij verwerking. Bepaal hoe tussentijds ingetrokken rechten worden behandeld.
Openbare, globale inhoud vraagt geen kunstmatige tenantvereiste. Platformtaken over omgevingen heen vragen wel een expliciet bevoegde identiteit en traceerbare toegang. Leg verwacht resultaat, werkelijke bevinding en correctie per geval apart vast. Herhaal getroffen controles als toegangspaden of rollen veranderen.
Bronnen
Verder lezen
Alle artikelen




Softwareontwikkeling met ASES
Maatwerksoftware, web- en mobiele apps



