Ange autentiseringsuppgifter för programidentitet när det inte finns någon användare
När du som utvecklare skapar icke-använda program 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ända program) 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 din bästa lösning att använda något av följande alternativ för klientautentiseringsuppgifter.
Alternativ för klientautentiseringsuppgifter
Det finns fyra typer av klientautentiseringsuppgifter som kan identifiera ett program.
- Hemlig nyckel
- Certifikat
- Hanterade identiteter för Azure-resurser
- Federerade autentiseringsuppgifter
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ända program) 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
- Identitets- och kontotyper som stöds för appar med en eller flera klienter förklarar hur du kan välja om din app endast tillåter användare från din Microsoft Entra-klientorganisation, någon Microsoft Entra-klient eller användare med personliga Microsoft-konton.
- Utveckla en strategi för programbehörigheter som hjälper dig att bestämma din metod för programbehörigheter för hantering av autentiseringsuppgifter.
- Ange autentiseringsuppgifter för programidentitet när det inte finns någon användare som förklarar varför hanterade identiteter för Azure-resurser är den bästa metoden för klientautentiseringsuppgifter för tjänster (icke-använda program) i Azure.
- Metodtips för auktorisering hjälper dig att implementera de bästa auktoriserings-, behörighets- och medgivandemodellerna för dina program.
- Använd bästa praxis för utveckling av Nolltillit identitets- och åtkomsthantering i programutvecklingslivscykeln för att skapa säkra program.
- Att skapa appar med en Nolltillit metod för identitet ger en översikt över behörigheter och metodtips för åtkomst.