Ange autentiseringsuppgifter för programidentitet när det inte finns någon användare

När du som utvecklare skapar program som inte är användare har du ingen användare som du kan fråga efter användarnamn och lösenord eller multifaktorautentisering (MFA). Du måste ange programmets identitet på egen hand. Den här artikeln förklarar varför den bästa metoden för Nolltillit klientautentiseringsuppgifter för tjänster (icke-användarprogram) i Azure är hanterade identiteter för Azure-resurser.

Problem med tjänstkonton

Att använda ett "tjänstkonto" (skapa ett användarkonto och använda det för en tjänst) är inte en bra lösning. Microsoft Entra-ID har inget tjänstkontokoncept. När administratörer skapar användarkonton för en tjänst och sedan delar lösenord med utvecklare är det osäkert. Den kan inte vara lösenordslös eller ha en MFA. I stället för att använda ett användarkonto som ett tjänstkonto är den bästa lösningen att använda något av de alternativ för klientautentiseringsuppgifter som beskrivs nedan.

Alternativ för klientautentiseringsuppgifter

Det finns fyra typer av klientautentiseringsuppgifter som kan identifiera ett program.

Hemlig nyckel eller certifikat?

Hemliga nycklar är godtagbara när du har en avancerad infrastruktur för hantering av hemligheter (till exempel Azure Key Vault) i företaget. Men hemliga nycklar i scenarier där IT-proffset genererar en hemlig nyckel och sedan skickar e-post till en utvecklare som sedan kan lagra den på en osäker plats som ett kalkylblad gör att hemliga nycklar inte skyddas korrekt.

Certifikatbaserade klientautentiseringsuppgifter är säkrare än hemliga nycklar. Certifikat hanteras bättre eftersom de inte är själva hemligheten. Hemligheten är inte en del av en överföring. När du använder en hemlig nyckel skickar klienten det faktiska värdet för den hemliga nyckeln till Microsoft Entra-ID. När du använder ett certifikat lämnar certifikatets privata nyckel aldrig enheten. Även om någon fångar upp, avkodar och avkrypterar överföringen är hemligheten fortfarande säker eftersom avlyssningsparten inte har den privata nyckeln.

Bästa praxis: Använda hanterade identiteter för Azure-resurser

När du utvecklar tjänster (icke-användarprogram) i Azure tillhandahåller hanterade identiteter för Azure-resurser en automatiskt hanterad identitet i Microsoft Entra-ID. Appen kan autentisera till alla tjänster som stöder Microsoft Entra-autentisering utan att hantera autentiseringsuppgifter. Du behöver inte hantera hemligheter. du behöver inte ta itu med risken att förlora eller misskött dem. Hemligheter kan inte fångas upp eftersom de inte flyttas över nätverket. Hanterade identiteter för Azure-resurser är den bästa metoden om du skapar tjänster i Azure.

Nästa steg