Säkra tjänstens huvudnamn i Microsoft Entra ID
Ett Microsoft Entra-tjänsthuvudnamn är den lokala representationen av ett programobjekt i en klientorganisation eller katalog. Det är programinstansens identitet. Tjänstens huvudnamn definierar programåtkomst och resurser som programmet har åtkomst till. Ett huvudkonto för tjänsten skapas i varje klientorganisation där programmet används och refererar till det globalt unika programobjektet. Klientorganisationen skyddar inloggningen av tjänstens huvudnamn och åtkomst till resurser.
Läs mer: Program- och tjänsthuvudnamnsobjekt i Microsoft Entra-ID
Huvudrelationer för klientorganisationstjänsten
Ett program med en enda klientorganisation har ett huvudnamn för tjänsten i sin hemklientorganisation. Ett webbprogram eller API för flera klientorganisationer kräver ett huvudnamn för tjänsten i varje klientorganisation. Ett huvudnamn för tjänsten skapas när en användare från den klientorganisationen godkänner användning av programmet eller API:et. Det här medgivandet skapar en en-till-många-relation mellan programmet för flera klientorganisationer och dess associerade tjänsthuvudnamn.
Ett program för flera klientorganisationer finns i en klientorganisation och har instanser i andra klienter. De flesta SaaS-program (software-as-a-service) rymmer flera innehavare. Använd tjänstens huvudnamn för att säkerställa den säkerhetsstatus som krävs för programmet och dess användare i scenarier med en och flera klientorganisationer.
ApplicationID och ObjectID
En programinstans har två egenskaper: ApplicationID (eller ClientID) och ObjectID.
Kommentar
Termerna program och tjänstens huvudnamn används utbytbart när du refererar till ett program i autentiseringsuppgifter. De är dock två representationer av program i Microsoft Entra-ID.
ApplicationID representerar det globala programmet och är detsamma för programinstanser, mellan klienter. ObjectID är ett unikt värde för ett programobjekt. Precis som med användare, grupper och andra resurser hjälper ObjectID till att identifiera en programinstans i Microsoft Entra-ID.
Mer information finns i Relationen mellan program och tjänstens huvudnamn i Microsoft Entra-ID
Skapa ett program och dess huvudnamn för tjänsten
Du kan skapa ett program och dess objekt för tjänstens huvudnamn (ObjectID) i en klientorganisation med hjälp av:
- Azure PowerShell
- Microsoft Graph PowerShell
- Azure-kommandoradsgränssnitt (Azure CLI)
- Microsoft Graph API
- Azure-portalen
- Andra verktyg
Tjänstens huvudautentisering
Det finns två mekanismer för autentisering när du använder tjänstens huvudnamn – klientcertifikat och klienthemligheter.
Eftersom certifikaten är säkrare rekommenderar vi att du använder dem när det är möjligt. Till skillnad från klienthemligheter kan klientcertifikat inte bäddas in i kod av misstag. När det är möjligt använder du Azure Key Vault för hantering av certifikat och hemligheter för att kryptera tillgångar med nycklar som skyddas av maskinvarusäkerhetsmoduler:
- Autentiseringsnycklar
- Lagringskontonycklar
- Datakrypteringsnycklar
- .pfx-filer
- Lösenord
Mer information om Azure Key Vault och hur du använder det för certifikat- och hemlighetshantering finns i:
Utmaningar och åtgärder
När du använder tjänstens huvudnamn använder du följande tabell för att matcha utmaningar och åtgärder.
Uppgift | Riskreducering |
---|---|
Åtkomstgranskningar för tjänsthuvudnamn som tilldelats privilegierade roller | Den här funktionen är i förhandsversion |
Åtkomstgranskningar för tjänstens huvudnamn | Manuell kontroll av listan över resursåtkomstkontroll med hjälp av Azure Portal |
Överbehörighet för tjänstens huvudnamn | När du skapar automationstjänstkonton, eller tjänsthuvudnamn, beviljar du behörigheter för uppgiften. Utvärdera tjänstens huvudnamn för att minska behörigheterna. |
Identifiera ändringar av autentiseringsuppgifter eller autentiseringsmetoder för tjänstens huvudnamn | – Se rapportarbetsbok för känsliga åtgärder – Se Tech Community-blogginlägget, Microsoft Entra-arbetsboken som hjälper dig att bedöma Solorigate-risker |
Hitta konton med tjänstens huvudnamn
Du hittar konton genom att köra följande kommandon med hjälp av tjänstens huvudnamn med Azure CLI eller PowerShell.
- Azure CLI –
az ad sp list
- PowerShell -
Get-MgServicePrincipal -All:$true
Mer information finns i Get-MgServicePrincipal
Utvärdera tjänstens huvudnamnssäkerhet
Utvärdera säkerheten genom att utvärdera behörigheter och lagring av autentiseringsuppgifter. Använd följande tabell för att undvika utmaningar:
Uppgift | Riskreducering |
---|---|
Identifiera den användare som samtyckt till en app för flera klientorganisationer och identifiera otillåtna medgivandebidrag till en app för flera klientorganisationer | – Kör följande PowerShell för att hitta appar för flera klientorganisationer Get-MgServicePrincipal -All:$true | ? {$_.Tags -eq "WindowsAzureActiveDirectoryIntegratedApp"} – Inaktivera användarmedgivande – Tillåt användarmedgivande från verifierade utgivare för valda behörigheter (rekommenderas) – Konfigurera dem i användarkontexten – Använd deras token för att utlösa tjänstens huvudnamn |
Användning av en hårdkodad delad hemlighet i ett skript med hjälp av tjänstens huvudnamn | Använda ett certifikat |
Spåra vem som använder certifikatet eller hemligheten | Övervaka inloggningar för tjänstens huvudnamn med hjälp av inloggningsloggarna för Microsoft Entra |
Det går inte att hantera inloggning med tjänstens huvudnamn med villkorsstyrd åtkomst | Övervaka inloggningarna med inloggningsloggarna för Microsoft Entra |
Deltagare är standardrollrollen för rollbaserad åtkomstkontroll i Azure (Azure RBAC) | Utvärdera behov och tillämpa minst möjliga behörigheter |
Läs mer: Vad är villkorlig åtkomst?
Flytta från ett användarkonto till ett huvudnamn för tjänsten
Om du använder ett Azure-användarkonto som tjänstens huvudnamn utvärderar du om du kan flytta till en hanterad identitet eller ett huvudnamn för tjänsten. Om du inte kan använda en hanterad identitet beviljar du ett huvudnamn för tjänsten tillräckligt med behörigheter och omfång för att köra de uppgifter som krävs. Du kan skapa ett huvudnamn för tjänsten genom att registrera ett program eller med PowerShell.
När du använder Microsoft Graph kontrollerar du API-dokumentationen. Kontrollera att behörighetstypen för programmet stöds.
Se Skapa servicePrincipal
Läs mer:
- Så här använder du hanterade identiteter för App Service och Azure Functions
- Skapa ett Microsoft Entra-program och tjänstens huvudnamn som kan komma åt resurser
- Använda Azure PowerShell för att skapa ett huvudnamn för tjänsten med ett certifikat
Nästa steg
Läs mer om tjänstens huvudnamn:
- Skapa ett Microsoft Entra-program och tjänstens huvudnamn som kan komma åt resurser
- Inloggningsloggar i Microsoft Entra ID
Säkra tjänstkonton:
- Skydda molnbaserade tjänstkonton
- Skydda hanterade identiteter i Microsoft Entra-ID
- Styra Microsoft Entra-tjänstkonton
- Skydda lokala tjänstkonton
Villkorsstyrd åtkomst:
Använd villkorsstyrd åtkomst för att blockera tjänstens huvudnamn från ej betrodda platser.