Accorder l’accès à l’API d’approvisionnement entrant

Introduction

Une fois que vous avez configuré l’application d’approvisionnement entrant pilotée par les API, vous devez accorder les autorisations d’accès permettant aux clients de l’API d’envoyer des demandes à l’API d’approvisionnement /bulkUpload et d’interroger l’API des journaux d’approvisionnement. Ce tutoriel décrit le processus de configuration de ces autorisations.

En fonction de la manière dont votre client API s'authentifie avec Microsoft Entra ID, vous pouvez choisir entre deux options de configuration :

Configurer un principal du service

Cette configuration enregistre une application dans Microsoft Entra ID qui représente le client API externe et lui accorde l'autorisation d'appeler l'API de provisionnement entrant. L'ID client principal du service et le secret client peuvent être utilisés dans le flux d'attribution des informations d'identification du client OAuth.

  1. Connectez-vous au centre d’administration Microsoft Entra (https://entra.microsoft.com) avec au moins des informations d’identification d’Administrateur d’application.
  2. Accédez à Microsoft Entra ID –>Applications –>Inscriptions d'applications.
  3. Cliquez sur l’option Nouvelle inscription.
  4. Indiquez un nom d’application, sélectionnez les options par défaut, puis cliquez sur Inscrire. Capture d’écran de l’inscription d’application.
  5. Copiez les valeurs de l’ID d’application (client) et de l’ID d’annuaire (locataire) du volet « Vue d’ensemble »  et enregistrez-les pour les utiliser ultérieurement avec le client de l’API. Capture d’écran de l’I de l’application.
  6. Dans le menu contextuel de l’application, sélectionnez l’option Certificats et secrets.
  7. Créez une clé secrète client. Fournissez une description du secret et la date d’expiration.
  8. Copiez la valeur générée de la clé secrète client et enregistrez-la pour l’utiliser ultérieurement avec le client de l’API.
  9. Dans le menu contextuel Autorisations de l’API, sélectionnez l’option Ajouter une autorisation.
  10. Sous Demander des autorisations d’API, sélectionnez Microsoft Graph.
  11. Sélectionnez Autorisations de l’application.
  12. Recherchez et sélectionnez les autorisations AuditLog.Read.All et SynchronizationData-User.Upload.
  13. Cliquez sur Accorder le consentement de l’administrateur dans l’écran suivant pour finaliser l’attribution d’autorisations. Cliquez sur « Oui » dans la boîte de dialogue de confirmation. Votre application doit comporter les jeux d’autorisations suivants. Capture d’écran des autorisations d’application.
  14. Vous êtes maintenant prêt à utiliser le principal de service avec le client de l’API.
  15. Pour les charges de travail de production, nous vous recommandons d’utiliser l’authentification basée sur les certificats client avec le principal de service ou les identités managées.

Configurer une identité managée

Cette section explique comment attribuer les autorisations nécessaires à une identité managée.

  1. Configurez une identité managée à utiliser avec votre ressource Azure.

  2. Copiez le nom de votre identité managée à partir du Centre d’administration Microsoft Entra. Par exemple : la capture d’écran ci-dessous représente le nom d’une identité managée affectée par le système associée à un workflow Azure Logic Apps appelé « CSV2SCIMBulkUpload ».

    Capture d’écran d’une identité managée.

  3. Exécutez le script PowerShell suivant pour attribuer des autorisations à l’identité managée.

    Install-Module Microsoft.Graph -Scope CurrentUser
    
    Connect-MgGraph -Scopes "Application.Read.All","AppRoleAssignment.ReadWrite.All,RoleManagement.ReadWrite.Directory"
    $graphApp = Get-MgServicePrincipal -Filter "AppId eq '00000003-0000-0000-c000-000000000000'"
    
    $PermissionName = "SynchronizationData-User.Upload"
    $AppRole = $graphApp.AppRoles | `
    Where-Object {$_.Value -eq $PermissionName -and $_.AllowedMemberTypes -contains "Application"}
    $managedID = Get-MgServicePrincipal -Filter "DisplayName eq 'CSV2SCIMBulkUpload'"
    New-MgServicePrincipalAppRoleAssignment -PrincipalId $managedID.Id -ServicePrincipalId $managedID.Id -ResourceId $graphApp.Id -AppRoleId $AppRole.Id
    
    $PermissionName = "AuditLog.Read.All"
    $AppRole = $graphApp.AppRoles | `
    Where-Object {$_.Value -eq $PermissionName -and $_.AllowedMemberTypes -contains "Application"}
    $managedID = Get-MgServicePrincipal -Filter "DisplayName eq 'CSV2SCIMBulkUpload'"
    New-MgServicePrincipalAppRoleAssignment -PrincipalId $managedID.Id -ServicePrincipalId $managedID.Id -ResourceId $graphApp.Id -AppRoleId $AppRole.Id
    
  4. Pour confirmer que l'autorisation a été appliquée, recherchez le principal du service d'identité géré sous Applications d'entreprise dans Microsoft Entra ID. Supprimez le filtre Type d’application pour afficher tous les principaux de service. Capture d’écran du principal de l’identité managée.

  5. Cliquez sur le volet Autorisations sous Sécurité. Vérifiez que l’autorisation est définie. Capture d’écran des autorisations de l’identité managée.

  6. Vous êtes maintenant prêt à utiliser l’identité managée avec le client de l’API.

Étapes suivantes