Organisation och rollbaserad åtkomstkontroll: Hur du designar din auktorisationsmodell för din produkt
Denna artikel ger en detaljerad guide om hur du designar en auktorisationsmodell för organisation och rollbaserad åtkomstkontroll, och erbjuder bästa praxis för olika auktorisationsmodeller på Logto-plattformen.
Vad är en organisation
Organisationsdefinition
Organisationen är en grupp av användare (identiteter) och kan representera team, affärskunder och partnerföretag som kan få åtkomst till din applikation.
Organisationer är särskilt effektiva i B2B-miljöer. Till skillnad från individuella konsumenter består affärskunder ofta av team, organisationer eller hela företag istället för bara en person. Introduktionen av en organisation som en enhet är viktig, eftersom den inte bara grupperar användare utan också tillhandahåller en kontext för hyresgästisolering i multi-tenant-appar.
Användningsfall för organisationer
Med detta fundamentala element kan du nu bygga de måste-ha-funktioner för dina B2B-produkter:
- Bygg en multi-tenant-arkitektur för att isolera kunders data och resurser.
- Applikationsåtkomstnivåer definieras av roller som tilldelas organisationsmedlemmar.
- Tillhandahållande av medlemmar sker via inbjudan och vid behov.
- Organisationer kan var och en ha en enskild inloggningsupplevelse (SSO).
Vad är rollbaserad åtkomstkontroll?
Definition av rollbaserad åtkomstkontroll
Rollbaserad åtkomstkontroll (RBAC) är en metod för att tilldela behörigheter till användare baserat på deras roller. Rollbaserad åtkomstkontroll är en policineutral åtkomstkontrollmekanism definierad kring roller och privilegier. Komponenterna i RBAC som rollbehörigheter, användar-roll och roll-roll-relationer gör det enkelt att utföra användartilldelningar. En studie av NIST har visat att RBAC uppfyller många behov hos kommersiella och statliga organisationer.
Användningsfall för rollbaserad åtkomstkontroll
Tidigare har vi utvecklat flera guider för att hjälpa dig använda RBAC för att uppfylla dina affärskrav. Ta en titt på dessa lättanvända handledningar för att komma igång snabbt.
🔐 Rollbaserad åtkomstkontroll (RBAC) | Logto Docs
Använda olika auktorisationsmodeller i Logto för bästa praxis
Rollbaserad åtkomstkontroll och organisation är nyckelkomponenter i Logtos auktorisationsfunktioner. Som en omfattande identitetshanteringsplattform erbjuder Logto skräddarsydda lösningar för olika scenarier och lager, som betjänar utvecklare och företag för olika produktarkitekturer.
API-rollbaserad åtkomstkontroll
För att skydda generella API-resurser som inte är specifika för någon organisation och inte behöver kontextbegränsningar är API RBAC-funktionen idealisk.
Registrera bara API:t och tilldela behörigheter till varje resurs. Kontrollera sedan åtkomsten genom förhållandet mellan roller och användare.
API-resurser, roller och behörigheter här är “demokratiserade” under ett enhetligt identitetssystem. Detta är ganska vanligt i B2C-produkter med mindre hierarki och behöver inte en mycket djup nivå av dataisolering.
Organisationsrollbaserad åtkomstkontroll
I B2B- och multi-tenant-miljöer är hyresgästisolering nödvändig. För att uppnå detta används organisationer som en kontext för isolering, vilket innebär att RBAC bara är effektivt när en användare tillhör en specifik organisation.
Organisations-RBAC fokuserar på att kontrollera åtkomst på organisationsnivå snarare än API-nivå. Detta ger betydande flexibilitet för självhantering på organisationsnivå på lång sikt men fortfarande inom ett enhetligt identitetssystem.
En nyckelfunktion med organisations-RBAC är att roller och behörigheter generellt är desamma över alla organisationer som standard, vilket gör Logtos “organisationstemplate” extremt meningsfullt för att förbättra utvecklingseffektiviteten.
Detta stämmer överens med den delade filosofin för multi-tenant-appar, där åtkomstkontrollpolicyer och identiteter är gemensamma infrastrukturskomponenter över alla hyresgäster (app-hyresgäster), en vanlig praxis i SaaS-produkter.
Välja och designa den lämpliga auktorisationsmodellen
När du väljer rätt auktorisationsmodell, överväg dessa frågor:
- Utvecklar du en B2C, B2B eller en kombination av båda typerna av produkter? Betraktas identiteter som affärsidentiteter?
- Behöver din app en multi-tenant-arkitektur?
- Finns det ett behov av en viss nivå av isolation i din app, som bestäms av affärsenheten?
- Vilka behörigheter och roller behöver definieras inom kontexten av organisationen, och vilka inte?
En B2C-app
Låt oss använda ett webbapplikationsexempel: BookHarber, en onlinebokhandel. BookHarber erbjuder ett brett utbud av funktioner för kunder och personal, vilket säkerställer en sömlös och säker shoppingupplevelse.
Nyckelfunktioner för BookHarber inkluderar:
- Bläddra och köpa böcker: Användare kan enkelt söka efter och köpa böcker från en mångfaldig samling med olika genrer och författare.
- Orderhantering och logistikspårning: Registrerade kunder kan hantera sina beställningar, spåra frakt och motta uppdateringar om sina inköp.
- Specialerbjudanden och semesteraktiviteter: BookHarber erbjuder exklusiva rabatter och kampanjer under särskilda evenemang och helgdagar för att engagera och belöna sin kundbas.
- Kundsupport: Kunder kan öppna supportärenden för att ta itu med eventuella frågor eller problem de kan stöta på, och få snabb hjälp från BookHarbers personal.
- Kundhantering: Personal med olika roller har förmågan att hantera olika aspekter av plattformen, såsom kundkonton, orderbehandling och problemlösning.
Roller
I BookHarber-ekosystemet kan vi identifiera flera nyckelanvändarroller, såsom:
- Gäst: Oregistrerade användare som kan bläddra på webbplatsen, söka efter böcker och se specialerbjudanden.
- Kund: Registrerade användare som kan köpa böcker, hantera beställningar, spåra logistik och öppna supportärenden.
- Butiksadministratör: Personal ansvarig för att övervaka plattformens totala hantering och drift. Med full åtkomst.
- Bokansvarig: Personal ansvarig för bok- och kategorihantering.
- Kundtjänstagent: Personal ansvarig för att svara på supportärenden.
- Tredjepartslogistikleverantör: Externa partners ansvariga för att hantera och spåra leverans av order.
- Marknadsföringspersonal: Personal ansvarig för att marknadsföra BookHarber, ansvarig för hantering av specialerbjudanden och evenemang.
Tidigare har vi utvecklat flera guider för att hjälpa dig använda RBAC för att uppfylla dina affärskrav. Ta en titt på dessa lättanvända handledningar för att komma igång snabbt.
Att bemästra RBAC i Logto: Ett omfattande verkligt exempel
B2B-app
Multi-tenant-appar hittar ofta sin plats i business-to-business (B2B)-lösningar som produktivitetsverktyg, affärssystem (ERP) och andra programvaruplattformar som en tjänst (SaaS-produker). I detta sammanhang representerar varje "hyresgäst" vanligtvis en affärskund, som kan ha flera användare (dess anställda). Dessutom kan en affärskund ha flera hyresgäster för att representera olika organisationer eller affärsenheter.
Skapa några organisationer
Definiera organisationstemplate för åtkomstkontroll på organisationsnivå
Hybrid B2B & B2C-app
B2B-applikationer går bortom SaaS-produkter och innebär ofta användningen av multi-tenant-appar. I B2B-sammanhang fungerar dessa appar som en gemensam plattform för olika team, affärsklienter och partnerföretag för att få åtkomst till dina applikationer.
Till exempel, överväg ett samåkningsföretag som tillhandahåller både B2C- och B2B-appar. B2B-apparna betjänar flera affärskunder, och användningen av en multi-tenant-arkitektur kan hjälpa hanteringen av deras anställda och resurser. Till exempel, om företaget önskar behålla ett enhetligt användaridentitetssystem, kan det designa en arkitektur som följande exempel:
Låt oss använda Sarah som ett exempel. Sarah har både en personlig och en affärsidentitet. Hon använder samåkningstjänsten som passagerare och arbetar också som förare på sin fritid. I sin yrkesroll hanterar hon även sitt eget personliga företag och använder denna affärsidentitet för att vara partner med Företag 1.
Enheter inställda i Logto
En användares identitets- och rollkarta
Definiera API-resurser, användarroller
Ställ in organisationer
Sarahs profil
Bygg din auktorisationsmodell idag.
Logto erbjuder både Rollbaserad Åtkomstkontroll (RBAC) och Organisationsfunktioner för att möta dina auktorisationskrav. Dessa funktioner är designade för att enkelt integreras i olika delar av din produkt. För mer information, ta en titt på våra sektioner om organisationer och RBAC, eller prova Logto direkt.