Cloud & IT Cert Prep · Lektion

Autoriseringsmodeller: RBAC, MAC og DAC

Sammenlign rollebaseret, obligatorisk og diskretionær adgangskontrol, og lær, hvornår de enkelte modeller er passende i virksomheds- og myndighedssammenhænge.

Lektion 3 af 413 trin

Autoriseringsmodeller: RBAC, MAC og DAC er en gratis Cloud & IT Cert Prep-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Cloud & IT Cert Prep, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Cloud & IT Cert Prep-kurset indeholder 4 lektioner i alt.

Oversigt over adgangskontrolmodeller

Adgangskontrolmodeller definerer de regler og politikker, der bestemmer, hvilke subjekter (brugere, processer) der kan få adgang til hvilke objekter (filer, systemer, data). Den valgte model bestemmer, hvem der kan give adgang, hvordan tilladelser tildeles, og hvordan håndhævelsen fungerer. Security+-eksamen dækker fire primære modeller: Discretionary Access Control (DAC), Mandatory Access Control (MAC), Role-Based Access Control (RBAC) og Rule-Based Access Control. Det er afgørende at forstå hver models styrker og egnede anvendelsestilfælde for at kunne designe effektive autoriseringssystemer.

Discretionary Access Control (DAC)

I Discretionary Access Control (DAC) bestemmer ressourceejeren selv, hvem der må få adgang til vedkommendes ressourcer, og kan give eller tilbagekalde adgang for andre brugere. Det »discretionary« aspekt er, at ejerne træffer beslutningerne — systemet håndhæver deres beslutninger, men dikterer dem ikke. Dette er den model, der bruges i de fleste personlige computermiljøer (Windows NTFS-filtilladelser, Linux/Unix-filtilladelser). DAC's sikkerhedsbegrænsning er, at den kræver, at alle ressourceejere træffer korrekte adgangsbeslutninger — en bruger, der får adgang til en fil, kan give andre adgang uden administratorens medvirken og dermed potentielt sprede følsomme data ud over den tilsigtede målgruppe.

# 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-risici: problemet med den forvirrede stedfortræder

DAC har to iboende sikkerhedsrisici. Transitiv adgang: bruger A giver bruger B adgang, og bruger B giver bruger C adgang — den oprindelige ejer ved måske ikke engang, at C har adgang til vedkommendes ressource. Problemet med den forvirrede stedfortræder: et privilegeret program, der handler på vegne af en bruger med færre privilegier, kan utilsigtet bruge sine privilegier på en måde, som brugeren ikke selv kunne. I DAC-miljøer kan en enkelt kompromitteret konto potentielt få adgang til alle ressourcer, som brugeren har fået adgang til, og kan give andre adgang, før kompromitteringen opdages. DAC er praktisk, men skaber udfordringer for streng informationsindeslutning.

Mandatory Access Control (MAC)

I Mandatory Access Control (MAC) håndhæver operativsystemet adgangspolitikker baseret på sikkerhedsmærkater, der er tildelt både subjekter (brugere) og objekter (data). Brugere kan ikke tilsidesætte eller ændre disse politikker — kun systemadministratoren eller sikkerhedspolitikken kan ændre dem. MAC bruges i klassificerede offentlige og militære miljøer, hvor data skal opdeles strengt. En bruger med sikkerhedsgodkendelsen »Secret« kan ikke få adgang til data mærket »Top Secret«, selv hvis dataejeren gerne ville give adgang. Bell-LaPadula-modellen (ingen læsning opad, ingen skrivning nedad) og Biba-modellen (ingen skrivning opad, ingen læsning nedad) er formelle MAC-implementeringer.

# 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- og Biba-MAC-modeller

To formelle MAC-modeller omsætter sikkerhedsmål til matematiske regler. Bell-LaPadula fokuserer på fortrolighed: subjekter kan ikke læse data over deres klassifikationsniveau (ingen læsning opad) og kan ikke skrive data til et lavere klassifikationsniveau (ingen skrivning nedad). Dette forhindrer, at følsomme oplysninger flyder til uautoriserede brugere. Biba fokuserer på integritet: subjekter kan ikke skrive til et højere integritetsniveau (ingen skrivning opad) og kan ikke læse fra et lavere integritetsniveau (ingen læsning nedad). Biba forhindrer, at data med høj integritet forurenes af input med lav integritet. Virkelige MAC-systemer (som SELinux) kombinerer aspekter fra begge modeller.

Role-Based Access Control (RBAC)

Role-Based Access Control (RBAC) tildeler tilladelser til roller i stedet for direkte til individuelle brugere og tildeler derefter brugere til roller. Dette løser udfordringen med at tildele individuelle tilladelser i stor skala. Almindelige roller i virksomhedsmiljøer er: admin, auditor, developer, HR_manager, finance_analyst. Når en ny medarbejder begynder, føjes vedkommende til den relevante rolle og arver straks alle de tilladelser, som rollen kræver. Når en medarbejder skifter stilling, ændres rollen, og tilladelserne tilpasses automatisk. RBAC er den dominerende model i virksomheders IAM-systemer.

# 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-fordele: skalerbarhed og funktionsadskillelse

RBAC's primære fordel er administrativ skalerbarhed. Ændring af en roles tilladelser påvirker straks alle brugere i rollen — det er ikke nødvendigt at opdatere individuelle brugerposter på tværs af hundredvis af systemer. RBAC understøtter naturligt funktionsadskillelse ved at sikre, at ingen enkelt rolle har modstridende tilladelser (f.eks. en rolle, der både kan oprette og godkende finansielle transaktioner). RBAC forenkler også compliance: revisorer kan gennemgå roller og deres tilladelser i stedet for at revidere tusindvis af individuelle brugertildelinger. Begrænsningen er rolleeksplosion — organisationer opretter sommetider for mange detaljerede roller, hvilket skaber en administrationskompleksitet, der undergraver fordelen ved skalerbarhed.

Rule-Based Access Control

Rule-Based Access Control (må ikke forveksles med RBAC) giver eller nægter adgang baseret på et sæt betingede regler i stedet for udelukkende identitet eller rolle. Firewallregler er det klassiske eksempel: »Tillad TCP fra 192.168.1.0/24 til alle på port 443. Afvis al anden trafik.« Adgangen evalueres mod reglerne i rækkefølge, indtil der findes et match. Regelbaseret kontrol kombineres ofte med andre modeller: MAC bruger sikkerhedsmærkater som regler, og Attribute-Based Access Control (ABAC) udvider den regelbaserede logik til samtidig at evaluere flere attributter (brugerens afdeling, enhedstype, tidspunkt på dagen, ressourceklassifikation) for at træffe detaljerede beslutninger.

# 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) er den mest fleksible og detaljerede adgangskontrolmodel. Adgangsbeslutninger evaluerer flere attributter samtidigt: subjekters attributter (brugerens afdeling, sikkerhedsgodkendelsesniveau, placering), objekters attributter (dataklassifikation, ejerens afdeling, opbevaringsmærkat), miljøattributter (tidspunkt på dagen, enhedstype, netværksplacering) og handlingsattributter (læs, skriv, slet). En politik kan sige: »Tillad adgang, hvis user.department = Finance OG resource.classification = Internal OG device.type = corporate OG time.hour BETWEEN 8 AND 18.« ABAC muliggør beslutninger i henhold til zero-trust-politikker og implementeres af produkter som XACML og cloud-IAM-politikmotorer.

Valg af den rette model

Den rette adgangskontrolmodel afhænger af sikkerhedskravene og den organisatoriske kontekst. DAC: egnet til personlig databehandling og små teams, hvor bekvemmelighed prioriteres over streng kontrol. MAC: påkrævet i klassificerede offentlige og militære miljøer med streng informationsopdeling. RBAC: ideel til virksomheder, hvor administrativ skalerbarhed er afgørende, og rollerne passer tydeligt til jobfunktionerne. ABAC: egnet til cloudmiljøer og zero-trust-arkitekturer, hvor der er behov for kontekstbevidste, detaljerede politikker. I praksis bruger de fleste organisationer en kombination: RBAC som fundament med ABAC til kontekstafhængige adgangsbeslutninger.

Adgangskontrollister (ACL'er)

Uanset modellen for adgangskontrol er adgangskontrollister (ACL'er) den mest almindelige tekniske implementeringsmekanisme. En ACL, der er knyttet til en ressource, angiver, hvilke subjekter der kan udføre hvilke handlinger. Filsystemets ACL'er (Windows NTFS, Linux POSIX-ACL'er) styrer adgangen til filer og mapper. Netværks-ACL'er styrer trafikflowet på router- eller cloud-netværksniveau. Database-ACL'er styrer adgangen på tabel- og rækkeniveau. ACL'er kan implementere alle de modeller, der er gennemgået: En fils ACL implementerer DAC, når ejeren styrer den; en sikkerhedsplatforms ACL implementerer MAC, når mærkater bestemmer posterne; og en applikations ACL implementerer RBAC, når posterne henviser til 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'

Hurtigt tjek

Prøv din forståelse af CompTIA Security+ (SY0-701)-begreberne fra denne lektion.

Opsummering af lektionen

I denne lektion har du lært, at DAC lader ressourceejere styre adgangen (fleksibelt, men risikabelt); MAC bruger systemhåndhævede sikkerhedsmærkater (strengt og anvendt i klassificerede miljøer); RBAC tildeler tilladelser til roller, så løsningen kan skaleres i virksomheder; og ABAC evaluerer flere attributter for detaljerede beslutninger baseret på zero trust. Dernæst ser vi på fødereret identitet: SAML, OAuth og OpenID Connect.

Gratis at komme i gang

Lær Cloud & IT Cert Prep med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
150
Lektioner
600

Ofte stillede spørgsmål

Er lektionen “Autoriseringsmodeller: RBAC, MAC og DAC” gratis?

Ja — hele teksten til “Autoriseringsmodeller: RBAC, MAC og DAC” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Cloud & IT Cert Prep-kurset, skal du opgradere til CoddyKit PRO. Cloud & IT Cert Prep-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Autoriseringsmodeller: RBAC, MAC og DAC”?

Sammenlign rollebaseret, obligatorisk og diskretionær adgangskontrol, og lær, hvornår de enkelte modeller er passende i virksomheds- og myndighedssammenhænge. Du øver dig i Cloud & IT Cert Prep med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Cloud & IT Cert Prep?

Der kræves ingen tidligere erfaring. Cloud & IT Cert Prep på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.

Hvor lang tid tager lektionen “Autoriseringsmodeller: RBAC, MAC og DAC”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Cloud & IT Cert Prep-lektion?

Ja. Alle Cloud & IT Cert Prep-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Adgangskodepolitikker og multifaktorgodkendelse
  2. Biometri og tokenbaseret godkendelse
  3. Autoriseringsmodeller: RBAC, MAC og DAC
  4. Federated identity: SAML, OAuth og OpenID Connect
← Tilbage til Cloud & IT Cert Prep