Single sign-on beantwoordt een authenticatievraag: heeft Microsoft deze gebruiker geverifieerd volgens het beleid van de organisatie? Het beantwoordt niet elke autorisatievraag binnen Odoo.
Een geauthenticeerde gebruiker heeft mogelijk toegang nodig tot sales maar niet tot boekhouding, projecten maar niet tot payroll, of een klantenportaal maar niet tot de interne interface. Die beslissingen blijven de verantwoordelijkheid van Odoo. Microsoft Entra-groepen en applicatierollen kunnen betrouwbare input leveren om ze consistenter te maken.
Groepen en app-rollen dienen verschillende doelen
Microsoft Entra-groepen behoren tot de tenant. Ze kunnen afdelingen, functierollen, projecten of beveiligingsgrenzen vertegenwoordigen. Applicatierollen behoren tot een specifieke app-registratie en beschrijven rollen die betekenisvol zijn voor die applicatie.
De app-role-documentatie van Microsoft legt uit dat app-rollen kunnen worden toegewezen aan gebruikers of groepen. Wanneer een toegewezen gebruiker zich aanmeldt, kan Entra de toegekende rollen opnemen in een roles-claim. Microsoft stelt ook dat app-rollen en groepen elkaar niet uitsluiten.
Dit geeft een Odoo-toegangsontwerp twee hoofdpatronen:
- Koppel stabiele Entra-beveiligingsgroep-Object IDs rechtstreeks aan geselecteerde Odoo-groepen.
- Definieer Odoo-gerichte app-rollen in de Entra-applicatie, wijs gebruikers of groepen toe aan die rollen en koppel de resulterende rolwaarden aan Odoo-groepen.
Directe mapping werkt goed met beheerde beveiligingsgroepen. App-rollen kunnen een duidelijkere applicatiegrens bieden omdat hun bedoeling met de app-registratie meekomt in plaats van afhankelijk te zijn van tenantspecifieke namen.
Begin met het daadwerkelijke toegangsmodel van Odoo
Begin niet met het kopiëren van elke Microsoft-groep naar Odoo. Begin met de Odoo-machtigingen die het bedrijf echt nodig heeft.
Inventariseer de Odoo-groepen die wezenlijke mogelijkheden geven. Documenteer voor elk van deze groepen:
- Het zakelijke doel van de toegang.
- De verantwoordelijke persoon voor goedkeuring.
- De Entra-groep of app-rol die de goedkeuring vertegenwoordigt.
- Hoe snel een wijziging Odoo moet bereiken en wat er met een actieve sessie gebeurt na verwijdering.
Pas het least-privilegeprincipe toe. Een brede afdelingsgroep kan handig zijn, maar kan meer Odoo-toegang geven dan elk lid nodig heeft. Een kleinere Odoo-specifieke beveiligingsgroep of app-rol is vaak eenvoudiger te auditen.
Behandel identiteitskoppeling als een beveiligingscontrole
Veel systemen koppelen aanvankelijk een bestaand account met behulp van een e-mailadres. Dat is handig, vooral wanneer Odoo en Microsoft al hetzelfde zakelijke e-mailadres gebruiken. Het is geen duurzame identiteitskey.
Microsoft waarschuwt in de ID token claims reference dat e-mailadressen, telefoonnummers en user principal names kunnen veranderen en opnieuw kunnen worden gebruikt. Microsoft raadt onveranderlijke claims zoals sub of oid aan, met tid wanneer tenantcontext vereist is, voor betrouwbare identificatie.
Een veiliger patroon is:
- Accepteer alleen een verwachte tenant en goedgekeurd audience.
- Gebruik e-mail voor een gecontroleerde eerste koppeling, waar passend.
- Weiger ambigue of dubbele matches.
- Sla de onveranderlijke Microsoft-identiteit en tenant-identifiers op na koppeling.
- Gebruik die onveranderlijke waarden voor toekomstige aanmeldingen.
Voor multi-tenant toegang is tenantcontext essentieel. Dezelfde persoon kan in verschillende tenants andere objectidentifiers hebben, en toegang uit de ene tenant mag niet stilzwijgend rechten erven die aan een andere tenant zijn gekoppeld.
Begrijp het group-claim-overagegeval
Group claims zijn handig, maar niet onbeperkt. Microsoft documenteert een limiet van 200 group Object IDs in een JWT. Wanneer het lidmaatschap van een gebruiker de limiet overschrijdt, laat Entra de normale groepslijst weg en retourneert het een overage-indicator die de applicatie aanstuurt om Microsoft Graph te raadplegen. Zie de groups overage guidance.
Dit is van belang als een integratie group mapping adverteert zonder verhoogde Microsoft Graph API-rechten. Een gebruiker met veel groepslidmaatschappen ontvangt mogelijk niet de verwachte set group claims.
Voordat u vertrouwt op directe group mapping, moet u bevestigen hoe overage wordt afgehandeld. Opties zijn kleinere app-specifieke groepen, app-rollen, claimfiltering of een Graph-gebaseerde lookup met least-privilege consent.
Synchronisatie bij aanmelding is geen realtime provisioning
Een SSO-module kan bij aanmelding de actuele Entra-claims vergelijken met de geconfigureerde Odoo-mappings. Dat is nuttig omdat toegang tijdens een normale authenticatiegebeurtenis kan worden afgestemd.
Dat is niet hetzelfde als doorlopende provisioning. Als een werknemer uit een Entra-groep wordt verwijderd terwijl een Odoo-sessie actief is, kan die sessie doorgaan totdat logout, verloop of een andere revocation-control van toepassing is. Als een voormalige werknemer nooit opnieuw inlogt, archiveert een aanmeldingssynchronisatieproces het Odoo-account op zichzelf niet.
Microsoft Entra ID Governance biedt Lifecycle Workflows voor joiner-, mover- en leaver-processen, inclusief het uitschakelen van accounts en het verwijderen van toegangstoewijzingen. Zie Microsoft's Lifecycle Workflows guidance. Voor deze mogelijkheden is Microsoft Entra ID Governance of Microsoft Entra Suite-licensing vereist.
Lifecycle-automatisering kan de identity state van de bron verbeteren, maar werkt Odoo nog steeds niet bij tenzij een integratie de wijziging verwerkt. Uw offboardingprocedure moet expliciet Odoo-sessierevocation en accountstatus afdekken.
Bouw een auditeerbaar mappingmodel
Houd het aantal mappings overzichtelijk. Gebruik voor elke groep of rol een stabiele identifier en een voor mensen leesbare beschrijving. Leg vast waarom de bijbehorende Odoo-toegang bestaat, wie deze heeft goedgekeurd en wanneer deze voor het laatst is beoordeeld.
Test ten minste deze gevallen:
- Bestaande gebruiker met één verwachte mapping.
- Gebruiker zonder goedgekeurde mapping of met een niet-toegestane tenant.
- Nieuwe gebruiker toegelaten voor eerste aanmelding.
- Gebruiker verwijderd uit een gemapte groep of met veel groepslidmaatschappen.
- Hernoemde gebruiker waarvan de onveranderlijke identiteit niet is gewijzigd.
- Uitgeschakeld Microsoft-account met een bestaande Odoo-sessie.
Aanmeldingsgebeurtenissen moeten beheerders helpen de resultaten van claims en mapping te analyseren zonder tokens, referenties of geheimen bloot te stellen. Logs moeten de verbinding en het resultaat identificeren, maar gevoelige waarden moeten worden geredigeerd.
Koppel mapping aan authenticatiebeleid
Groeps- en rolemapping regelt de autorisatie in Odoo. Microsoft Entra Conditional Access bepaalt of Microsoft de authenticatie onder de huidige omstandigheden voltooit. De twee lagen vullen elkaar aan.
Zo kan bijvoorbeeld een Entra-app-rol worden gekoppeld aan een Odoo-financegroep, terwijl Conditional Access een phishingbestendige authenticatiesterkte vereist voor de gebruikers die aan die rol zijn toegewezen. Lees hoe Microsoft Entra Conditional Access het aanmelden bij Odoo versterkt voor de kant van het authenticatiebeleid.
Gebruik voor klanten en partners niet automatisch opnieuw de mappings van medewerkers. Een apart publiek en een portalgerichte opzet kan veiliger zijn. Zie Microsoft Entra External ID voor Odoo-klanten en partners.
Koppel goedgekeurde Microsoft-toegang aan Odoo 19
Onze Microsoft Entra SSO voor de Odoo-module ondersteunt het koppelen van geconfigureerde Entra-beveiligingsgroep-object-ID's of toepassingsrollen aan geselecteerde Odoo-toegangsgroepen. Het kan die mappings bij aanmelding synchroniseren, een gecontroleerd bestaand account koppelen en goedgekeurde werknemers- of portalgebruikers aanmaken op basis van het verbindingstype.
De module vervangt geen toegangsbeheer, sessie-intrekking of een gedocumenteerde strategie voor overschrijding. Controleer uw groepsomvang, vereisten voor identiteitskoppeling en het Odoo-machtigingsmodel voordat u mappings inschakelt. Als die fundamenten duidelijk zijn, biedt de module een begeleide manier om ze te verbinden.
