Svenska
  • authz
  • authn
  • koncept

Vad är AuthZ (Autorisering)?

Utforska definitionen av AuthZ, AuthN vs AuthZ, hur AuthZ fungerar och bästa praxis för autorisering.

Guamian
Guamian
Product & Design

Vad är AuthZ, och hur skiljer det sig från AuthN?

AuthZ är en förkortning för autorisering. Autorisering är en separat mekanism från autentisering. Medan autentisering identifierar vem du är, bestämmer autorisering om du kan komma åt specifika resurser och vilka åtgärder du kan utföra på dem.

I verkliga exempel kan resurser inkludera programvara, system, dokument, beställningar och tillgångar. Autorisering ger ett extra lager av kontroll, som specificerar vem som kan komma åt dessa resurser och under vilka förhållanden.

Hur fungerar AuthZ?

Autorisering är separat från autentisering men kopplas ofta samman med det. Till exempel inkorporerar standardprotokoll som OAuth 2.0, OIDC och SAML tokenbaserade autoriseringsmekanismer.

I ett tokenbaserat autoriseringssystem beviljar en autoriseringsserver en åtkomsttoken till användarna. Denna token, som inkluderar behörigheter, bestämmer om användaren kan komma åt vissa resurser.

Att tilldela behörigheter direkt till användare kan vara ineffektivt, särskilt när mer detaljerade villkor krävs. Till exempel kan åtkomst bero på specifika omständigheter, som användarens plats, vilket gör åtkomstkontrollpolicys nödvändiga för bättre behörighetshantering.

Här är en steg-för-steg högflödesbeskrivning av hur autorisering fungerar:

  1. Initiera autentisering: Användaren loggar in genom att välja en identifierare och metod, som att använda en e-postadress och lösenord.
  2. Autorisationsförfrågan: Efter inloggning begär användaren åtkomst till en resurs, inklusive detaljer som deras användar-ID och roller.
  3. Validering av åtkomstkontroll: Systemet kontrollerar förfrågan mot fördefinierade autoriseringspolicys, såsom rollbaserade eller attributbaserade regler.
  4. Autorisationsbeslut: Systemet avgör om åtkomst ska beviljas eller nekas baserat på policys och behörigheter.

För att förstå OAuth 2.0 autorisationsförfrågningsflöde i detalj, kolla in Autentiseringsförfrågan

Vilka är autoriseringstyperna?

Rollbaserad åtkomstkontroll och hur det fungerar

Rollbaserad åtkomstkontroll (RBAC) använder roller för att hantera åtkomst. Varje användare tilldelas en eller flera fördefinierade roller, och varje roll inkluderar en uppsättning behörigheter. Nyckeln till RBAC är att förstå relationen mellan subjekt (eller användare), roller och behörigheter.

För att förstå hur Rollbaserad Åtkomstkontroll (RBAC) fungerar, behöver du känna till:

  1. Subjekt: Dessa kan vara användare eller icke-mänskliga enheter, som användare eller maskin till maskin-applikation.
  2. Roller: Representerar arbetsfunktioner eller ansvar. t.ex., admin medlem
  3. Behörigheter: Specificera vilka åtgärder som är tillåtna på specifika resurser, t.ex., läsa: beställning.

RBAC-diagram.png

Attributbaserad åtkomstkontroll och hur det fungerar

Attributbaserad åtkomstkontroll (ABAC) är mycket använd i autorisering och stödjer mer komplicerade scenarier genom att använda specifika attribut för en enhet, utöver bara roller.

Till exempel, ett företag hanterar en global plattform för dokumentdelning där anställda behöver kontrollerad tillgång till känsliga filer baserat på deras jobbfunktion, plats och dokumentets klassificeringsnivå.

Attributen kan utformas på följande sätt:

  1. Användarattribut: Roll (t.ex., “Chef,” “Ingenjör”), plats (t.ex., “USA,” “Europa”).
  2. Resursattribut: Dokumenttyp (t.ex., “Ekonomisk Rapport,” “Designfil”), klassificeringsnivå (t.ex., “Konfidentiell”).
  3. Miljöattribut: Åtkomsttid (t.ex., “Under Arbetstid”), enhetstyp (t.ex., “Företagsdator”).

Det finns också andra åtkomstkontrollmodeller som policybaserad åtkomstkontroll (PBAC) . Varje modell har sina styrkor och svagheter och valet av modell beror på ditt användningsfall och krav.

AuthZ användningsfall och exempel

B2C programvara

B2C-programvara kräver ofta specifika roller baserat på affärsbehoven. Till exempel, en bokhandelsapp kan inkludera roller med olika ansvarsområden, såsom att hantera resurser och tjänster.

B2B multi-tenant app

B2B-appar använder ofta en multi-tenant-arkitektur, där varje tenant representerar en organisation. Inom organisationen behövs roller som admin och medlem. Detta är där Autorisering (AuthZ) spelar en nyckelroll i att hantera användare på organisationsnivå, ofta med hjälp av Rollbaserad Åtkomstkontroll (RBAC).

Maskin-till-maskin autorisering

Maskin-till-maskin kommunikation sker direkt mellan tjänster utan mänsklig interaktion. Till exempel, anropa API-tjänster. Det involverar ofta tokens (t.ex., OAuth 2.0 åtkomsttokens) för att säkerställa säker, dynamisk och detaljerad åtkomst.

Vilka är bästa praxis för AuthZ?

Här är några bästa praxis för autorisering (authZ) för att säkerställa säker och effektiv åtkomstkontroll:

  • Principen om minst privilegium

    Detta minimerar risken för obehörig åtkomst eller skada från komprometterade konton. Användare och system bör endast få åtkomst till de resurser och åtgärder som behövs för deras roll.

  • Använd tokenbaserad autorisering

    Tokenbaserad åtkomstkontroll erbjuder mer flexibilitet och finkornig kontroll samtidigt som den följer öppna standarder. Använd säkra tokens (t.ex., OAuth 2.0, JWTs) för att bevilja tidskänslig och avgränsad åtkomst.

  • Regelbunden granskning och övervakning

    Regelbunden översyn av åtkomstloggar och autoriseringspolicys är nödvändig för att upptäcka anomalier eller föråldrade behörigheter.

  • Tillämpa separering av skyldigheter

    Börja med att implementera detaljerade behörigheter, såsom att definiera specifika åtgärder och resurser (t.ex., läsa, skriva, ta bort). När du skapar roller, använd klara rollnamn och upprätthåll separering av skyldigheter för att minimera risken för bedrägerier eller misstag av en enskild användare.

  • Stöd multi-tenancy (om tillämpligt)

    För fleranvändarsystem är tenantisolering viktig. Genom att kombinera det med rollbaserad åtkomstkontroll, kan du uppnå separation av dataresurser, vilket säkerställer att de lämpliga rollerna endast kan komma åt resurser inom deras tenant. Detta förhindrar oavsiktlig eller illvillig åtkomst till andra tenants resurser.

  • Återkalla åtkomst dynamiskt

    När du utformar ditt AuthZ-system, säkerställ att behörigheter kan uppdateras eller återkallas omedelbart om förhållandena förändras (t.ex., rolluppdateringar, eller avslutande av anställning). Detta kan uppnås genom dynamiska API-kontroller, webhooks eller andra metoder. Målet är att förhindra obehörig åtkomst i realtid.

Vilka är skillnaderna mellan AuthZ (Autorisering) och Auth (Autentisering)?

Skillnaden mellan autentisering och autorisering ligger i deras syfte och process inom identitets- och åtkomsthantering.

AuthN (Autentisering) besvarar frågan, “Vem är du och vilken identitet innehar du?” Det är processen att verifiera identiteten hos en användare, tjänst eller enhet. Autentisering säkerställer att enheten som försöker komma åt ett system eller en resurs är äkta. Vanliga metoder inkluderar lösenord, biometrik och tvåfaktorsautentisering (2FA). Till exempel när du loggar in på ett konto med din e-post och lösenord, bekräftar systemet din identitet genom autentisering.

AuthZ (Autorisering) besvarar frågan, “Vad får du göra?” Det är processen att bevilja eller neka åtkomst till resurser baserat på användarens behörigheter eller roller. Autorisering sker efter autentisering och bestämmer vilka åtgärder den autentiserade användaren kan utföra. Till exempel, efter inloggning, kan en adminanvändare ha åtkomst till att ändra inställningar, medan en vanlig användare endast kan visa dem.

Sammanfattningsvis bekräftar AuthN (autentisering) identitet, medan AuthZ (autorisering) definierar åtkomst. Autentisering sker först, följt av autorisering för att säkerställa säker och lämplig användning av resurser.

Bygg AuthZ (Autorisering) med Logto

Logto Cloud erbjuder nyckelautoriserings-tjänster baserade på öppna standardprotokoll som OIDC, OAuth 2.0 och SAML. Funktioner inkluderar Rollbaserad Åtkomstkontroll, Organisationer (Multi-Tenancy) och Anpassade Token Anklagelser för att möta dina autoriseringsbehov från olika perspektiv.