Multi Tenant en Federation

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Twazerty
  • Registratie: April 2006
  • Laatst online: 12:29

Twazerty

AVCHDCoder developer

Topicstarter
Ons applicatielandschap is aan het veranderen en de huidige oplossing is niet meer geschikt voor het nieuwe landschap. Ik ben op zoek gegaan naar mogelijkheden, maar loop daarbij een beetje vast. We hebben enkele essentiële punten om op te lossen. Eerst een schets van het probleem (onderwerp is niet het echte onderwerp, maar komt kwa probleem overeen):

Wij leveren SaaS diensten voor B2B. Hierin werken verschillende klanten, met ieder hun eigen users. Wij willen een SSO oplossing inzetten voor in ieder geval authenticatie.

De data van iedere klant staat opgeslagen in een BackOffice applicatie waar onze klanten (in vereenvoudigde vorm) staan opgeslagen. Ieder record bevat ook het klantnr. Deze backoffice wordt enkel intern gebruikt, klanten kunnen er niet bij.

De FrontOffice/MidOffice wordt voorzien van data uit de backoffice (dagelijks). In de FrontOffice heeft ieder bedrijf een eigen set users, aan dit bedrijf zijn 1 of meerdere klantnr's uit de BackOffice gekoppeld. Er bevinden zich autorisaties op zowel bedrijfsniveau als userniveau. De FrontOffice weet dus wel welke data hij uit de BackOffice mag lezen, maar de BackOffice weet niet welke FrontOffice gebruiker/bedrijf erbij hoort.

Een User van het ene bedrijf kan uitgeleend worden aan een ander bedrijf. Daarbij krijgt hij andere rechten als bij zijn eigen bedrijf. Hij kan op dat moment de data van beide bedrijven zien.

Users kunnen inloggen met een Client Certificaat (X509).

Daarnaast hebben wij niet 1 applicatie waarin bedrijven kunnen werken, maar meerdere. Sommige applicaties worden extern gebouwd en gehost. In elke applicatie kan een bedrijf een andere dienst van ons gebruiken. Users moeten via een SSO oplossing van de ene applicatie naar een andere applicatie kunnen gaan. Ook deze andere applicaties moeten kennis hebben van de klantnr's van een bedrijf. Ofwel user A van Bedrijf B met de gegevens van klantnr 0001 en 0002 moet ook in een andere applicatie toegang hebben tot klantnr 0001 en 0002. Applicaties variëren van SinglePageApplications (Angular) en klassieke webapplicaties tot desktopapplicaties.

Alle klanten werken op hetzelfde domein per applicatie. Dus voor applicatie d hebben we url e en voor applicatie f hebben we url g. Dus niet per klant/bedrijf een andere url.

Nu denk ik op zoek te zijn naar het volgende:
een Identity Provider met Multi-Tenant support. In mijn visie zouden er meerdere bedrijven aangemaakt moeten kunnen worden, met de bijbehorende rollen, rechten en klantnr's. De Indentity Provider moet het Federation model ondersteunen zodat meerdere externe/interne applicaties/partijen kunnen aansluiten op dezelfde Identity Provider. Waarbij iedereen direct kan opvragen tot welk bedrijf de user behoort, welke klantnr's hij kan zien/bedienen (en eventueel welke rechten/rollen hij heeft). Dit willen we niet per applicatie opnieuw inrichten.

Ik kom op enkele namen die de term Multi-Tenant gebruiken:
Auth0, Azure AD, StormPath en IdentityServer. Echter krijg ik bij alle pakketten de indruk dat zij bovenstaande niet verstaan onder Multi Tenant. Auth0 ziet er goed uit, maar kan niet achterhalen hoe ze werken met Tenants. Krijg de indruk dat tenants op verschillende url's draaien en dat client certificaten niet/slecht ondersteund worden.

Ik kan echter geen leesvoer vinden dat ook maar een beetje in de buurt komt van wat ik zoek. Iemand ideeën/leesvoer? Dan kunnen we daarna ook met meer kennis verschillende implementatiepartners benaderen.

Ruisende versterker: schakel je subwoofer in.