Service-principals beveiligen in Microsoft Entra-id

Een Microsoft Entra-service-principal is de lokale weergave van een toepassingsobject in een tenant of map. Dit is de identiteit van het toepassingsexemplaren. Service-principals definiëren toegang tot toepassingen en resources die de toepassing opent. Er wordt een service-principal gemaakt in elke tenant waar de toepassing wordt gebruikt en verwijst naar het globaal unieke toepassingsobject. De tenant beveiligt de aanmelding van de service-principal en toegang tot resources.

Meer informatie: Toepassings- en service-principalobjecten in Microsoft Entra-id

Relaties tussen tenant-service-principals

Een toepassing met één tenant heeft één service-principal in de eigen tenant. Voor een webtoepassing of API met meerdere tenants is een service-principal vereist in elke tenant. Er wordt een service-principal gemaakt wanneer een gebruiker van die tenant toestemming verleent voor het gebruik van de toepassing of API. Met deze toestemming maakt u een een-op-veel-relatie tussen de toepassing met meerdere tenants en de bijbehorende service-principals.

Een toepassing met meerdere tenants bevindt zich in een tenant en heeft exemplaren in andere tenants. De meeste SaaS-toepassingen (software-as-a-service) zijn geschikt voor multitenancy. Gebruik service-principals om ervoor te zorgen dat de benodigde beveiligingspostuur voor de toepassing en de gebruikers ervan in scenario's met één en meerdere tenants wordt gegarandeerd.

ApplicationID en ObjectID

Een toepassingsexemplaren hebben twee eigenschappen: de ApplicationID (of ClientID) en de ObjectID.

Notitie

De termentoepassing en service-principal worden door elkaar gebruikt bij het verwijzen naar een toepassing in verificatietaken. Ze zijn echter twee representaties van toepassingen in Microsoft Entra ID.

De ApplicationID vertegenwoordigt de globale toepassing en is hetzelfde voor toepassingsexemplaren, in tenants. De ObjectID is een unieke waarde voor een toepassingsobject. Net als bij gebruikers, groepen en andere resources helpt de ObjectID bij het identificeren van een toepassingsexemplaren in Microsoft Entra-id.

Zie application and service principal relationship in Microsoft Entra ID (Toepassings- en service-principalrelatie) voor meer informatie

Een toepassing en het bijbehorende service-principal-object maken

U kunt een toepassing en het bijbehorende service-principal-object (ObjectID) in een tenant maken met behulp van:

  • Azure PowerShell
  • Microsoft Graph PowerShell
  • Azure-opdrachtregelinterface (Azure CLI)
  • Microsoft Graph API
  • Azure Portal
  • Andere hulpprogramma's

Screenshot of Application or Client ID and Object ID on the New App page.

Verificatie van service-principal

Er zijn twee mechanismen voor verificatie bij het gebruik van service-principals: clientcertificaten en clientgeheimen.

Screenshot of Certificates and Client secrets under New App, Certificates and secrets.

Omdat certificaten veiliger zijn, wordt u aangeraden deze, indien mogelijk, te gebruiken. In tegenstelling tot clientgeheimen kunnen clientcertificaten niet per ongeluk worden ingesloten in code. Gebruik Indien mogelijk Azure Key Vault voor certificaat- en geheimenbeheer om assets te versleutelen met sleutels die worden beveiligd door hardwarebeveiligingsmodules:

  • Verificatiesleutels
  • Opslagaccountsleutels
  • Gegevensversleutelingssleutels
  • .pfx-bestanden
  • Wachtwoords

Zie voor meer informatie over Azure Key Vault en hoe u deze kunt gebruiken voor certificaat- en geheimbeheer:

Uitdagingen en oplossingen

Wanneer u service-principals gebruikt, gebruikt u de volgende tabel om uitdagingen en oplossingen te vinden.

Uitdaging Correctie
Toegangsbeoordelingen voor service-principals die zijn toegewezen aan bevoorrechte rollen Deze functionaliteit is beschikbaar als preview-versie
Toegangsbeoordelingen voor service-principals Handmatige controle van de toegangsbeheerlijst voor resources met behulp van Azure Portal
Over-machtigingen voor service-principals Wanneer u automation-serviceaccounts of service-principals maakt, verleent u machtigingen voor de taak. Evalueer service-principals om bevoegdheden te verminderen.
Wijzigingen in referenties of verificatiemethoden voor de service-principal identificeren - Zie de werkmap
gevoelige bewerkingen - Zie het blogbericht van de Tech Community, Microsoft Entra-werkmap om u te helpen solorigate-risico's te beoordelen

Accounts zoeken met behulp van service-principals

Als u accounts wilt vinden, voert u de volgende opdrachten uit met behulp van service-principals met Azure CLI of PowerShell.

  • Azure CLI - az ad sp list
  • Powershell- Get-MgServicePrincipal -All:$true

Zie Get-MgServicePrincipal voor meer informatie

De beveiliging van service-principals beoordelen

Als u de beveiliging wilt evalueren, evalueert u bevoegdheden en referentieopslag. Gebruik de volgende tabel om problemen te beperken:

Uitdaging Correctie
Detecteer de gebruiker die toestemming heeft gegeven voor een app met meerdere tenants en detecteer illegale toestemming voor een app met meerdere tenants - Voer de volgende PowerShell uit om apps met meerdere tenants te vinden
Get-MgServicePrincipal -All:$true | ? {$_.Tags -eq "WindowsAzureActiveDirectoryIntegratedApp"}
- Gebruikerstoestemming
uitschakelen - Gebruikerstoestemming van geverifieerde uitgevers toestaan voor geselecteerde machtigingen (aanbevolen)
- Deze configureren in de gebruikerscontext
- Hun tokens gebruiken om de service-principal te activeren
Gebruik van een in code vastgelegd gedeeld geheim in een script met behulp van een service-principal Een certificaat gebruiken
Bijhouden wie het certificaat of het geheim gebruikt De aanmeldingen van de service-principal bewaken met behulp van de aanmeldingslogboeken van Microsoft Entra
Kan aanmelding met service-principal niet beheren met voorwaardelijke toegang De aanmeldingen bewaken met behulp van de aanmeldingslogboeken van Microsoft Entra
Inzender is de standaardrol op basis van op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) De behoeften evalueren en de minst mogelijke machtigingen toepassen

Meer informatie: Wat is voorwaardelijke toegang?

Overstappen van een gebruikersaccount naar een service-principal

Als u een Azure-gebruikersaccount als service-principal gebruikt, evalueert u of u kunt overstappen op een beheerde identiteit of een service-principal. Als u geen beheerde identiteit kunt gebruiken, verleent u een service-principal voldoende machtigingen en een bereik om de vereiste taken uit te voeren. U kunt een service-principal maken door een Toepassing te registreren of met PowerShell.

Wanneer u Microsoft Graph gebruikt, controleert u de API-documentatie. Zorg ervoor dat het machtigingstype voor de toepassing wordt ondersteund.
Zie ServicePrincipal maken

Meer informatie:

Volgende stappen

Meer informatie over service-principals:

Beveiligde serviceaccounts:

Voorwaardelijke toegang:

Gebruik Voorwaardelijke toegang om service-principals van niet-vertrouwde locaties te blokkeren.

Een beleid voor voorwaardelijke toegang op basis van een locatie maken