Cloud & IT Cert Prep · Lektion

Auktoriseringsmodeller: RBAC, MAC och DAC

Jämför rollbaserad, obligatorisk och diskretionär åtkomstkontroll och lär dig när respektive modell passar i företags- och myndighetsmiljöer.

Lektion 3 av 413 steg

Auktoriseringsmodeller: RBAC, MAC och DAC är en gratis lektion i Cloud & IT Cert Prep på CoddyKit. Detta är lektion 3 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Cloud & IT Cert Prep, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Cloud & IT Cert Prep innehåller totalt 4 lektioner.

Översikt över åtkomstkontrollmodeller

Åtkomstkontrollmodeller definierar reglerna och policyerna som styr vilka subjekt (användare, processer) som får åtkomst till vilka objekt (filer, system, data). Den valda modellen avgör vem som kan bevilja åtkomst, hur behörigheter tilldelas och hur verkställigheten fungerar. Security+-provet omfattar fyra primära modeller: Discretionary Access Control (DAC), Mandatory Access Control (MAC), Role-Based Access Control (RBAC) och Rule-Based Access Control. Det är viktigt att förstå varje modells styrkor och lämpliga användningsområden för att kunna utforma effektiva auktoriseringssystem.

Discretionary Access Control (DAC)

I Discretionary Access Control (DAC) bestämmer resursägaren själv vem som får åtkomst till resurserna och kan bevilja eller återkalla åtkomst för andra användare. Den ”discretionary” aspekten innebär att ägarna fattar besluten — systemet verkställer deras beslut men föreskriver dem inte. Detta är modellen som används i de flesta personliga datormiljöer (Windows NTFS-filbehörigheter, Linux/Unix-filbehörigheter). DAC:s säkerhetsbegränsning är att varje resursägare måste fatta korrekta åtkomstbeslut — en användare som får åtkomst till en fil kan bevilja andra samma åtkomst utan administratörens medverkan, vilket potentiellt kan sprida känsliga data utanför den avsedda målgruppen.

# DAC example: Linux file permissions (owner controls access)
# Create a file and check default permissions
touch confidential_data.txt
ls -la confidential_data.txt
# -rw-rw-r-- 1 alice users  (owner=alice, can read/write; group can read/write; others read)

# Owner (Alice) discretionarily removes all access for others
chmod 600 confidential_data.txt
# -rw------- 1 alice users  (only Alice can read/write)

# Alice grants read to a specific user via ACL
setfacl -m u:bob:r confidential_data.txt

DAC-risker: problemet med den förvirrade ställföreträdaren

DAC har två inneboende säkerhetsrisker. Transitiv åtkomst: användare A beviljar användare B åtkomst, och användare B beviljar användare C åtkomst — den ursprungliga ägaren kanske inte ens vet att C har åtkomst till resursen. Problemet med den förvirrade ställföreträdaren: ett privilegierat program som agerar på uppdrag av en användare med lägre behörighet kan oavsiktligt använda sina privilegier på ett sätt som användaren inte själv hade kunnat göra. I DAC-miljöer kan ett enda komprometterat konto potentiellt komma åt alla resurser som användaren har beviljats åtkomst till och även bevilja andra åtkomst innan intrånget upptäcks. DAC är bekvämt men skapar utmaningar när information måste hållas strikt avgränsad.

Mandatory Access Control (MAC)

I Mandatory Access Control (MAC) verkställer operativsystemet åtkomstpolicyer baserat på säkerhetsetiketter som tilldelats både subjekt (användare) och objekt (data). Användare kan inte åsidosätta eller ändra dessa policyer — endast systemadministratören eller säkerhetspolicyn kan ändra dem. MAC används i klassificerade myndighets- och militärmiljöer där data måste hållas strikt avgränsade. En användare med behörighetsnivån ”Secret” kan inte komma åt data märkta ”Top Secret”, även om dataägaren skulle vilja bevilja åtkomst. Bell-LaPadula-modellen (ingen läsning uppåt, ingen skrivning nedåt) och Biba-modellen (ingen skrivning uppåt, ingen läsning nedåt) är formella MAC-implementationer.

# SELinux is a MAC implementation for Linux
# Check SELinux mode and policy
getenforce  # Enforcing / Permissive / Disabled
sestatus    # Detailed SELinux status

# View SELinux security context labels on files
ls -Z /etc/passwd
# system_u:object_r:passwd_file_t:s0 /etc/passwd

# Security context: user:role:type:level
# A process can only access files where its type has explicit permission
sudo ausearch -m avc -ts recent  # View MAC policy denials

Bell-LaPadula- och Biba-modellerna för MAC

Två formella MAC-modeller uttrycker säkerhetsmål som matematiska regler. Bell-LaPadula fokuserar på konfidentialitet: subjekt får inte läsa data över sin klassificeringsnivå (ingen läsning uppåt) och får inte skriva data till en lägre klassificeringsnivå (ingen skrivning nedåt). Detta hindrar känslig information från att flöda till obehöriga användare. Biba fokuserar på integritet: subjekt får inte skriva till en högre integritetsnivå (ingen skrivning uppåt) och får inte läsa från en lägre integritetsnivå (ingen läsning nedåt). Biba hindrar data med låg integritet från att kontaminera data med hög integritet. Verkliga MAC-system (som SELinux) kombinerar aspekter av båda modellerna.

Role-Based Access Control (RBAC)

Role-Based Access Control (RBAC) tilldelar roller behörigheter i stället för att tilldela dem direkt till enskilda användare, och tilldelar sedan användare till roller. Detta löser hanteringsutmaningen med att tilldela individuella behörigheter i stor skala. Vanliga roller i företagsmiljöer är: admin, auditor, developer, HR_manager och finance_analyst. När en ny medarbetare börjar läggs personen till i lämplig roll och ärver omedelbart alla behörigheter som rollen kräver. När en medarbetare byter befattning ändras rollen och behörigheterna justeras automatiskt. RBAC är den dominerande modellen i företags IAM-system.

# RBAC example (database permissions)
# Create roles and assign permissions
CREATE ROLE readonly_analyst;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly_analyst;

CREATE ROLE data_engineer;
GRANT SELECT, INSERT, UPDATE ON customer_data TO data_engineer;

# Assign users to roles
GRANT readonly_analyst TO alice;
GRANT data_engineer TO bob;

# When Alice is promoted: revoke old role, grant new one
REVOKE readonly_analyst FROM alice;
GRANT data_engineer TO alice;

RBAC-fördelar: skalbarhet och separering av arbetsuppgifter

RBAC:s främsta fördel är administrativ skalbarhet. Om en rolls behörigheter ändras påverkas alla användare i den rollen omedelbart — det behövs ingen uppdatering av enskilda användarposter i hundratals system. RBAC stöder naturligt separering av arbetsuppgifter genom att säkerställa att ingen enskild roll har motstridiga behörigheter (till exempel en roll som både kan skapa och godkänna ekonomiska transaktioner). RBAC förenklar även efterlevnaden: revisorer kan granska roller och deras behörigheter i stället för att granska tusentals individuella användartilldelningar. Begränsningen är rollförökning — organisationer skapar ibland alltför många detaljerade roller, vilket leder till en hanteringskomplexitet som undergräver skalbarhetsfördelen.

Rule-Based Access Control

Rule-Based Access Control (ska inte förväxlas med RBAC) beviljar eller nekar åtkomst baserat på en uppsättning villkorsregler snarare än enbart identitet eller roll. Brandväggsregler är det klassiska exemplet: ”Tillåt TCP från 192.168.1.0/24 till valfri destination på port 443. Neka all annan trafik.” Åtkomsten utvärderas mot reglerna i ordning tills en matchning hittas. Regelbaserad åtkomstkontroll kombineras ofta med andra modeller: MAC använder säkerhetsetiketter som regler, och Attribute-Based Access Control (ABAC) utökar den regelbaserade logiken genom att samtidigt utvärdera flera attribut (användarens avdelning, enhetstyp, tid på dygnet och resursens klassificering) för finkorniga beslut.

# Rule-based access control: iptables firewall rules
# Rules are evaluated in order; first match wins

# Allow established/related connections
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Allow specific source IP to SSH
iptables -A INPUT -s 10.0.0.100 -p tcp --dport 22 -j ACCEPT

# Allow HTTPS from anywhere
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# Default deny all other inbound
iptables -A INPUT -j DROP

Attribute-Based Access Control (ABAC)

ABAC (Attribute-Based Access Control) är den mest flexibla och finkorniga modellen för åtkomstkontroll. Åtkomstbeslut utvärderar flera attribut samtidigt: subjektsattribut (användarens avdelning, behörighetsnivå, plats), objektattribut (dataklassificering, ägarens avdelning, lagringsetikett), miljöattribut (tid på dygnet, enhetstyp, nätverksplats) och åtgärdsattribut (läsa, skriva, ta bort). En policy kan exempelvis ange: ”Tillåt åtkomst om user.department = Finance OCH resource.classification = Internal OCH device.type = corporate OCH time.hour BETWEEN 8 AND 18.” ABAC möjliggör policybeslut enligt zero trust och implementeras av produkter som XACML och molnbaserade IAM-policyverktyg.

Välja rätt modell

Vilken åtkomstkontrollmodell som är lämplig beror på säkerhetskraven och den organisatoriska kontexten. DAC: lämplig för personliga datormiljöer och små team där bekvämlighet prioriteras framför strikt kontroll. MAC: krävs i klassificerade myndighets- och militärmiljöer med strikt informationsavgränsning. RBAC: idealisk för företag där administrativ skalbarhet är avgörande och rollerna tydligt motsvarar arbetsfunktioner. ABAC: lämplig för molnmiljöer och zero trust-arkitekturer där kontextmedvetna, finkorniga policyer behövs. I praktiken använder de flesta organisationer en kombination: RBAC som grund med ABAC för kontextkänsliga åtkomstbeslut.

Åtkomstkontrollistor (ACL:er)

Oavsett åtkomstkontrollmodell är åtkomstkontrollistor (ACL:er) den vanligaste tekniska implementeringsmekanismen. En ACL som är kopplad till en resurs anger vilka subjekt som får utföra vilka åtgärder. Filsystemets ACL:er (Windows NTFS, Linux POSIX-ACL:er) styr åtkomsten till filer och kataloger. Nätverks-ACL:er styr trafikflödet på router- eller molnnätverksnivå. Databas-ACL:er styr åtkomst på tabell- och radnivå. ACL:er kan implementera alla de modeller som har diskuterats: en fils ACL implementerar DAC när ägaren styr den; ett säkerhetssystems ACL implementerar MAC när etiketter avgör posterna; en applikations ACL implementerar RBAC när posterna hänvisar till roller.

# Windows NTFS ACL example using icacls
# View current ACL on a folder
icacls 'C:\Sensitive\HR_Data'
# BUILTIN\Administrators:(OI)(CI)(F)  <- Full control
# CONTOSO\HR_Team:(OI)(CI)(RX)        <- Read and Execute

# Grant specific permissions to HR Managers group
icacls 'C:\Sensitive\HR_Data' /grant 'CONTOSO\HR_Managers:(OI)(CI)(M)'
# (OI)=Object Inherit, (CI)=Container Inherit, (M)=Modify

# Remove access for a former contractor
icacls 'C:\Sensitive\HR_Data' /remove 'CONTOSO\contractors'

Snabbtest

Testa er förståelse av begreppen i CompTIA Security+ (SY0-701) från den här lektionen.

Sammanfattning av lektionen

I den här lektionen har ni lärt er att DAC låter resursägare styra åtkomsten (flexibelt men riskfyllt); MAC använder säkerhetsetiketter som tillämpas av systemet (strikt och används i säkerhetsklassificerade miljöer); RBAC tilldelar behörigheter till roller för skalbarhet i företagsmiljöer; och ABAC utvärderar flera attribut för finmaskiga beslut enligt zero trust. Härnäst utforskar vi federerad identitet: SAML, OAuth och OpenID Connect.

Gratis att börja

Lär dig Cloud & IT Cert Prep med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
150
Lektioner
600

Vanliga frågor

Är lektionen ”Auktoriseringsmodeller: RBAC, MAC och DAC” gratis?

Ja – hela texten till ”Auktoriseringsmodeller: RBAC, MAC och DAC” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Cloud & IT Cert Prep, kan Ni uppgradera till CoddyKit PRO. Kursen i Cloud & IT Cert Prep innehåller totalt 4 lektioner.

Vad lär jag mig i ”Auktoriseringsmodeller: RBAC, MAC och DAC”?

Jämför rollbaserad, obligatorisk och diskretionär åtkomstkontroll och lär dig när respektive modell passar i företags- och myndighetsmiljöer. Ni övar på Cloud & IT Cert Prep med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Cloud & IT Cert Prep?

Du behöver inga förkunskaper. Utbildningen i Cloud & IT Cert Prep på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.

Hur lång tid tar lektionen ”Auktoriseringsmodeller: RBAC, MAC och DAC”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Cloud & IT Cert Prep-lektionen?

Ja. Varje Cloud & IT Cert Prep-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Lösenordspolicyer och multifaktorautentisering
  2. Biometri och tokenbaserad autentisering
  3. Auktoriseringsmodeller: RBAC, MAC och DAC
  4. Federerad identitet: SAML, OAuth och OpenID Connect
← Tillbaka till Cloud & IT Cert Prep