Dela via


Vad är hanterade identiteter för Azure-resurser?

Att hantera hemligheter, autentiseringsuppgifter, certifikat och nycklar som används för att skydda kommunikationen mellan olika tjänster kan vara en utmaning för utvecklare. Manuell hantering av hemligheter och certifikat är en känd källa till säkerhetsproblem och avbrott. Hanterade identiteter eliminerar behovet av att utvecklare hanterar dessa autentiseringsuppgifter. Program kan använda hanterade identiteter för att hämta Microsoft Entra-token utan att behöva hantera några autentiseringsuppgifter.

Vad är hanterade identiteter?

På hög nivå finns det två typer av identiteter: mänskliga identiteter och maskin-/icke-mänskliga identiteter. Dator-/icke-mänskliga identiteter består av enhets- och arbetsbelastningsidentiteter. I Microsoft Entra är arbetsbelastningsidentiteter applikationer, tjänsthuvudnamn och hanterade identiteter. Mer information om arbetsbelastningsidentiteter finns i arbetsbelastningsidentiteter.

En hanterad identitet är en identitet som kan tilldelas till en Azure-beräkningsresurs (virtuell dator (VM), VMSS (Virtual Machine Scale Set), Service Fabric Cluster, Azure Kubernetes-kluster) eller valfri appvärdplattform som stöds av Azure. När en hanterad identitet har tilldelats på beräkningsresursen kan den direkt eller indirekt få åtkomst till underordnade beroenderesurser, till exempel ett lagringskonto, SQL-databas, CosmosDB och så vidare. Hanterad identitet ersätter hemligheter som åtkomstnycklar eller lösenord. Dessutom kan hanterade identiteter ersätta certifikat eller andra former av autentisering för tjänst-till-tjänst-beroenden.

Följande video visar hur du kan använda hanterade identiteter:

Några av fördelarna med att använda hanterade identiteter:

  • Du behöver inte hantera autentiseringsuppgifter. Autentiseringsuppgifter är inte ens tillgängliga för dig.
  • Du kan använda hanterade identiteter för att autentisera till alla resurser som stöder Microsoft Entra-autentisering, inklusive dina egna program.
  • Hanterade identiteter kan användas utan extra kostnad.

Hanterade identitetstyper

Det finns två typer av hanterade identiteter:

  • Systemtilldelad. Med vissa Azure-resurser, till exempel virtuella datorer, kan du aktivera en hanterad identitet direkt på resursen. När du aktiverar en systemtilldelad hanterad identitet:

    • En tjänsthuvudman av en särskild typ skapas i Microsoft Entra ID för identiteten. Tjänsthuvudnamnet är kopplat till livscykeln för den Azure-resursen. När Azure-resursen tas bort tar Azure automatiskt bort tjänstens huvudnamn åt dig.
    • Endast den Azure-resursen kan avsiktligt använda den här identiteten för att begära tokens från Microsoft Entra ID.
    • Du ger den hanterade identiteten åtkomst till en eller flera tjänster.
    • Namnet på det systemtilldelade tjänstens huvudnamn är alltid samma som namnet på den Azure-resurs som den har skapats för. För en distributionsplats är namnet på dess systemtilldelade hanterade identitet <app-name>/slots/<slot-name>.
  • Användartilldelad. Du kan också skapa en hanterad identitet som en fristående Azure-resurs. Du kan skapa en användartilldelad hanterad identitet och tilldela den till en eller flera Azure-resurser. När du aktiverar en användartilldelad hanterad identitet:

    • En tjänsthuvudman av en särskild typ skapas i Microsoft Entra ID för identiteten. Tjänstens huvudprincip hanteras separat från de resurser som använder det.
    • Användartilldelade hanterade identiteter kan användas av flera resurser.
    • Du ger den hanterade identiteten åtkomst till en eller flera tjänster.

    Användartilldelade hanterade identiteter, som etableras oberoende av beräkning och kan tilldelas till flera beräkningsresurser, är den rekommenderade hanterade identitetstypen för Microsoft-tjänster.

Med resurser som stöder systemtilldelade hanterade identiteter kan du:

Om du väljer en användartilldelad hanterad identitet i stället:

Åtgärder på hanterade identiteter kan utföras med hjälp av en Azure Resource Manager-mall, Azure Portal, Azure CLI, PowerShell och REST-API:er.

Skillnader mellan systemtilldelade och användartilldelade hanterade identiteter

Egendom Systemtilldelad hanterad identitet Användartilldelad hanterad identitet
Skapelse Skapades som en del av en Azure-resurs (till exempel Azure Virtual Machines eller Azure App Service). Skapad som en fristående Azure-resurs.
Livscykel Gemensam livscykel med den Azure-resurs som den hanterade identiteten skapas med.
När den överordnade resursen tas bort tas även den hanterade identiteten bort.
Oberoende livscykel.
Måste tas bort uttryckligen.
Dela mellan Azure-resurser Det går inte att dela.
Den kan bara associeras med en enda Azure-resurs.
Kan delas.
Samma användartilldelade hanterade identitet kan associeras med mer än en Azure-resurs.
Vanliga användningsfall Arbetsbelastningar som finns i en enda Azure-resurs.
Arbetsbelastningar som behöver oberoende identiteter.
Till exempel ett program som körs på en enda virtuell dator.
Arbetslaster som körs på flera resurser och kan dela en enda identitet.
Arbetsflöden som kräver förgodkännande till en säker resurs, som en del av en etableringsprocess.
Arbetsbelastningar där resurser återanvänds ofta, men behörigheter bör förbli konsekventa.
Till exempel en arbetsbelastning där flera virtuella datorer behöver komma åt samma resurs.

Hur använder jag hanterade identiteter för Azure-resurser?

Du kan använda hanterade identiteter genom att följa stegen nedan:

  1. Skapa en hanterad identitet i Azure. Du kan välja mellan systemtilldelad hanterad identitet eller användartilldelad hanterad identitet.
    1. När du använder en användartilldelad hanterad identitet tilldelar du den hanterade identiteten till Azure-källresursen, till exempel en virtuell dator, Azure Logic App eller en Azure-webbapp.
  2. Auktorisera den hanterade identiteten så att den har åtkomst till "måltjänsten".
  3. Använd den hanterade identiteten för att komma åt en resurs. I det här steget kan du använda Azure SDK med Azure.Identity-biblioteket. Vissa "källresurser" erbjuder anslutningskopplingar som kan använda Hanterade identiteter för anslutningarna. I så fall använder du identiteten som en funktion i den "källresursen".

Vilka Azure-tjänster stöder funktionen?

Hanterade identiteter för Azure-resurser kan användas för att autentisera till tjänster som stöder Microsoft Entra-autentisering. En lista över Azure-tjänster som stöds finns i Tjänster som stöder hanterade identiteter för Azure-resurser.

Arbeta med hanterade identiteter

Hanterade identiteter kan användas direkt eller som federerade identitetsautentiseringsuppgifter för Microsoft Entra-ID-program.

Stegen för att använda hanterade identiteter är följande:

  1. Skapa en hanterad identitet i Azure. Du kan välja mellan systemtilldelad hanterad identitet eller användartilldelad hanterad identitet. När du använder en användartilldelad hanterad identitet tilldelar du den hanterade identiteten till källans Azure-resurs, till exempel en virtuell dator, Azure Logic App eller en Azure-webbapp.
  2. Auktorisera den hanterade identiteten så att den har åtkomst till måltjänsten.
  3. Använd den hanterade identiteten för att komma åt en resurs. I det här steget kan du använda något av klientbiblioteken. Vissa källresurser erbjuder anslutningar som vet hur man använder hanterade identiteter för anslutningarna. I så fall använder du identiteten som en funktion i källresursen.

Använda hanterad identitet direkt

Tjänstkoden som körs på din Azure-beräkningsresurs använder antingen Microsoft Authentication Library (MSAL) eller Azure.Identity SDK för att hämta en hanterad identitetstoken från Entra-ID som backas upp av den hanterade identiteten. Detta tokenförvärv kräver inga hemligheter och autentiseras automatiskt baserat på miljön där koden körs. Så länge den hanterade identiteten är auktoriserad kan tjänstkoden komma åt underordnade beroenden som stöder Entra-ID-autentisering.

Du kan till exempel använda en virtuell Azure-dator (VM) som Azure Compute. Du kan sedan skapa en användartilldelad hanterad identitet och tilldela den till den virtuella datorn. Belastningen som körs på VM:ens gränssnitt interagerar med både Azure.Identity (eller MSAL) och Azure Storage-klient-SDK:er för att få åtkomst till ett lagringskonto. Den användartilldelade hanterade identiteten har behörighet att komma åt lagringskontot.

Använda hanterad identitet som federerad identitetsautentisering (FIC) i en Entra-ID-app

Autentisering via arbetsbelastningsidentitet möjliggör att använda en hanterad identitet som autentiseringsuppgift, precis som ett certifikat eller lösenord, på Entra ID-applikationer. När en Entra-ID-app krävs är det här det rekommenderade sättet att vara autentiseringsfri. Det finns en gräns på 20 FIC:er när du använder hanterade identiteter som FIC i en Entra-ID-app.

En arbetsbelastning som agerar i kapaciteten av Entra ID application kan vara hostad på vilken Azure-datorresurs som helst som har en hanterad identitet. Arbetsbelastningen använder den hanterade identiteten för att hämta en token som ska bytas ut mot en Entra ID-programtoken via arbetsbelastningsidentitetsfederation. Den här funktionen kallas även för hanterad identitet som FIC (federerade identitetsuppgifter). Mer information finns i konfigurera ett program för att lita på en hanterad identitet.

Nästa steg