Dela via


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

Skärmbild av program- eller klient-ID och objekt-ID på sidan Ny app.

Tjänstens huvudautentisering

Det finns två mekanismer för autentisering när du använder tjänstens huvudnamn – klientcertifikat och klienthemligheter.

Skärmbild av certifikat och klienthemligheter under Ny app, certifikat och hemligheter.

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-portalen
Ö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:

Nästa steg

Läs mer om tjänstens huvudnamn:

Säkra tjänstkonton:

Villkorsstyrd åtkomst:

Använd villkorsstyrd åtkomst för att blockera tjänstens huvudnamn från ej betrodda platser.

Se Skapa en platsbaserad princip för villkorsstyrd åtkomst