Forstå arbejdsbelastningsidentiteter
Udrulningsarbejdsprocesser, programmer og software kræver en særlig måde at godkende på. I dette undermodul lærer du, hvorfor arbejdsbelastningsidentiteter er vigtige for udrulningsarbejdsprocesser, hvordan de passer ind i Azures sikkerhedsmodel, og hvordan de fungerer.
Hvorfor skal en arbejdsproces godkende?
Når du udruller en Bicep-fil, skal du effektivt bede Azure Resource Manager om at oprette eller ændre dine Azure-ressourcer. I eksempelscenariet har du oprettet en Bicep-fil for at installere dit legetøjsfirmas websted. Bicep-filen deklarerer ressourcer, der omfatter en Azure App Service-plan, en app og en Application Insights-forekomst.
Når du installerer filen, kontrollerer Resource Manager, om ressourcerne findes. Hvis de ikke gør det, opretter Resource Manager dem. Hvis der allerede findes ressourcer, sikrer Resource Manager, at deres konfiguration svarer til den konfiguration, du angav i Bicep-filen.
Alle disse handlinger kræver tilladelse, fordi de har adgang til og ændrer dine Azure-ressourcer. De specifikke tilladelser, der kræves til installation, afhænger af, hvad Bicep-filen indeholder. Hvis du vil udrulle eksempelfilen til dit legetøjsfirmas websted, skal du have følgende tilladelser i den ressourcegruppe, du udruller til:
- Muligheden for at oprette udrulninger. Udrulninger er ressourcer med en type
Microsoft.Resources/deployments
. - Muligheden for at oprette og redigere App Service-planer og -apps.
- Muligheden for at oprette og ændre Application Insights-forekomster.
Indtil nu har du sandsynligvis selv installeret dine Bicep-filer ved hjælp af Azure CLI eller Azure PowerShell. Når du bruger disse værktøjer, bruger du normalt din egen brugerkonto og godkender ved hjælp af din browser. Dette kaldes ved hjælp af din egen identitet. Når du sender en udrulning, bekræfter Azure, at din identitet har de nødvendige tilladelser til at gøre det, som din Bicep-skabelon angiver.
Når du har flyttet til en udrulningsarbejdsproces for GitHub-handlinger, skal du bruge en anden type identitet, fordi arbejdsprocessen kører udrulninger uden din direkte involvering.
Typer af identiteter
Microsoft Entra ID er den tjeneste, der administrerer identiteter for Azure. Nogle af de vigtigste typer identiteter er:
- Brugeridentiteter: En bruger repræsenterer et menneske, der normalt logger på interaktivt ved hjælp af en browser. Brugerne har ofte ekstra sikkerhedskontroller, der skal udføres, når de logger på, f.eks. multifaktorgodkendelse (MFA) og betinget adgang baseret på deres placering eller netværk.
- Grupper: En gruppe repræsenterer en samling af brugere. Grupper godkendes ikke direkte, men de gør det nemt at tildele tilladelser til et sæt brugere sammen.
- arbejdsbelastningsidentiteter: En arbejdsbelastning er en automatiseret proces eller et system, der normalt ikke har en person, der kører den direkte. En arbejdsbelastning kan logge på Microsoft Entra ID, men der er ingen person, der kan logge på og interagere med godkendelsesprocessen. Arbejdsbelastningsidentiteter har ikke MFA-beskyttelse eller lignende beskyttelse, fordi disse funktioner kræver, at en person gør noget for at bevise deres identitet.
I dette modul fokuseres der på arbejdsbelastningsidentiteter.
Administrerede identiteter
En administreret identitet er knyttet til en Azure-ressource. Azure administrerer legitimationsoplysningerne automatisk. Når ressourcen har brug for at få adgang til noget, logger Azure automatisk på ved hjælp af legitimationsoplysningerne.
Administrerede identiteter er tilgængelige for Azure-hostede ressourcer, f.eks. virtuelle maskiner og App Service-apps. De er en fantastisk måde for Azure-ressourcer at godkende sig selv i situationer som automatisering af din Azure-administration, oprettelse af forbindelse til databaser og læsning af hemmelige data fra Azure Key Vault. Du kan også bruge administrerede identiteter med Azure Arc til andre scenarier.
Når du arbejder med udrulningsarbejdsprocesser, bruger du normalt ikke administrerede identiteter. Administrerede identiteter kræver, at du ejer og administrerer de Azure-ressourcer, der kører dine udrulninger. Når du arbejder med GitHub-handlinger, er du normalt afhængig af den delte infrastruktur, som Microsoft eller GitHub leverer. Når du bruger en arbejdsbelastningsidentitet med GitHub-handlinger, kan du dog få den største fordel af administrerede identiteter: Du behøver ikke at administrere nogen legitimationsoplysninger.
Drikkepenge
Hvis du i andre dele af din løsning kan vælge mellem at bruge en administreret identitet eller bruge en normal tjenesteprincipal, er det bedst at bruge en administreret identitet. Administrerede identiteter er nemmere at arbejde med og er normalt mere sikre.
Hvorfor kan du ikke bare bruge din brugerkonto?
Du undrer dig måske over, hvorfor du skal oprette denne helt nye objekttype bare for at godkende en udrulningsarbejdsproces, når du har brugerkonti, der fungerer perfekt.
Brugerkonti er ikke udviklet til automatisk brug. Godkendelsesprocessen for en brugerkonto kontrollerer ofte, at en person er den enhed, der forsøger at logge på. Organisationer bruger i stigende grad ekstra sikkerhedskontroller under godkendelse. Disse kontroller omfatter MFA, CAPTCHA-kontroller og inspektion af den enhed og det netværk, brugeren bruger, så brugeren kan bekræfte legitimiteten af en anmodning om at logge på.
Arbejdsprocesser er designet til at køre dine installationer, selvom ingen aktivt kører dem. Faktisk stammer de fleste af fordelene ved udrulningsarbejdsprocesser fra det faktum, at de er automatiserede og ikke kræver menneskelig interaktion.
Hvis du gemmer dit brugernavn og din adgangskode i en arbejdsproces og forsøger at bruge dem til at logge på, fungerer de sandsynligvis ikke. Selvom de ser ud til at fungere, kan de nemt bryde i fremtiden, hvis Microsoft Entra ID eller din organisationsadministrator føjer flere sikkerhedskontroller til din brugergodkendelsesproces.
Advarsel
Det er også en dårlig idé at gemme dit brugernavn og din adgangskode hvor som helst, fordi en anden kan få adgang til dem og derefter bruge dem til at repræsentere dig.
Af disse årsager kan du ikke angive legitimationsoplysningerne for en brugerkonto med de indbyggede GitHub-handlinger, der interagerer med Azure. De kræver, at du bruger en arbejdsbelastningsidentitet.
Hvordan fungerer arbejdsbelastningsidentiteter?
Arbejdsbelastningsidentiteter er en funktion i Microsoft Entra ID, som er en global identitetstjeneste. Mange firmaer bruger Microsoft Entra-id, og hvert firma kaldes en lejer.
Microsoft Entra ID har begrebet et program, som repræsenterer et system, et stykke software, en proces eller en anden ikke-menneskelig agent. Du kan også betragte en udrulningsarbejdsproces som et program.
Når du opretter et program og fortæller Microsoft Entra-id'et om det, opretter du et objekt, der kaldes et programregistrering. En programregistrering repræsenterer programmet i Microsoft Entra ID.
En programregistrering kan have legitimationsoplysninger i organisationsnetværket tilknyttet. Legitimationsoplysninger i organisationsnetværket kræver ikke, at du gemmer nogen hemmeligheder. De gør det i stedet muligt for en understøttet tjeneste som GitHub at bruge et Microsoft Entra-program.
Når arbejdsprocessen for GitHub-handlinger skal godkendes, kontakter den Microsoft Entra ID via GitHub. GitHub fortæller Microsoft Entra ID navnet på GitHub-organisationen og lageret og eventuelt nogle andre oplysninger. Hvis du har konfigureret en legitimationsoplysninger i organisationsnetværket, der svarer til lagerets oplysninger, godkender Microsoft Entra din installationsarbejdsproces. Arbejdsprocessen kan bruge de tilladelser, du har tildelt programmet.
Drikkepenge
Når du ser på en programregistrering på Azure Portal, får du vist en masse andre funktioner og konfigurationer, der muligvis ikke virker relevante. Det skyldes, at programmer kan gøre mange ting i Microsoft Entra ID, der ligger uden for omfanget af godkendelses- og arbejdsprocesinstallationer.
Du kan også oprette et tjenesteprincipal objekt i din Microsoft Entra-lejer. En tjenesteprincipal er som en kopi af programmet, som din egen Microsoft Entra-lejer skal bruge. Tjenesteprincipaler og -programmer er tæt forbundet. Du skal bruge en tjenesteprincipal senere i dette modul, når du giver din arbejdsproces tilladelse til at få adgang til Azure.
Seddel
Nogle værktøjer kalder en tjenesteprincipal for et virksomhedsprogram. Du kan også se tjenesteprincipaler, der kaldes administrerede programmer, i din lokale mappe, men disse er ikke det samme som administrerede identiteter.