Dela via


Autentisera Java appar för att Azure tjänster med hjälp av Azure Identity-biblioteket

Appar kan använda Azure Identity-biblioteket för att autentisera till Microsoft Entra ID, vilket gör att apparna kan komma åt Azure tjänster och resurser. Det här autentiseringskravet gäller om appen distribueras till Azure, finns lokalt eller körs lokalt på en arbetsstation för utvecklare. I den här artikeln beskrivs de rekommenderade metoderna för att autentisera en app till Microsoft Entra ID i olika miljöer vid användning av Azure SDK-klientbibliotek.

Tokenbaserad autentisering via Microsoft Entra ID är den rekommenderade metoden för att autentisera appar till Azure, i stället för att använda anslutningssträngar eller nyckelbaserade alternativ. I Azure Identity Library finns klasser som stöder tokenbaserad autentisering och gör det möjligt för appar att autentisera för att Azure resurser oavsett om appen körs lokalt, på Azure eller på en lokal server.

Fördelar med tokenbaserad autentisering

Tokenbaserad autentisering ger följande fördelar jämfört med anslutningssträngar:

  • Tokenbaserad autentisering säkerställer att endast de specifika appar som är avsedda att komma åt den Azure resursen kan komma åt den, medan alla eller appar med en connection string kan ansluta till en Azure resurs.
  • Med tokenbaserad autentisering kan du begränsa Azure resursåtkomst till endast de specifika behörigheter som krävs av appen. Den här metoden följer principen om lägsta behörighet. Däremot ger en connection string fullständiga rättigheter till den Azure resursen.
  • När du använder en hanterad identitet för tokenbaserad autentisering, hanterar Azure administrativa funktioner åt dig, så du behöver inte bekymra dig om uppgifter som att skydda eller rotera hemligheter. Den här metoden gör appen säkrare eftersom det inte finns någon connection string eller programhemlighet som kan komprometteras.
  • Det Azure identitetsbiblioteket hämtar och hanterar Microsoft Entra token åt dig.

Begränsa användningen av anslutningssträngar till scenarier där tokenbaserad autentisering inte är ett alternativ, inledande konceptbevisappar eller utvecklingsprototyper som inte har åtkomst till produktionsdata eller känsliga data. Använd när det är möjligt de tokenbaserade autentiseringsklasserna som är tillgängliga i Azure Identity-biblioteket för att autentisera till Azure resurser.

Autentisering i olika miljöer

Den specifika typen av tokenbaserad autentisering som en app ska använda för att autentisera för att Azure resurser beror på var appen körs. Följande diagram innehåller vägledning för olika scenarier och miljöer:

Ett diagram som visar de rekommenderade tokenbaserade autentiseringsstrategierna för en app beroende på var den körs.

När en app är:

Autentisering för Azure värdbaserade appar

När du värdar din app på Azure kan den använda hanterade identiteter för att autentisera till Azure-resurser utan att behöva hantera några autentiseringsuppgifter. Det finns två typer av hanterade identiteter: användartilldelade och systemtilldelade.

Använda en användartilldelad hanterad identitet

Du kan skapa en användartilldelad hanterad identitet som en fristående Azure resurs. Du kan sedan tilldela den till en eller flera Azure resurser så att dessa resurser kan dela samma identitet och behörigheter. Om du vill autentisera med hjälp av en användartilldelad hanterad identitet skapar du identiteten, tilldelar den till din Azure resurs och konfigurerar sedan appen så att den använder den här identiteten för autentisering genom att ange dess klient-ID, resurs-ID eller objekt-ID.

Använda en systemtilldelad hanterad identitet

Du kan aktivera en systemtilldelad hanterad identitet direkt på en Azure resurs. Identiteten är kopplad till resursens livscykel och tas bort automatiskt när resursen tas bort. Om du vill autentisera med hjälp av en systemtilldelad hanterad identitet aktiverar du identiteten på din Azure resurs och konfigurerar sedan appen så att den använder den här identiteten för autentisering.

Autentisering under lokal utveckling

Under den lokala utvecklingen kan du autentisera mot Azure-resurserna med hjälp av dina autentiseringsuppgifter för utvecklare, en mäklare eller ett tjänstens huvudnamn. Med någon av dessa metoder kan du testa appens autentiseringslogik utan att distribuera den till Azure.

Använda autentiseringsuppgifter för utvecklare

Du kan använda dina egna Azure-autentiseringsuppgifter för att autentisera mot Azure-resurser vid lokal utveckling. Vanligtvis använder du ett utvecklingsverktyg som Azure CLI, Azure Developer CLI, Azure PowerShell, Visual Studio Code eller IntelliJ IDEA. De här verktygen kan ge din app nödvändiga token för att få åtkomst till Azure tjänster. Den här metoden är praktisk, men du bör bara använda den i utvecklingssyfte.

Använd en mäklare

Mäklad autentisering samlar in användarens autentiseringsuppgifter med hjälp av systemautentiseringsmäklaren för att autentisera en app. En systemautentiseringskoordinator körs på en användares dator och hanterar handskakningar för autentisering och tokenunderhåll för alla anslutna konton.

Använda tjänstens huvudnamn

Du kan skapa ett tjänsthuvudnamn i en Microsoft Entra klientorganisation för att representera en app och autentisera mot Azure-resurser. Du kan konfigurera din app så att den använder autentiseringsuppgifter för tjänstens huvudnamn under den lokala utvecklingen. Den här metoden är säkrare än att använda autentiseringsuppgifter för utvecklare och är närmare hur din app autentiserar i produktion. Det är dock fortfarande mindre idealiskt än att använda en hanterad identitet på grund av behovet av hemligheter.

Autentisering för appar som finns lokalt

För appar som finns lokalt kan du använda ett tjänstehuvudnamn för att autentisera mot Azure-resurser. Det innebär att skapa ett huvudnamn för tjänsten i Microsoft Entra ID, tilldela den nödvändiga behörigheter och konfigurera appen att använda sina autentiseringsuppgifter. Med den här metoden kan din lokala app på ett säkert sätt komma åt Azure tjänster.