Partager via


Création d’une application de principal de service à l’aide de PowerShell

L’authentification via nom d’utilisateur et mot de passe n’est souvent pas idéale, en particulier avec la montée en puissance de l’authentification multifactorielle. Dans de tels cas, l’authentification du principal de service (ou du flux d’informations d’identification du client) est préférable. Pour ce faire, enregistrez une nouvelle application du principal de service dans votre propre client Microsoft Entra, puis enregistrez cette même application avec Power Platform.

Enregistrement d’une application de gestion administrative

Tout d’abord, l’application cliente doit être enregistrée dans votre client Microsoft Entra. Pour la définir, consultez l’article Authentification pour les API Power Platform, car la même configuration d’application est requise pour PowerShell.

Une fois votre application client enregistrée dans Microsoft Entra ID, elle doit également être enregistrée auprès de Microsoft Power Platform. Aujourd’hui, il n’y a aucun moyen de le faire via le centre d’administration Power Platform ; cela doit être fait par programmation via l’API Power Platform ou PowerShell pour les administrateurs Power Platform. Un principal de service ne peut pas s’enregistrer. De par sa conception, l’application doit être enregistrée dans un contexte de nom d’utilisateur et de mot de passe Administrateur. Cela garantit que l’application est créée par quelqu’un qui est un administrateur pour le client.

Pour enregistrer une nouvelle application de gestion, utilisez le script suivant :

$appId = "CLIENT_ID_FROM_AZURE_APP"

# Login interactively with a tenant administrator for Power Platform
Add-PowerAppsAccount -Endpoint prod -TenantID $tenantId 

# Register a new application, this gives the SPN / client application same permissions as a tenant admin
New-PowerAppManagementApp -ApplicationId $appId

Faire des demandes en tant que principal du service

Maintenant qu’il a été enregistré avec Microsoft Power Platform, vous pouvez vous authentifier en tant que principal du service lui-même. Utilisez le script suivant pour rechercher votre liste d’environnement :

$appId = "CLIENT_ID_FROM_AZURE_APP"
$secret = "SECRET_FROM_AZURE_APP"
$tenantId = "TENANT_ID_FROM_AZURE_APP"

Add-PowerAppsAccount -Endpoint prod -TenantID $tenantId -ApplicationId $appId -ClientSecret $secret -Verbose
Get-AdminPowerAppEnvironment

Limitations des principaux de service

Actuellement, l’authentification du principal de service fonctionne pour la gestion de l’environnement, les paramètres du client et la gestion Power Apps. Les applets de commande liées à Flow sont prises en charge pour l’authentification du principal du service dans les situations où une licence n’est pas requise, car il n’est pas possible d’attribuer des licences aux identités du principal du service dans Microsoft Entra ID.

Les applications du principal de service sont traitées dans Power Platform de la même manière que les utilisateurs normaux avec le rôle Administrateur Power Platform attribué. Des rôles et des autorisations granulaires ne peuvent pas être attribués pour limiter leurs capacités. Aucun rôle spécial n’est attribué à l’application dans Microsoft Entra ID, car c’est la façon dont les services de la plateforme traitent les demandes effectuées par les principaux de service.