Tutoriel : configurer les services d’identité de SAP Cloud pour l’approvisionnement automatique d’utilisateurs

Ce tutoriel présente les étapes de configuration de l’approvisionnement de Microsoft Entra ID vers SAP Cloud Identity Services. L’objectif est de configurer Microsoft Entra ID pour approvisionner et supprimer les privilèges d’accès automatiquement les utilisateurs de SAP Cloud Identity Services, afin que ces utilisateurs puissent s’authentifier auprès de SAP Cloud Identity Services et avoir accès à d’autres charges de travail SAP. SAP Cloud Identity Services prend en charge l’approvisionnement à partir de son répertoire d’identité local vers d’autres applications SAP en tant que systèmes cibles.

Remarque

Ce tutoriel décrit un connecteur intégré au service d’approvisionnement des utilisateurs de Microsoft Entra. Pour découvrir les informations importantes sur ce que fait ce service, comment il fonctionne et consulter le forum aux questions, reportez-vous à l’article Automatiser l’approvisionnement et le désapprovisionnement d’utilisateurs dans les applications SaaS avec Microsoft Entra ID. SAP Cloud Identity Services dispose également de son propre connecteur distinct pour lire les utilisateurs et les groupes à partir de Microsoft Entra ID. Pour plus d’informations, consultez SAP Cloud Identity Services - Approvisionnement d’identités - Microsoft Entra ID en tant que système source.

Prérequis

Le scénario décrit dans ce tutoriel part du principe que vous disposez des prérequis suivants :

Remarque

Cette intégration est également disponible à partir de l’environnement Microsoft Entra US Government Cloud. Vous pouvez trouver cette application dans la galerie d’applications Microsoft Entra US Government Cloud et la configurer de la même manière que vous le faites à partir de l’environnement cloud public.

Si vous configurez l’approvisionnement dans SAP Cloud Identity Services dans un environnement de production, où vous régirez l’accès aux charges de travail SAP à l’aide de Azure Active Directory Identity Governance, évaluez les conditions préalables à la configuration de Microsoft Entra ID pour la gouvernance des identités avant de poursuivre.

Configurer les services d’identité de SAP Cloud pour l’approvisionnement

  1. Connectez-vous à votre console d’administration de SAP Cloud Identity Services, https://<tenantID>.accounts.ondemand.com/admin ou https://<tenantID>.trial-accounts.ondemand.com/admin en cas d’essai gratuit. Accédez à Utilisateurs et autorisations > Administrateurs.

    Capture d’écran du console d’administration de services d’identité de SAP Cloud.

  2. Appuyez sur le bouton +Add (+Ajouter) dans le panneau de gauche afin d’ajouter un nouvel administrateur à la liste. Choisissez Add System (Ajouter un système) et entrez le nom du système.

    Remarque

    L’identité d’administrateur(-trice) dans les services d’identité de SAP Cloud doit être de type Système. Un(e) utilisateur(-trice) administrateur(-trice) ne pourra pas s’authentifier auprès de l’API SAP SCIM lors de l’approvisionnement. SAP Cloud Identity Services n’autorise pas la modification du nom d’un système après sa création.

  3. Sous Configurer les autorisations, activez le bouton bascule en regard de Gérer les utilisateurs. Ensuite, cliquez sur Enregistrer pour créer le système.

    Capture d’écran montrant comment ajouter le SCIM dans les services d’identité de SAP Cloud.

  4. Une fois le système administrateur créé, ajoutez un nouveau secret à ce système.

  5. Copiez l’identifiant et le secret du client générés par SAP. Ces valeurs seront entrées respectivement dans les champs Nom d’utilisateur de l’administrateur(-trice) et Mot de passe de l’administrateur(-trice). Cette opération s’effectue dans l’onglet Approvisionnement de votre application SAP Cloud Identity Services, que vous allez configurer dans la section suivante.

  6. SAP Cloud Identity Services peut avoir des mappages à une ou plusieurs applications SAP en tant que systèmes cibles. Vérifiez s’il existe des attributs sur les utilisateurs dont ces applications SAP ont besoin pour être approvisionnées via SAP Cloud Identity Services. Ce didacticiel suppose que SAP Cloud Identity Services et les systèmes cibles en aval nécessitent deux attributs, userName et emails[type eq "work"].value. Si vos systèmes cibles SAP nécessitent d’autres attributs et que ceux-ci ne font pas partie de votre schéma d’utilisateur Microsoft Entra ID, vous devrez peut-être configurer des attributs d’extension de synchronisation.

Avant de configurer Microsoft Entra ID pour avoir un approvisionnement automatique des utilisateurs dans SAP Cloud Identity Services, vous devez ajouter SAP Cloud Identity Services de la galerie d’applications Microsoft Entra à la liste des applications d’entreprise de votre locataire. Vous pouvez effectuer cette étape dans le centre d’administration Microsoft Entra ou via l’API Graph.

Si SAP Cloud Identity Services est déjà configuré pour la signature unique à partir de Microsoft Entra et qu’une application est déjà présente dans votre liste d’applications d’entreprise Microsoft Entra, passez à la section suivante.

Pour ajouter SAP Cloud Identity Services à partir de la galerie d’applications Microsoft Entra à l’aide du centre d’administration Microsoft Entra, procédez comme suit :

  1. Connectez-vous au Centre d’administration de Microsoft Entra au minimum en tant qu’Administrateur d’application cloud.
  2. Accédez à Identité>Applications>Applications d’entreprise>Nouvelle application.
  3. Pour ajouter l’application à partir de la galerie, tapez SAP Cloud Identity Services dans la zone de recherche.
  4. Sélectionnez SAP Cloud Identity Services dans le volet d’informations, puis ajoutez l’application. Patientez quelques secondes pendant que l’application est ajoutée à votre locataire.

Configurez l’approvisionnement automatique d’utilisateurs pour les services d’identité de SAP Cloud

Cette section vous guide dans les étapes de configuration du service d’approvisionnement de Microsoft Entra pour créer, mettre à jour et désactiver des utilisateurs dans SAP Cloud Identity Services en fonction des affectations d’utilisateurs à une application dans Microsoft Entra ID.

Pour configurer l’approvisionnement automatique d’utilisateurs pour les services d’identité de SAP Cloud dans Microsoft Entra ID :

  1. Connectez-vous au Centre d’administration de Microsoft Entra au minimum en tant qu’Administrateur d’application cloud.

  2. Accédez à Identité>Applications>Applications d’entreprise.

    Capture d’écran du volet Applications d’entreprise.

  3. Dans la liste des applications, sélectionnez l’application, SAP Cloud Identity Services.

    Capture d’écran du lien des services d’identité de SAP Cloud la liste des applications.

  4. Sélectionnez l’onglet Propriétés.

  5. Vérifiez que l’option Affectation requise ? est définie sur Oui. Si elle est définie sur Non, tous les utilisateurs de votre répertoire, y compris les identités externes, peuvent accéder à l’application et vous ne pouvez pas réviser l’accès à l’application.

  6. Sélectionnez l’onglet Approvisionnement.

    Capture d’écran des options Gérer avec l’option Provisionnement en évidence.

  7. Définissez le Mode d’approvisionnement sur Automatique.

    Capture d’écran de la liste déroulante Mode de provisionnement avec l’option Automatique en évidence.

  8. Sous la section Informations d’identification de l’administrateur(-trice), entrez https://<tenantID>.accounts.ondemand.com/service/scimou https://<tenantid>.trial-accounts.ondemand.com/service/scim si une version d’évaluation est associée à l’ID de locataire de vos services SAP Cloud Identity Services dans URL du locataire. Entrez les valeurs ID client et clé secrète client récupérées plus tôt dans les champs Nom d’utilisateur de l’administrateur(-trice) et Mot de passe de l’administrateur(-trice), respectivement. Cliquez sur Tester la connexion pour vérifier que Microsoft Entra ID peut se connecter aux services d’identité de SAP Cloud. Si la connexion échoue, assurez-vous que votre compte système SAP Cloud Identity Services dispose des autorisations d’administration, que le secret est toujours valide et réessayez.

    Capture d’écran de l’URL du locataire et du jeton.

  9. Dans le champ E-mail de notification, entrez l’adresse e-mail d’une personne ou d’un groupe qui doit recevoir les notifications d’erreur d’approvisionnement, puis cochez la case Envoyer une notification par e-mail en cas de défaillance.

    Capture d’écran de l’e-mail de notification.

  10. Cliquez sur Enregistrer.

  11. Dans la section Mappages, sélectionnez Affecter les utilisateurs Microsoft Entra.

    Capture d’écran du mappage d'utilisateur des services d’identité de SAP Cloud.

  12. Dans la section Mappages des attributs, passez en revue les attributs d’utilisateur qui sont synchronisés entre Microsoft Entra ID et les services d’identité de SAP Cloud. Si vous ne voyez pas l’attribut dans votre SAP Cloud Identity Services disponible en tant que cible pour le mappage, sélectionnez Afficher les options avancées, puis Modifier la liste des attributs pour SAP Cloud Platform Identity Authentication Service pour modifier la liste des attributs pris en charge. Ajoutez les attributs de votre locataire SAP Cloud Identity Services.

  13. Évaluez et enregistrez les attributs source et cible sélectionnés comme Propriétés de correspondance, mappages ayant une priorité Correspondance, car ces attributs sont utilisés pour faire correspondre les comptes d’utilisateur dans SAP Cloud Identity Services pour le service de provisionnement Microsoft Entra pour déterminer s’il faut créer un(e) utilisateur(-trice) ou mettre à jour un(e) utilisateur(-trice) existant(e). Pour plus d’informations sur la correspondance, consultez Correspondance des utilisateurs dans les systèmes source et cible. Dans une étape suivante, vous allez vous assurer que tous les utilisateurs déjà dans SAP Cloud Identity Services ont les attributs sélectionnés en tant que propriétés de correspondance remplies, pour empêcher la création d’utilisateurs en double.

  14. Confirmez qu’il existe une correspondance d’attribut pour IsSoftDeleted, ou qu’une fonction contenant IsSoftDeleted, est associée à un attribut de l’application. Lorsqu’un(e) utilisateur(-trice) est désaffecté(e) de l’application, supprimé(e) dans Microsoft Entra ID ou bloqué(e), le service d’approvisionnement de Microsoft Entra met à jour l’attribut mappé à isSoftDeleted. Si aucun attribut n’est mappé, les utilisateurs qui font par la suite l’objet d’une annulation d’attribution de rôle de l’application continuent d’exister dans le magasin de données de l’application.

  15. Ajoutez tous les mappages supplémentaires requis par vos services SAP Cloud Identity Services ou systèmes SAP cibles en aval.

  16. Cliquez sur le bouton Enregistrer pour valider les modifications.

    Attribut Type Pris en charge pour le filtrage Requis par SAP Cloud Identity Services
    userName Chaîne
    emails[type eq "work"].value String
    active Boolean
    displayName Chaîne
    urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:manager Référence
    addresses[type eq "work"].country Chaîne
    addresses[type eq "work"].locality String
    addresses[type eq "work"].postalCode String
    addresses[type eq "work"].region String
    addresses[type eq "work"].streetAddress String
    name.givenName String
    name.familyName String
    name.honorificPrefix String
    phoneNumbers[type eq "fax"].value String
    phoneNumbers[type eq "mobile"].value String
    phoneNumbers[type eq "work"].value String
    urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:costCenter String
    urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department String
    urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:division String
    urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:employeeNumber String
    urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:organization String
    locale String
    timezone String
    userType String
    company String
    urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute1 String
    urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute2 String
    urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute3 String
    urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute4 String
    urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute5 String
    urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute6 String
    urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute7 String
    urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute8 String
    urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute9 String
    urn:sap:cloud:scim:schemas:extension:custom:2.0:User:attributes:customAttribute10 String
    sendMail String
    mailVerified Chaîne
  17. Pour configurer des filtres d’étendue, reportez-vous aux instructions suivantes fournies dans Approvisionnement d’applications basé sur les attributs avec filtres d’étendue.

  18. Si vous souhaitez activer le service d’approvisionnement Microsoft Entra pour les services d’identité de SAP Cloud, modifiez l’état d’approvisionnement pour Activé dans la section Paramètres.

    Capture d’écran du bouton bascule État de provisionnement activé.

  19. Pour la valeur d’étendue dans la section Paramètres, sélectionnez Synchroniser uniquement les utilisateurs et les groupes affectés.

    Capture d’écran de l’Étendue de l’approvisionnement.

  20. Lorsque vous êtes prêt à effectuer l’approvisionnement, cliquez sur Enregistrer.

    Capture d’écran de Enregistrement de la configuration du provisionnement.

Cette opération démarre la synchronisation initiale de tous les utilisateurs définis sous Étendue dans la section Paramètres. Si l’étendue est définie sur Synchroniser uniquement les utilisateurs et les groupes affectés et qu’aucun(e) utilisateur(e) ni groupe n’ont été affectés à l’application, aucune synchronisation ne se produit, tant que les utilisateurs n’ont pas été affectés à l’application.

Approvisionner un(e) nouvel(le) utilisateur(-trice) test de Microsoft Entra ID vers SAP Cloud Identity Services

Il est recommandé d’affecter un(e) seul(e) nouvel(-le) utilisateur(-trice) de test Microsoft Entra à SAP Cloud Identity Services pour tester la configuration d’approvisionnement automatique des utilisateurs.

  1. Connectez-vous au Centre d’administration Microsoft Entra en tant qu’administrateur(-trice) d’application cloud et administrateur(-trice) d’utilisateur(-trice).
  2. Accédez à Identité>Utilisateurs>Tous les utilisateurs.
  3. Sélectionnez Nouvel utilisateur>Créer un nouvel utilisateur.
  4. Saisissez le nom d’utilisateur principal et le nom d’affichage du ou de la nouvel(-le) utilisateur(-trice) test. Le nom d’utilisateur principal doit être unique et non identique à l’utilisateur(-trice) Microsoft Entra actuel ou précédent ou à l’utilisateur(-trice) SAP Cloud Identity Services. Sélectionnez Vérifier + créer, puis Créer.
  5. Une fois l’utilisateur(-trice) test est créé, accédez à Identité>Applications>Applications d’entreprise.
  6. Sélectionnez l’application SAP Cloud Identity Services.
  7. Sélectionnez Utilisateurs et groupes, puis Ajouter un(e) utilisateur(-trice)/groupe.
  8. Dans le Utilisateurs et groupes, sélectionnez Aucun(e) sélectionné(e), puis, dans la zone de texte, tapez le nom d’utilisateur principal de l’utilisateur(-trice) de test.
  9. SélectionnezSélectionner, puis sur Affecter.
  10. Sélectionnez Approvisionnement, puis Approvisionner à la demande.
  11. Dans le Sélectionnez un(e) utilisateur(-trice) ou un groupe zone de texte, tapez le nom d’utilisateur principal de l’utilisateur(-trice) de test.
  12. Cliquez sur Approvisionner.
  13. Attendez la fin du déploiement. En cas de succès, le message Modified attributes (successful) s’affiche.

Vous pouvez également vérifier ce que le service d’approvisionnement Microsoft Entra fournira lorsqu’un(e) utilisateur(-trice) sort de l’étendue de l’application.

  1. Sélectionnez Utilisateurs et groupes.
  2. Sélectionnez l’utilisateur(-trice) test, puis Supprimer.
  3. Une fois l’utilisateur(-trice) test est supprimé. sélectionnez Approvisionnement, puis Approvisionner à la demande.
  4. Dans le Sélectionnez un(e) utilisateur(-trice) ou un groupe zone de texte, tapez le nom d’utilisateur principal de l’utilisateur(-trice) de test qui vient d’être désaffecté(e).
  5. Cliquez sur Approvisionner.
  6. Attendez la fin du déploiement.

Enfin, vous pouvez supprimer l’utilisateur(-trice) test de Microsoft Entra ID.

  1. Accédez à Identité>Utilisateurs>Tous les utilisateurs.
  2. Sélectionnez l’utilisateur(-trice) de test, sélectionnez Supprimer, puis OK. Cette action supprime l’utilisateur(-trice) de test de Microsoft Entra ID.

Vous pouvez également supprimer l’utilisateur(-trice) de test de SAP Cloud Identity Services.

Vérifiez que les utilisateurs SAP Cloud Identity Services existants ont les attributs de correspondance nécessaires

Avant d’affecter des utilisateurs non test à l’application SAP Cloud Identity Services dans Microsoft Entra ID, vous devez vous assurer que tous les utilisateurs déjà présents dans SAP Cloud Identity Services qui représentent les mêmes personnes que les utilisateurs de Microsoft Entra ID, ont les attributs de mappage remplis dans SAP Cloud Identity Services.

Dans le mappage de provisionnement, les attributs sélectionnés comme propriétés de correspondance sont utilisés pour faire correspondre les comptes d’utilisateurs dans Microsoft Entra ID avec les comptes d’utilisateurs dans SAP Cloud Identity Services. S’il existe un(e) utilisateur(-trice) dans Microsoft Entra ID sans correspondance dans SAP Cloud Identity Services, le service d’approvisionnement de Microsoft Entra tentera de créer un(e) nouvel(-le) utilisateur(-trice). S’il existe un(e) utilisateur(-trice) dans Microsoft Entra ID et une correspondance dans SAP Cloud Identity Services, le service d’approvisionnement de Microsoft Entra tentera de créer un(e) nouvel(-le) utilisateur(-trice). Pour cette raison, vous devez vous assurer que les attributs sélectionnés comme propriétés de correspondance sont remplis pour les utilisateurs déjà présents dans SAP Cloud Identity Services, sinon des utilisateurs en double risquent d’être créés. Si vous devez modifier l’attribut de correspondance dans votre mappage d’attributs d’application Microsoft Entra, consultez les utilisateurs de correspondance dans les systèmes source et cible.

  1. Connectez-vous à votre console d’administration de SAP Cloud Identity Services, https://<tenantID>.accounts.ondemand.com/admin ou https://<tenantID>.trial-accounts.ondemand.com/admin en cas d’essai gratuit.

  2. Accédez à Utilisateurs et autorisations > Exporter des utilisateurs.

  3. Sélectionnez tous les attributs requis pour la mise en correspondance des utilisateurs Microsoft Entra avec ceux de SAP. Ces attributs comprennent SCIM ID, userName et emails d’autres attributs que vous utilisez peut-être dans vos Systèmes SAP en tant qu’identifiants.

  4. Sélectionnez Exporter et attendre que le navigateur télécharge le fichier CSV.

  5. Ouvrez une fenêtre PowerShell.

  6. Tapez le script suivant dans un éditeur. Dans la ligne 1, si vous avez sélectionné un attribut de correspondance différent de userName, remplacez la valeur de la variable sapScimUserNameField par le nom de l’attribut SAP Cloud Identity Services. À la ligne 2, remplacez l’argument par le nom du fichier CSV exporté de Users-exported-from-sap.csv par le nom de votre fichier téléchargé.

    $sapScimUserNameField = "userName"
    $existingSapUsers = import-csv -Path ".\Users-exported-from-sap.csv" -Encoding UTF8
    $count = 0
    $warn = 0
    foreach ($u in $existingSapUsers) {
     $id = $u.id
     if (($null -eq $id) -or ($id.length -eq 0)) {
         write-error "Exported CSV file does not contain the id attribute of SAP Cloud Identity Services users."
         throw "id attribute not available, re-export"
         return
     }
     $count++
     $userName = $u.$sapScimUserNameField
     if (($null -eq $userName) -or ($userName.length -eq 0)) {
         write-warning "SAP Cloud Identity Services user $id does not have a $sapScimUserNameField attribute populated"
         $warn++
     }
    }
    write-output "$warn of $count users in SAP Cloud Identity Services did not have the $sapScimUserNameFIeld attribute populated."
    
  7. Exécutez le script. Une fois le script terminé, s’il y avait un ou plusieurs utilisateurs qui n’avaient pas l’attribut correspondant requis, recherchez ces utilisateurs dans le fichier CSV exporté ou dans la console d’administration SAP Cloud Identity Services. Si ces utilisateurs sont également présents dans Microsoft Entra, vous devez d’abord mettre à jour la représentation SAP Cloud Identity Services de ces utilisateurs afin qu’ils aient l’attribut de correspondance renseigné.

  8. Une fois que vous avez mis à jour les attributs de ces utilisateurs dans SAP Cloud Identity Services, réexportez les utilisateurs de SAP Cloud Identity Services, comme décrit dans les étapes 2 à 5 et les étapes PowerShell de cette section, pour confirmer qu’aucun(e) utilisateur(-trice) de SAP Cloud Identity Services ne manque d’attributs de correspondance qui empêcheraient l’approvisionnement de ces utilisateurs.

Maintenant que vous disposez d’une liste de tous les utilisateurs obtenue auprès de SAP Cloud Identity Services, vous allez faire correspondre ces utilisateurs du magasin de données de l’application, avec les utilisateurs déjà présents dans Microsoft Entra ID, afin de déterminer quels utilisateurs doivent être dans le champ d’application d’approvisionnement.

Récupérer les ID des utilisateurs dans Microsoft Entra ID

Cette section montre comment interagir avec Microsoft Entra ID à l’aide de cmdlets Microsoft Graph PowerShell.

La première fois que votre organisation utilise ces cmdlets pour ce scénario, vous devez avoir un rôle d’administrateur général pour autoriser l’utilisation de Microsoft Graph PowerShell dans votre locataire. Les interactions suivantes peuvent utiliser un rôle avec des privilèges inférieurs, par exemple :

  • Administrateur d’utilisateurs si vous prévoyez de créer des utilisateurs
  • Administrateur d’application ou Administrateur de gouvernance des identités si vous gérez simplement des attributions de rôles d’application
  1. Ouvrez PowerShell.

  2. Si les modules Microsoft Graph PowerShell ne sont pas déjà installés, installez le module Microsoft.Graph.Users et les autres à l’aide de cette commande :

    Install-Module Microsoft.Graph
    

    Si les modules sont déjà installés, vérifiez que vous utilisez une version récente :

    Update-Module microsoft.graph.users,microsoft.graph.identity.governance,microsoft.graph.applications
    
  3. Connectez-vous à Microsoft Entra ID :

    $msg = Connect-MgGraph -ContextScope Process -Scopes "User.ReadWrite.All,Application.ReadWrite.All,AppRoleAssignment.ReadWrite.All,EntitlementManagement.ReadWrite.All"
    
  4. Si c’est la première fois que vous utilisez cette commande, vous devrez peut-être consentir à ce que les outils en ligne de commande Microsoft Graph disposent de ces autorisations.

  5. Lisez la liste des utilisateurs obtenue à partir du magasin de données de l’application dans la session PowerShell. Si la liste des utilisateurs était stockée dans un fichier CSV, vous pouvez utiliser la cmdlet PowerShell Import-Csv et fournir le nom du fichier de la section précédente comme argument.

    Par exemple, si le fichier obtenu depuis SAP Cloud Identity Services se nomme Users-exported-from-sap.csv et se trouve dans le répertoire actif, entrez cette commande.

    $filename = ".\Users-exported-from-sap.csv"
    $dbusers = Import-Csv -Path $filename -Encoding UTF8
    

    Dans le cas où vous utilisez une base de données ou un répertoire, si le fichier est nommé users.csv et se trouve dans le répertoire actif, entrez cette commande :

    $filename = ".\users.csv"
    $dbusers = Import-Csv -Path $filename -Encoding UTF8
    
  6. Choisissez la colonne du fichier users.csv qui correspond à un attribut d’un utilisateur dans Microsoft Entra ID.

    Si vous utilisez SAP Cloud Identity Services, l’attribut SAP SCIM userName et l’attribut Microsoft Entra ID userPrincipalName sont mappés par défaut :

    $db_match_column_name = "userName"
    $azuread_match_attr_name = "userPrincipalName"
    

    Dans le cas où vous utilisez une base de données ou un répertoire, vous pouvez avoir dans la base de données des utilisateurs dont la valeur dans la colonne nommée EMail est identique à celle contenue dans l’attribut Microsoft Entra userPrincipalName :

    $db_match_column_name = "EMail"
    $azuread_match_attr_name = "userPrincipalName"
    
  7. Récupérez les ID de ces utilisateurs dans Microsoft Entra ID.

    Le script PowerShell suivant utilise les valeurs $dbusers, $db_match_column_nameet $azuread_match_attr_name spécifiées précédemment. Le système interroge Microsoft Entra ID pour localiser un utilisateur ayant un attribut avec une valeur correspondante pour chaque enregistrement du fichier source. Si de nombreux utilisateurs existent dans le fichier obtenu depuis la source SAP Cloud Identity Services, la base de données ou le répertoire, ce script peut prendre plusieurs minutes. Si aucun attribut dans Microsoft Entra ID n’a cette valeur et que vous devez utiliser une expression contains ou une autre expression de filtre, vous devez personnaliser ce script et celui de l’étape 11 plus bas.

    $dbu_not_queried_list = @()
    $dbu_not_matched_list = @()
    $dbu_match_ambiguous_list = @()
    $dbu_query_failed_list = @()
    $azuread_match_id_list = @()
    $azuread_not_enabled_list = @()
    $dbu_values = @()
    $dbu_duplicate_list = @()
    
    foreach ($dbu in $dbusers) { 
       if ($null -ne $dbu.$db_match_column_name -and $dbu.$db_match_column_name.Length -gt 0) { 
          $val = $dbu.$db_match_column_name
          $escval = $val -replace "'","''"
          if ($dbu_values -contains $escval) { $dbu_duplicate_list += $dbu; continue } else { $dbu_values += $escval }
          $filter = $azuread_match_attr_name + " eq '" + $escval + "'"
          try {
             $ul = @(Get-MgUser -Filter $filter -All -Property Id,accountEnabled -ErrorAction Stop)
             if ($ul.length -eq 0) { $dbu_not_matched_list += $dbu; } elseif ($ul.length -gt 1) {$dbu_match_ambiguous_list += $dbu } else {
                $id = $ul[0].id; 
                $azuread_match_id_list += $id;
                if ($ul[0].accountEnabled -eq $false) {$azuread_not_enabled_list += $id }
             } 
          } catch { $dbu_query_failed_list += $dbu } 
        } else { $dbu_not_queried_list += $dbu }
    }
    
    
  8. Examinez les résultats des requêtes précédentes. Vérifiez si l’un des utilisateurs de SAP Cloud Identity Services, de la base de données ou du répertoire n’a pas pu être localisé dans Microsoft Entra ID en raison d’erreurs ou de correspondances manquantes.

    Le script PowerShell suivant affiche le nombre d’enregistrements qui n’ont pas été localisés :

    $dbu_not_queried_count = $dbu_not_queried_list.Count
    if ($dbu_not_queried_count -ne 0) {
      Write-Error "Unable to query for $dbu_not_queried_count records as rows lacked values for $db_match_column_name."
    }
    $dbu_duplicate_count = $dbu_duplicate_list.Count
    if ($dbu_duplicate_count -ne 0) {
      Write-Error "Unable to locate Microsoft Entra ID users for $dbu_duplicate_count rows as multiple rows have the same value"
    }
    $dbu_not_matched_count = $dbu_not_matched_list.Count
    if ($dbu_not_matched_count -ne 0) {
      Write-Error "Unable to locate $dbu_not_matched_count records in Microsoft Entra ID by querying for $db_match_column_name values in $azuread_match_attr_name."
    }
    $dbu_match_ambiguous_count = $dbu_match_ambiguous_list.Count
    if ($dbu_match_ambiguous_count -ne 0) {
      Write-Error "Unable to locate $dbu_match_ambiguous_count records in Microsoft Entra ID as attribute match ambiguous."
    }
    $dbu_query_failed_count = $dbu_query_failed_list.Count
    if ($dbu_query_failed_count -ne 0) {
      Write-Error "Unable to locate $dbu_query_failed_count records in Microsoft Entra ID as queries returned errors."
    }
    $azuread_not_enabled_count = $azuread_not_enabled_list.Count
    if ($azuread_not_enabled_count -ne 0) {
     Write-Error "$azuread_not_enabled_count users in Microsoft Entra ID are blocked from sign-in."
    }
    if ($dbu_not_queried_count -ne 0 -or $dbu_duplicate_count -ne 0 -or $dbu_not_matched_count -ne 0 -or $dbu_match_ambiguous_count -ne 0 -or $dbu_query_failed_count -ne 0 -or $azuread_not_enabled_count) {
     Write-Output "You will need to resolve those issues before access of all existing users can be reviewed."
    }
    $azuread_match_count = $azuread_match_id_list.Count
    Write-Output "Users corresponding to $azuread_match_count records were located in Microsoft Entra ID." 
    
  9. Quand le script est terminé, il indique une erreur si des enregistrements de la source de données n’ont pas été localisés dans Microsoft Entra ID. Si certains enregistrements d’utilisateurs du magasin de données de l’application n’ont pas pu être localisés comme utilisateurs dans Microsoft Entra ID, vous devez investiguer les enregistrements qui n’ont pas eu de correspondance et pourquoi.

    Par exemple, l’adresse e-mail et le userPrincipalName d’une personne ont sans doute été modifiés dans Microsoft Entra ID sans que sa propriété mail correspondante ait été mise à jour dans la source de données de l’application. Ou encore, l’utilisateur peut avoir déjà quitté l’organisation et figurer encore dans la source de données de l’application. Autre possibilité : la source de données de l’application contient un compte fournisseur ou de super administrateur qui ne correspond à aucune personne précise dans Microsoft Entra ID.

  10. Si certains utilisateurs n’ont pas pu être localisés dans Microsoft Entra ID ou n’étaient pas actifs et en mesure de se connecter, mais que vous souhaitez que leur accès soit révisé ou que leurs attributs soient mis à jour dans SAP Cloud Identity Services, la base de données ou le répertoire, vous devez mettre à jour l’application, la règle de correspondance, ou mettre à jour ou créer des utilisateurs Microsoft Entra pour eux. Pour plus d’informations sur les modifications à apporter, consultez Gérer les mappages et les comptes d’utilisateur dans les applications qui ne correspondent pas à des utilisateurs dans Microsoft Entra ID.

    Si vous choisissez de créer des utilisateurs dans Microsoft Entra ID, vous pouvez le faire en bloc en utilisant l’une des options suivantes :

    Veillez à ce que ces nouveaux utilisateurs soient renseignés avec les attributs nécessaires à Microsoft Entra ID pour les mettre en correspondance par la suite avec les utilisateurs existants de l’application et avec les attributs nécessaires à Microsoft Entra ID, y compris userPrincipalName, mailNickname et displayName. Le userPrincipalName doit être unique parmi tous les utilisateurs de l’annuaire.

    Par exemple, vous pouvez avoir des utilisateurs dans la base de données où la valeur dans la colonne nommée EMail est celle que vous voulez utiliser comme nom d’utilisateur principal Microsoft Entra, où la valeur dans la colonne Alias contient le pseudonyme de messagerie Microsoft Entra ID et où la valeur dans la colonne Full name contient le nom complet de l’utilisateur :

    $db_display_name_column_name = "Full name"
    $db_user_principal_name_column_name = "Email"
    $db_mail_nickname_column_name = "Alias"
    

    Vous pouvez ensuite utiliser ce script pour créer des utilisateurs Microsoft Entra pour ceux présents dans SAP Cloud Identity Services, la base de données ou le répertoire et qui ne correspondaient pas à des utilisateurs dans Microsoft Entra ID. Notez qu’il peut être nécessaire de modifier ce script pour ajouter des attributs Microsoft Entra supplémentaires nécessaires dans votre organisation, ou si le $azuread_match_attr_name n’est ni mailNickname ni userPrincipalName, pour fournir cet attribut Microsoft Entra.

    $dbu_missing_columns_list = @()
    $dbu_creation_failed_list = @()
    foreach ($dbu in $dbu_not_matched_list) {
       if (($null -ne $dbu.$db_display_name_column_name -and $dbu.$db_display_name_column_name.Length -gt 0) -and
           ($null -ne $dbu.$db_user_principal_name_column_name -and $dbu.$db_user_principal_name_column_name.Length -gt 0) -and
           ($null -ne $dbu.$db_mail_nickname_column_name -and $dbu.$db_mail_nickname_column_name.Length -gt 0)) {
          $params = @{
             accountEnabled = $false
             displayName = $dbu.$db_display_name_column_name
             mailNickname = $dbu.$db_mail_nickname_column_name
             userPrincipalName = $dbu.$db_user_principal_name_column_name
             passwordProfile = @{
               Password = -join (((48..90) + (96..122)) * 16 | Get-Random -Count 16 | % {[char]$_})
             }
          }
          try {
            New-MgUser -BodyParameter $params
          } catch { $dbu_creation_failed_list += $dbu; throw }
       } else {
          $dbu_missing_columns_list += $dbu
       }
    }
    
  11. Après avoir ajouté les éventuels utilisateurs manquants à Microsoft Entra ID, réexécutez le script de l’étape 7. Exécutez ensuite le script de l’étape 8. Vérifiez qu’aucune erreur n’est signalée.

    $dbu_not_queried_list = @()
    $dbu_not_matched_list = @()
    $dbu_match_ambiguous_list = @()
    $dbu_query_failed_list = @()
    $azuread_match_id_list = @()
    $azuread_not_enabled_list = @()
    $dbu_values = @()
    $dbu_duplicate_list = @()
    
    foreach ($dbu in $dbusers) { 
       if ($null -ne $dbu.$db_match_column_name -and $dbu.$db_match_column_name.Length -gt 0) { 
          $val = $dbu.$db_match_column_name
          $escval = $val -replace "'","''"
          if ($dbu_values -contains $escval) { $dbu_duplicate_list += $dbu; continue } else { $dbu_values += $escval }
          $filter = $azuread_match_attr_name + " eq '" + $escval + "'"
          try {
             $ul = @(Get-MgUser -Filter $filter -All -Property Id,accountEnabled -ErrorAction Stop)
             if ($ul.length -eq 0) { $dbu_not_matched_list += $dbu; } elseif ($ul.length -gt 1) {$dbu_match_ambiguous_list += $dbu } else {
                $id = $ul[0].id; 
                $azuread_match_id_list += $id;
                if ($ul[0].accountEnabled -eq $false) {$azuread_not_enabled_list += $id }
             } 
          } catch { $dbu_query_failed_list += $dbu } 
        } else { $dbu_not_queried_list += $dbu }
    }
    
    $dbu_not_queried_count = $dbu_not_queried_list.Count
    if ($dbu_not_queried_count -ne 0) {
      Write-Error "Unable to query for $dbu_not_queried_count records as rows lacked values for $db_match_column_name."
    }
    $dbu_duplicate_count = $dbu_duplicate_list.Count
    if ($dbu_duplicate_count -ne 0) {
      Write-Error "Unable to locate Microsoft Entra ID users for $dbu_duplicate_count rows as multiple rows have the same value"
    }
    $dbu_not_matched_count = $dbu_not_matched_list.Count
    if ($dbu_not_matched_count -ne 0) {
      Write-Error "Unable to locate $dbu_not_matched_count records in Microsoft Entra ID by querying for $db_match_column_name values in $azuread_match_attr_name."
    }
    $dbu_match_ambiguous_count = $dbu_match_ambiguous_list.Count
    if ($dbu_match_ambiguous_count -ne 0) {
      Write-Error "Unable to locate $dbu_match_ambiguous_count records in Microsoft Entra ID as attribute match ambiguous."
    }
    $dbu_query_failed_count = $dbu_query_failed_list.Count
    if ($dbu_query_failed_count -ne 0) {
      Write-Error "Unable to locate $dbu_query_failed_count records in Microsoft Entra ID as queries returned errors."
    }
    $azuread_not_enabled_count = $azuread_not_enabled_list.Count
    if ($azuread_not_enabled_count -ne 0) {
     Write-Warning "$azuread_not_enabled_count users in Microsoft Entra ID are blocked from sign-in."
    }
    if ($dbu_not_queried_count -ne 0 -or $dbu_duplicate_count -ne 0 -or $dbu_not_matched_count -ne 0 -or $dbu_match_ambiguous_count -ne 0 -or $dbu_query_failed_count -ne 0 -or $azuread_not_enabled_count -ne 0) {
     Write-Output "You will need to resolve those issues before access of all existing users can be reviewed."
    }
    $azuread_match_count = $azuread_match_id_list.Count
    Write-Output "Users corresponding to $azuread_match_count records were located in Microsoft Entra ID." 
    

Vérifiez que les utilisateurs Microsoft Entra existants ont les attributs nécessaires

Avant d’activer l’approvisionnement automatique des utilisateurs, vous devez décider quels utilisateurs de Microsoft Entra ID doivent avoir accès à SAP Cloud Identity Services, puis vous devez vérifier que ces utilisateurs ont les attributs nécessaires dans Microsoft Entra ID, et que ces attributs sont mappés au schéma attendu de SAP Cloud Identity Services.

  • Par défaut, la valeur de l’attribut de l’utilisateur(-trice) Microsoft Entra userPrincipalName est mappée aux attributs userName et emails[type eq "work"].value de SAP Cloud Identity Services. Si les adresses e-mail de l’utilisateur(-trice) sont différentes de leur nom d’utilisateur principal, vous devrez peut-être modifier ce mappage.
  • SAP Cloud Identity Services peut ignorer les valeurs de l’attribut postalCode si le format du code postal/postal de l’entreprise ne correspond pas au pays de l’entreprise.
  • Par défaut, l’attribut Microsoft Entra department est mappé à l’attribut SAP Cloud Identity Services urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department. Si les utilisateurs de Microsoft Entra ont des valeurs de l’attribut department, ces valeurs doivent correspondre à ces services déjà configurés dans SAP Cloud Identity Services, sinon la création ou la mise à jour de l’utilisateur(-trice) échoue. Si les valeurs department dans vos utilisateurs Microsoft Entra ne sont pas cohérentes avec celles de votre environnement SAP, supprimez le mappage avant d’affecter des utilisateurs.
  • Le point de terminaison SCIM de services d’identité de SAP Cloud demande un format particulier pour certains attributs. Vous pouvez en savoir plus sur ces attributs et leur format spécifique ici.

Affecter des utilisateurs à l’application SAP Cloud Identity Services dans Microsoft Entra ID

Microsoft Entra ID utilise un concept appelé affectations pour déterminer les utilisateurs devant recevoir l’accès aux applications sélectionnées. Dans le contexte de l’approvisionnement automatique d’utilisateurs, si la valeur Paramètres de étendue est Synchroniser uniquement les utilisateurs et les groupes affectés, seuls les utilisateurs et les groupes qui ont été affectés à un rôle d’application de cette application dans Microsoft Entra ID sont synchronisés avec SAP Cloud Identity Services. Lorsque vous affectez un utilisateur aux services d’identité de SAP Cloud, vous devez sélectionner un rôle valide propre à l’application (si disponible) dans la boîte de dialogue d’affectation. Les utilisateurs dont le rôle est Accès par défaut sont exclus de l’approvisionnement. Actuellement, le seul rôle disponible pour SAP Cloud Identity Services est utilisateur(-trice).

Si l’approvisionnement a déjà été activé pour l’application, vérifiez que l’approvisionnement de l’application n’est pas en quarantaine avant d’affecter d’autres utilisateurs à l’application. Résolvez les problèmes éventuels provoquant la mise en quarantaine avant de continuer.

Recherchez les utilisateurs présents dans SAP Cloud Identity Services et qui ne sont pas déjà affectés à l’application dans Microsoft Entra ID

Les étapes précédentes ont évalué si les utilisateurs de SAP Cloud Identity Services existent également en tant qu’utilisateurs dans Microsoft Entra ID. Cependant, il se peut que certains d’entre eux ne soient pas actuellement attribués aux rôles de l’application dans Microsoft Entra ID. Les étapes suivantes visent donc à identifier les utilisateurs qui ne sont pas affectés aux rôles d’application.

  1. À l’aide de PowerShell, recherchez l’identifiant du principal de service de l’application.

    Par exemple, si l’application d’entreprise s’appelle SAP Cloud Identity Services, entrez les commandes suivantes :

    $azuread_app_name = "SAP Cloud Identity Services"
    $azuread_sp_filter = "displayName eq '" + ($azuread_app_name -replace "'","''") + "'"
    $azuread_sp = Get-MgServicePrincipal -Filter $azuread_sp_filter -All
    
  2. Récupérez les utilisateurs qui sont actuellement affectés à l’application dans Microsoft Entra ID.

    Cela s’appuie sur l’ensemble de variables $azuread_sp de la commande précédente.

    $azuread_existing_assignments = @(Get-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $azuread_sp.Id -All)
    
  3. \Comparez la liste des ID d’utilisateur(-trice) des utilisateurs déjà dans SAP Cloud Identity Services et Microsoft Entra ID à ceux actuellement affectés à l’application dans l’ID Microsoft Entra. Cela s’appuie sur l’ensemble de variables $azuread_match_id_list des sections précédentes :

    $azuread_not_in_role_list = @()
    foreach ($id in $azuread_match_id_list) {
       $found = $false
       foreach ($existing in $azuread_existing_assignments) {
          if ($existing.principalId -eq $id) {
             $found = $true; break;
          }
       }
       if ($found -eq $false) { $azuread_not_in_role_list += $id }
    }
    $azuread_not_in_role_count = $azuread_not_in_role_list.Count
    Write-Output "$azuread_not_in_role_count users in the application's data store are not assigned to the application roles."
    

    Si aucun(e) utilisateur(e) n’est affecté(e) aux rôles d’application, indiquant que tous les utilisateurs sont affectés aux rôles d’application, cela indique qu’il n’y a pas d’utilisateurs communs entre Microsoft Entra ID et SAP Cloud Identity Services, donc aucune modification n’est nécessaire. Toutefois, si un(e) ou plusieurs utilisateurs déjà présents dans SAP Cloud Identity Services ne sont pas actuellement affectés aux rôles de l’application, vous devrez poursuivre la procédure et les ajouter à l’un des rôles de l’application.

  4. Sélectionnez le rôle User du principal du service d’application.

    $azuread_app_role_name = "User"
    $azuread_app_role_id = ($azuread_sp.AppRoles | where-object {$_.AllowedMemberTypes -contains "User" -and $_.DisplayName -eq "User"}).Id
    if ($null -eq $azuread_app_role_id) { write-error "role $azuread_app_role_name not located in application manifest"}
    
  5. Créez des attributions de rôles d’application pour les utilisateurs qui sont déjà présents dans SAP Cloud Identity Services et Microsoft Entra, et n’ont pas actuellement d’affectations de rôles à l’application :

    foreach ($u in $azuread_not_in_role_list) {
       $res = New-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $azuread_sp.Id -AppRoleId $azuread_app_role_id -PrincipalId $u -ResourceId $azuread_sp.Id
    }
    
  6. Patientez une minute, le temps que les modifications se propagent dans Microsoft Entra ID.

  7. Lors du prochain cycle d’approvisionnement de Microsoft Entra, le service d’approvisionnement de Microsoft Entra comparera la représentation des utilisateurs affectés à l’application avec la représentation dans SAP Cloud Identity Services, et mettra à jour les utilisateurs de SAP Cloud Identity Services pour qu’ils aient les attributs de Microsoft Entra ID.

Affecter les utilisateurs restants et surveiller la synchronisation initiale

Une fois que les tests sont terminés, qu’un(e) utilisateur(-trice) est approvisionné(e) avec succès dans SAP Cloud Identity Services et que tous les utilisateurs existants de SAP Cloud Identity Services sont affectés au rôle de l’application, vous pouvez affecter d’autres utilisateurs autorisés à l’application SAP Cloud Identity Services en suivant l’une des instructions ci-dessous :

Une fois que les utilisateurs sont affectés au rôle d’application et qu’ils sont dans le champ d’application de l’approvisionnement, le service d’approvisionnement de Microsoft Entra les approvisionne dans SAP Cloud Identity Services. Notez que la synchronisation initiale prend plus de temps que les synchronisations suivantes, qui ont lieu toutes les 40 minutes environ tant que le service d’approvisionnement de Microsoft Entra est en cours d’exécution.

Si vous ne voyez pas d’utilisateurs en cours d’approvisionnement, évaluez les étapes du guide de dépannage pour l’absence d’approvisionnement d’utilisateurs. Consultez le journal d’approvisionnement via le Centre d’administration Microsoft Entra ou les API Graph. Filtrez le journal sur l’état Échec. Les échecs avec le code d’erreur (ErrorCode) DuplicateTargetEntries indiquent une ambiguïté dans vos règles de correspondance de provisionnement. Vous devez alors mettre à jour les utilisateurs Microsoft Entra ou les mappages utilisés pour la correspondance afin de garantir que chaque utilisateur Microsoft Entra correspond à un utilisateur de l’application. Filtrez ensuite le journal sur l’action Créer et l’état Ignoré. Si des utilisateurs ont été ignorés avec le code SkipReason NotEffectivelyEntitled, cela peut indiquer que les comptes d’utilisateur dans Microsoft Entra ID n’ont pas été mis en correspondance, car l’état du compte d’utilisateur était Désactivé.

Configurez l’authentification unique

Vous pouvez également choisir d’activer l’authentification unique basée sur SAML pour les services d’identité de SAP Cloud en suivant les instructions fournies dans le tutoriel sur l’authentification unique pour les services d’identité de SAP Cloud. L’authentification unique peut être configurée indépendamment de l’attribution automatique d’utilisateurs, bien que ces deux fonctionnalités se complètent.

Surveiller l’approvisionnement

Vous pouvez utiliser la section Détails de synchronisation pour analyser la progression et suivre les liens vers les rapports d’activité d’approvisionnement ; elle décrit toutes les actions effectuées par le service d’approvisionnement de Microsoft Entra sur les services d’identité de SAP Cloud. Vous pouvez également surveiller le projet d’approvisionnement via les API Microsoft Graph.

Pour plus d’informations sur la façon de lire les journaux d’approvisionnement Microsoft Entra, voir Rapports sur le provisionnement automatique des comptes d’utilisateur.

Maintenez des affectations de rôle d’application

Lorsque les utilisateurs affectés à l’application sont mis à jour dans Microsoft Entra ID, ces modifications sont automatiquement transférées à SAP Cloud Identity Services.

Si vous disposez de Microsoft Entra ID Governance, vous pouvez automatiser les modifications des affectations de rôles d’application pour SAP Cloud Identity Services dans Microsoft Entra ID, afin d’ajouter ou de supprimer des affectations lorsque des personnes rejoignent l’organisation, ou quittent ou changent de rôle.

Plus de ressources

Étapes suivantes