← Back
AI RBAC Analyzer
Projektet byggdes för att förstå Azure RBAC bättre i praktiken och samtidigt testa hur AI kan användas för att analysera access och överbehörighet.
Målet var inte att bygga ett färdigt enterprise-verktyg utan att kombinera teori med praktisk testning i en egen Azure-miljö.
Arkitektur
Azure RBAC → JSON Export → PowerShell → Ollama → AI Analysis
Steg 1 — Skapa testmiljö i Azure
Först skapades en egen labbmiljö i Azure för att kunna testa RBAC och accesshantering.
Följande resurser skapades:
- Resource Group
- Virtuella maskiner
- Nätverksresurser
Sedan skapades grupper och användare för olika typer av access:
Steg 2 — Tilldela RBAC-roller
Olika Azure RBAC-roller tilldelades till grupperna.
Exempel:
- Virtual Machine Contributor
- Network Contributor
Rollerna sattes på Resource Group-nivå för att kunna analysera scope och access.
Steg 3 — Exportera RBAC-data
Efter att rollerna var på plats exporterades RBAC-information till JSON-format.
Filen innehöll exempelvis:
- principalName
- roleDefinitionName
- scope
Exempel:
[
{
"principalName": "vm-tech",
"roleDefinitionName": "Virtual Machine Contributor",
"scope": "/subscriptions/.../resourceGroups/RG-TEST-LAB"
}
]
Filen sparades som:
example-rbac.json
Steg 4 — Skapa prompt till AI:n
En prompt skapades för att styra hur modellen skulle analysera RBAC-informationen.
Prompten instruerade modellen att:
- Analysera roller
- Identifiera bred access
- Analysera scope
- Ge least privilege-förslag
Prompten sparades som:
prompt.txt
Steg 5 — Installera Ollama
För att köra AI-modellen lokalt installerades:
Modellen hämtades med:
ollama pull llama3
Steg 6 — Bygga PowerShell-script
Sedan skapades ett PowerShell-script som:
- Läser prompt.txt
- Läser RBAC JSON-data
- Skickar informationen till Ollama
Script:
$prompt = Get-Content -Raw "prompt.txt"
$data = Get-Content -Raw "example-rbac.json"
$input = "$prompt `n`n RBAC DATA:`n$data"
$input | ollama run llama3
Scriptet sparades som:
run-agent.ps1
Steg 7 — Köra analysen
Scriptet kördes via PowerShell:
.\run-agent.ps1
AI:n analyserade sedan:
- RBAC-roller
- Scope
- Risker
- Least privilege-förslag
Steg 8 — Resultat
Projektet gjorde det tydligare:
- Hur bred Contributor-access kan bli
- Hur viktigt scope är inom Azure RBAC
- Hur lätt det är att ge för mycket access
- Hur viktigt least privilege är
Det blev också tydligt att AI kan hjälpa till att analysera access snabbare, men att man fortfarande måste förstå RBAC och säkerhetsmodellen själv.
Möjliga nästa steg
- Hämta RBAC-data direkt från Azure API
- Analysera större miljöer
- Förbättra AI-analysen ytterligare
- Identifiera överprivilegierade konton automatiskt
Lärdomar
- RBAC blir snabbt komplext i större miljöer
- Scope är kritiskt för least privilege
- AI kan fungera som stöd för snabbare analys
- Det är mycket lättare att förstå RBAC när man bygger och testar själv