Använda hanterade identiteter för Azure med Service Fabric

En vanlig utmaning när du skapar molnprogram är hur du på ett säkert sätt hanterar autentiseringsuppgifterna i koden för autentisering till olika tjänster utan att spara dem lokalt på en arbetsstation för utvecklare eller i källkontrollen. Hanterade identiteter för Azure löser det här problemet för alla dina resurser i Microsoft Entra-ID genom att ge dem automatiskt hanterade identiteter i Microsoft Entra-ID. Du kan använda en tjänsts identitet för att autentisera till alla tjänster som stöder Microsoft Entra-autentisering, inklusive Key Vault, utan några autentiseringsuppgifter som lagras i koden.

Hanterade identiteter för Azure-resurser är kostnadsfria med Microsoft Entra-ID för Azure-prenumerationer. Det finns ingen extra kostnad.

Kommentar

Hanterade identiteter för Azure är det nya namnet på tjänsten som tidigare kallades Hanterad tjänstidentitet (MSI).

Begrepp

Hanterade identiteter för Azure baseras på flera viktiga begrepp:

  • Klient-ID – en unik identifierare som genereras av Microsoft Entra-ID som är knutet till ett program och tjänstens huvudnamn under den första etableringen (se även program-ID (klient-ID).)

  • Ägar-ID – Objekt-ID för tjänstens huvudnamnsobjekt för din hanterade identitet som används för att bevilja rollbaserad åtkomst till en Azure-resurs.

  • Tjänstens huvudnamn – ett Microsoft Entra-objekt som representerar projektionen av ett Microsoft Entra-program i en viss klientorganisation (se även tjänstens huvudnamn.)

Det finns två typer av hanterade identiteter:

  • En systemtilldelad hanterad identitet aktiveras direkt på en Azure-tjänstinstans. Livscykeln för en systemtilldelad identitet är unik för den Azure-tjänstinstans som den är aktiverad på.
  • En användartilldelad hanterad identitet skapas som en fristående Azure-resurs. Identiteten kan tilldelas till en eller flera Azure-tjänstinstanser och hanteras separat från livscykeln för dessa instanser.

Mer information om skillnaden mellan hanterade identitetstyper finns i Hur fungerar hanterade identiteter för Azure-resurser?.

Scenarier som stöds för Service Fabric-program

Hanterade identiteter för Service Fabric stöds endast i Azure-distribuerade Service Fabric-kluster och endast för program som distribueras som Azure-resurser. Ett program som inte har distribuerats som en Azure-resurs kan inte tilldelas en identitet. Konceptuellt sett består stödet för hanterade identiteter i ett Azure Service Fabric-kluster av två faser:

  1. Tilldela en eller flera hanterade identiteter till programresursen. ett program kan tilldelas en enda systemtilldelad identitet och/eller upp till 32 användartilldelade identiteter.

  2. Inom programmets definition mappar du en av de identiteter som tilldelats programmet till en enskild tjänst som ingår i programmet.

Den systemtilldelade identiteten för ett program är unik för programmet. en användartilldelad identitet är en fristående resurs som kan tilldelas till flera program. I ett program kan en enda identitet (oavsett om den är systemtilldelad eller användartilldelad) tilldelas till flera tjänster i programmet, men varje enskild tjänst kan bara tilldelas en identitet. Slutligen måste en tjänst tilldelas en identitet explicit för att ha åtkomst till den här funktionen. I själva verket möjliggör mappningen av ett programs identiteter till dess komponenttjänster isolering i programmet – en tjänst får bara använda den identitet som mappas till den.

Följande scenarier stöds för den här funktionen:

  • Distribuera ett nytt program med en eller flera tjänster och en eller flera tilldelade identiteter

  • Tilldela en eller flera hanterade identiteter till ett befintligt (Azure-distribuerat) program för att få åtkomst till Azure-resurser

Följande scenarier stöds inte eller rekommenderas inte. Dessa åtgärder kanske inte blockeras, men kan leda till avbrott i dina program:

  • Ta bort eller ändra de identiteter som tilldelats till ett program. Om du behöver göra ändringar skickar du separata distributioner för att först lägga till en ny identitetstilldelning och sedan ta bort en tidigare tilldelad. Borttagning av en identitet från ett befintligt program kan ha oönskade effekter, inklusive att lämna programmet i ett tillstånd som inte kan uppgraderas. Det är säkert att ta bort programmet helt och hållet om det behövs borttagning av en identitet. Om du tar bort programmet tas alla systemtilldelade identiteter som är associerade med programmet bort och alla associationer med eventuella användartilldelade identiteter som tilldelats programmet tas bort.

  • Service Fabric stöder inte hanterade identiteter i den inaktuella AzureServiceTokenProvider. Använd i stället hanterade identiteter i Service Fabric med hjälp av Azure Identity SDK

Nästa steg