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 :
- Un locataire Microsoft Entra
- Un locataire de SAP Cloud Identity Services
- Un compte d’utilisateur dans les services d’identité de SAP Cloud disposant d’autorisations d’administrateur.
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 n’avez pas encore d’utilisateurs dans Microsoft Entra ID, commencez par le tutoriel planifier le déploiement de Microsoft Entra pour l’approvisionnement d’utilisateurs avec les applications source et cible SAP. Ce tutoriel montre comment connecter Microsoft Entra à des sources faisant autorité pour la liste des travailleurs d’une organisation, comme SAP SuccessFactors. Il vous montre également comment utiliser Microsoft Entra pour configurer des identités pour ces travailleurs, afin qu’ils puissent se connecter à une ou plusieurs applications SAP, telles que SAP ECC ou SAP S/4HANA.
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
Connectez-vous à votre console d’administration de SAP Cloud Identity Services,
https://<tenantID>.accounts.ondemand.com/admin
ouhttps://<tenantID>.trial-accounts.ondemand.com/admin
en cas d’essai gratuit. Accédez à Utilisateurs et autorisations > Administrateurs.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.
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.
Une fois le système administrateur créé, ajoutez un nouveau secret à ce système.
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.
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
etemails[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.
Ajouter les services d’identité de SAP Cloud à partir de la galerie
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 :
- Connectez-vous au Centre d’administration de Microsoft Entra au minimum en tant qu’Administrateur d’application cloud.
- Accédez à Identité>Applications>Applications d’entreprise>Nouvelle application.
- Pour ajouter l’application à partir de la galerie, tapez SAP Cloud Identity Services dans la zone de recherche.
- 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 :
Connectez-vous au Centre d’administration de Microsoft Entra au minimum en tant qu’Administrateur d’application cloud.
Accédez à Identité>Applications>Applications d’entreprise.
Dans la liste des applications, sélectionnez l’application, SAP Cloud Identity Services.
Sélectionnez l’onglet Propriétés.
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.
Sélectionnez l’onglet Approvisionnement.
Définissez le Mode d’approvisionnement sur Automatique.
Sous la section Informations d’identification de l’administrateur(-trice), entrez
https://<tenantID>.accounts.ondemand.com/service/scim
ouhttps://<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.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.
Cliquez sur Enregistrer.
Dans la section Mappages, sélectionnez Affecter les utilisateurs Microsoft Entra.
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.
É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.
Confirmez qu’il existe une correspondance d’attribut pour
IsSoftDeleted
, ou qu’une fonction contenantIsSoftDeleted
, 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.Ajoutez tous les mappages supplémentaires requis par vos services SAP Cloud Identity Services ou systèmes SAP cibles en aval.
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 Pour configurer des filtres d’étendue, reportez-vous aux instructions suivantes fournies dans Approvisionnement d’applications basé sur les attributs avec filtres d’étendue.
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.
Pour la valeur d’étendue dans la section Paramètres, sélectionnez Synchroniser uniquement les utilisateurs et les groupes affectés.
Lorsque vous êtes prêt à effectuer l’approvisionnement, cliquez sur Enregistrer.
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.
- Connectez-vous au Centre d’administration Microsoft Entra en tant qu’administrateur(-trice) d’application cloud et administrateur(-trice) d’utilisateur(-trice).
- Accédez à Identité>Utilisateurs>Tous les utilisateurs.
- Sélectionnez Nouvel utilisateur>Créer un nouvel utilisateur.
- 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.
- Une fois l’utilisateur(-trice) test est créé, accédez à Identité>Applications>Applications d’entreprise.
- Sélectionnez l’application SAP Cloud Identity Services.
- Sélectionnez Utilisateurs et groupes, puis Ajouter un(e) utilisateur(-trice)/groupe.
- 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.
- SélectionnezSélectionner, puis sur Affecter.
- Sélectionnez Approvisionnement, puis Approvisionner à la demande.
- 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.
- Cliquez sur Approvisionner.
- 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.
- Sélectionnez Utilisateurs et groupes.
- Sélectionnez l’utilisateur(-trice) test, puis Supprimer.
- Une fois l’utilisateur(-trice) test est supprimé. sélectionnez Approvisionnement, puis Approvisionner à la demande.
- 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).
- Cliquez sur Approvisionner.
- Attendez la fin du déploiement.
Enfin, vous pouvez supprimer l’utilisateur(-trice) test de Microsoft Entra ID.
- Accédez à Identité>Utilisateurs>Tous les utilisateurs.
- 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.
Connectez-vous à votre console d’administration de SAP Cloud Identity Services,
https://<tenantID>.accounts.ondemand.com/admin
ouhttps://<tenantID>.trial-accounts.ondemand.com/admin
en cas d’essai gratuit.Accédez à Utilisateurs et autorisations > Exporter des utilisateurs.
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
etemails
d’autres attributs que vous utilisez peut-être dans vos Systèmes SAP en tant qu’identifiants.Sélectionnez Exporter et attendre que le navigateur télécharge le fichier CSV.
Ouvrez une fenêtre PowerShell.
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 variablesapScimUserNameField
par le nom de l’attribut SAP Cloud Identity Services. À la ligne 2, remplacez l’argument par le nom du fichier CSV exporté deUsers-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."
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é.
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
Ouvrez PowerShell.
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
Connectez-vous à Microsoft Entra ID :
$msg = Connect-MgGraph -ContextScope Process -Scopes "User.ReadWrite.All,Application.ReadWrite.All,AppRoleAssignment.ReadWrite.All,EntitlementManagement.ReadWrite.All"
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.
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
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 IDuserPrincipalName
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 EntrauserPrincipalName
:$db_match_column_name = "EMail" $azuread_match_attr_name = "userPrincipalName"
Récupérez les ID de ces utilisateurs dans Microsoft Entra ID.
Le script PowerShell suivant utilise les valeurs
$dbusers
,$db_match_column_name
et$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 expressioncontains
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 } }
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."
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.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 :
- Fichier CSV comme décrit dans Créer des utilisateurs en bloc dans le centre d’administration Microsoft Entra
- Avec la cmdlet New-MgUser
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
etdisplayName
. LeuserPrincipalName
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 colonneAlias
contient le pseudonyme de messagerie Microsoft Entra ID et où la valeur dans la colonneFull 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 nimailNickname
niuserPrincipalName
, 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 } }
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 attributsuserName
etemails[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 Servicesurn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department
. Si les utilisateurs de Microsoft Entra ont des valeurs de l’attributdepartment
, 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 valeursdepartment
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.
À 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
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)
\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.
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"}
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 }
Patientez une minute, le temps que les modifications se propagent dans Microsoft Entra ID.
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 :
- Vous pouvez affecter chaque utilisateur(-trice) à l’application dans le Centre d’administration Microsoft Entra,
- Vous pouvez affecter des utilisateurs individuels à l’application via l’applet de commande PowerShell
New-MgServicePrincipalAppRoleAssignedTo
comme indiqué dans la section précédente, ou - si votre organisation dispose d’une licence pour Microsoft Entra ID Governance, vous pouvez également déployer des stratégies de gestion des droits d’utilisation pour automatiser l’accès affecté.
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.
- Vous pouvez effectuer une révision d’accès ponctuelle ou périodique des affectations de rôles d’application.
- Vous pouvez créer un package d’accès de gestion des droits d’utilisation pour cette application. Vous pouvez avoir des stratégies d’accès affecté à des utilisateurs, soit à leur demande, par un(e) administrateur(-trice), soit automatiquement en fonction des règles ou via des workflows de cycle de vie.
Plus de ressources
- Gestion de l’approvisionnement de comptes d’utilisateur pour les applications d’entreprise
- Qu’est-ce que l’accès aux applications et l’authentification unique avec Microsoft Entra ID ?
- Gérez l’accès à vos applications SAP
- Régir l’accès aux applications dans votre environnement