Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans cet article, vous allez apprendre à créer une application personnalisée et à lui accorder des autorisations à l’aide de Microsoft Entra PowerShell. Ce processus implique la définition de rôles, l’attribution d’utilisateurs et de groupes et la définition des autorisations d’API pour gérer efficacement les ressources Microsoft Entra.
La compréhension de ces étapes est essentielle pour gérer en toute sécurité l’accès et s’assurer que les applications disposent des autorisations appropriées. Il permet de maintenir la sécurité et l’efficacité opérationnelle au sein de l’écosystème Microsoft Entra.
Prerequisites
Pour créer une application personnalisée et lui accorder des autorisations, vous avez besoin des éléments suivants :
- Un compte d’utilisateur Microsoft Entra. Si vous n’en avez pas encore, vous pouvez créer un compte gratuitement.
- L’un des rôles suivants :
- Étendues requises (PowerShell) :
AppRoleAssignment.ReadWrite.All,Application.ReadWrite.All,User.Read.AllGroup.Read.All,DelegatedPermissionGrant.ReadWrite.All
Créer une application à l’aide de PowerShell
Utilisez l’application personnalisée pour isoler et limiter les autorisations accordées pour une ressource Microsoft Entra.
# Connect to Entra with required scopes
Connect-Entra -Scopes 'Application.ReadWrite.All'
# Define application name and redirect URI
$appName = 'Entra PowerShell Helpdesk App'
$redirectUri = 'http://localhost'
# Create a new application
$app = New-EntraApplication -DisplayName $appName -PublicClient @{ RedirectUris = $redirectUri } -IsFallbackPublicClient $False
# Create a service principal for the application
$servicePrincipal = New-EntraServicePrincipal -AppId $app.AppId
Activer la fonctionnalité d’attribution requise à l’aide de PowerShell
# Set service principal parameters
Set-EntraServicePrincipal -ServicePrincipalId $servicePrincipal.Id -AppRoleAssignmentRequired $True
Affecter des utilisateurs et des groupes à l’aide de PowerShell
# Get a user and a group
$user = Get-EntraUser -UserId 'AdeleV@contoso.com'
$group = Get-EntraGroup -Search 'Sales and Marketing'
# Assign users and groups to the application
$emptyGuidUser = [Guid]::Empty.ToString()
New-EntraUserAppRoleAssignment -ObjectId $user.Id -PrincipalId $user.Id -ResourceId $servicePrincipal.Id -Id $emptyGuidUser
$emptyGuidGroup = [Guid]::Empty.ToString()
New-EntraGroupAppRoleAssignment -GroupId $group.Id -PrincipalId $group.Id -ResourceId $servicePrincipal.Id -Id $emptyGuidGroup
Définir les ressources et autorisations requises à l’aide de PowerShell
# Get Graph service principal
$graphApiId = '00000003-0000-0000-c000-000000000000'
$graphServicePrincipal = Get-EntraServicePrincipal -Filter "AppId eq '$graphApiId'"
$delegatedPermission = 'User.Read.All'
$app = Get-EntraApplication -Filter "DisplayName eq '$appName'"
# Create resource access object
$resourceAccessDelegated = New-Object Microsoft.Open.MSGraph.Model.ResourceAccess
$resourceAccessDelegated.Id = ((Get-EntraServicePrincipal -ServicePrincipalId $graphServicePrincipal.Id).Oauth2PermissionScopes | Where-Object { $_.Value -eq $delegatedPermission }).Id
$resourceAccessDelegated.Type = 'Scope'
# Create required resource access object
$requiredResourceAccessDelegated = New-Object Microsoft.Open.MSGraph.Model.RequiredResourceAccess
$requiredResourceAccessDelegated.ResourceAppId = $graphApiId
$requiredResourceAccessDelegated.ResourceAccess = $resourceAccessDelegated
# Set application required resource access
Set-EntraApplication -ApplicationId $app.Id -RequiredResourceAccess $requiredResourceAccessDelegated
Attribuer des autorisations d’API à l’application à l’aide de PowerShell
Vous pouvez affecter des autorisations déléguées ou des autorisations d’application à l’application.
$delegatedPermission = 'User.Read.All'
$graphApiId = '00000003-0000-0000-c000-000000000000'
$servicePrincipal = Get-EntraServicePrincipal -Filter "DisplayName eq '$appName'"
$graphServicePrincipal = Get-EntraServicePrincipal -Filter "AppId eq '$graphApiId'"
# Grant OAuth2 permission
New-EntraOauth2PermissionGrant -ClientId $servicePrincipal.Id -ConsentType 'AllPrincipals' -ResourceId $graphServicePrincipal.Id -Scope $delegatedPermission
Resources
Téléchargez et exécutez le script complet :
- Utilisez l’exemple de script create-custom-app-with-delegated-permissions pour créer une application personnalisée avec des autorisations déléguées.
- Utilisez l’exemple de script create-custom-app-with-application-permissions pour créer une application personnalisée avec des autorisations d’application.
Créer une application dans le centre d’administration Microsoft Entra
Pour créer des applications personnalisées pour la connexion à Microsoft Entra ID à l’aide de Microsoft Entra PowerShell, suivez les étapes décrites dans la section suivante. Utilisez l’application personnalisée pour isoler et limiter les autorisations accordées pour une ressource Microsoft Entra.
- Connectez-vous au Centre d’administration de Microsoft Entra au minimum en tant qu’Administrateur d’application cloud.
- Accédez à Identity>Applications>Inscriptions d’applications, puis sélectionnez Nouvelle inscription.
- Entrez un nom pour votre application, par exemple Entra PowerShell Five.
- Pour les types de comptes pris en charge, sélectionnez Comptes dans cet annuaire d’organisation.
- Pour sélectionner l’URI de redirection : - Client public/natif dans la liste déroulante - Valeur d’URI :
http://localhost - Sélectionnez Inscrire.
Note
Dans la section Vue d’ensemble de l’application, copiez l’ID d’application (ID client) et l’ID de répertoire (ID de locataire). Vous utilisez les valeurs lors de la connexion à Microsoft Entra ID.
Activer la fonctionnalité d’attribution requise dans le centre d’administration Microsoft Entra
Pour gérer les ressources auxquelles votre application accède dans votre locataire, recherchez le principal de service de l’application dans le volet Applications d’entreprise .
- Accédez à Identity>Applications>Applications d’entreprise>Toutes les applications, puis sélectionnez l’application que vous avez créée.
- Sous Gérer, sélectionnez Propriétés et définissez l’affectation requise ? sur Oui.
- Cliquez sur Enregistrer.
Affecter des utilisateurs et des groupes dans le centre d’administration Microsoft Entra
- Sous Gérer, sélectionnez Utilisateurs et groupes.
- Sélectionnez Ajouter un utilisateur/groupe et ajoutez les utilisateurs et les groupes autorisés à utiliser cette application.
- Une fois que vous avez ajouté tous les utilisateurs et groupes, sélectionnez Affecter.
Attribuer des autorisations d’API à l’application dans le centre d’administration Microsoft Entra
Vous devez configurer des autorisations Microsoft Graph pour que la nouvelle application se connecte à Microsoft Entra ID et gère les ressources Microsoft Entra.
- Accédez à Identity>Applications>App Registrations>All applications et sélectionnez l’application que vous avez créée.
- Sous Autorisations d’API, sélectionnez Ajouter une autorisation> Microsoft API > Microsoft Graph.
- Choisissez le type d’autorisations dont vous avez besoin, déléguées ou d’autorisations d’application.
- Si vous devez vous connecter à l’application pour gérer vos ressources dans Microsoft Entra ID, sélectionnez Autorisations déléguées.
- Si vous souhaitez que l’application accède à Microsoft Entra ressources par elle-même sans interaction utilisateur, sélectionnez autorisations d’application
- Recherchez l’autorisation requise, par exemple
User.Read.All. - Sélectionnez Accorder le consentement administrateur pour TenantName. Sélectionnez Oui. Vérifiez que l’état affiche une coche verte.
Se connecter à l’aide de la nouvelle application
Vous pouvez maintenant utiliser l’application nouvellement créée en vous connectant avec :
Connect-Entra -ClientId <Your_APPLICATION_Id_Here> -TenantId <Your_TENANT_Id_Here>
Pour plus d’options de connexion, consultez les détails de la commande Connect-Entra .