Esercitazione: Configurare SAP Cloud Identity Services per il provisioning utenti automatico
Questa esercitazione illustra i passaggi per la configurazione del provisioning da Microsoft Entra ID a SAP Cloud Identity Services. L'obiettivo è configurare Microsoft Entra ID per effettuare automaticamente il provisioning e il deprovisioning degli utenti in SAP Cloud Identity Services, in modo che tali utenti possano eseguire l'autenticazione a SAP Cloud Identity Services e avere accesso ad altri carichi di lavoro SAP. SAP Cloud Identity Services supporta il provisioning dalla directory delle identità locali ad altre applicazioni SAP come sistemi di destinazione.
Nota
Questa esercitazione descrive un connettore integrato nel servizio di provisioning utenti di Microsoft Entra. Per informazioni dettagliate sulle caratteristiche e sul funzionamento di questo servizio e per le domande frequenti, consultare la sezione Automatizzare il provisioning e il deprovisioning degli utenti nelle applicazioni SaaS con Microsoft Entra ID. SAP Cloud Identity Services ha anche un connettore separato per leggere utenti e gruppi da Microsoft Entra ID. Per altre informazioni, vedere SAP Cloud Identity Services - Identity Provisioning - Microsoft Entra ID come sistema di origine.
Prerequisiti
Per lo scenario descritto in questa esercitazione si presuppone che l'utente disponga dei prerequisiti seguenti:
- Un tenant di Microsoft Entra
- Un tenant di SAP Cloud Identity Services
- Un account utente in SAP Cloud Identity Services con autorizzazioni di amministratore.
Nota
Questa integrazione è disponibile anche per l'uso dall'ambiente Microsoft Entra US Government Cloud. È possibile trovare questa applicazione nella raccolta di applicazioni cloud Microsoft Entra US Government e configurarla nello stesso modo dell'ambiente cloud pubblico.
Se non si hanno ancora utenti in Microsoft Entra ID, iniziare con il piano di esercitazione che distribuisce Microsoft Entra per il provisioning utenti con app di origine e destinazione SAP. Questa esercitazione illustra come connettere Microsoft Entra con origini autorevoli per l'elenco dei ruoli di lavoro in un'organizzazione, ad esempio SAP SuccessFactors. Illustra anche come usare Microsoft Entra per configurare le identità per tali ruoli di lavoro, in modo che possano accedere a una o più applicazioni SAP, ad esempio SAP ECC o SAP S/4HANA.
Se si sta configurando il provisioning in SAP Cloud Identity Services in un ambiente di produzione, in cui si regola l'accesso ai carichi di lavoro SAP usando Microsoft Entra ID Governance, esaminare i prerequisiti prima di configurare Microsoft Entra ID per la governance delle identità prima di procedere.
Configurare SAP Cloud Identity Services per il provisioning
Accedere alla console
https://<tenantID>.accounts.ondemand.com/admin
di amministrazione di SAP Cloud Identity Services ohttps://<tenantID>.trial-accounts.ondemand.com/admin
in caso di versione di valutazione. Passare a Utenti e amministratori autorizzazioni>.Selezionare il pulsante +Add (Aggiungi) nel pannello sinistro per aggiungere un nuovo amministratore all'elenco. Scegliere Add System (Aggiungi sistema) e immettere il nome del sistema.
Nota
L'identità dell'amministratore in SAP Cloud Identity Services deve essere di tipo System. Un utente amministratore non sarà in grado di eseguire l'autenticazione all'API SAP SCIM durante il provisioning. SAP Cloud Identity Services non consente la modifica del nome di un sistema dopo la creazione.
In Configura autorizzazioni attivare il pulsante Attiva/Disattiva su Gestisci utenti. Fare quindi clic su Salva per creare il sistema.
Dopo aver creato il sistema di amministrazione, aggiungere un nuovo segreto al sistema.
Copiare l'ID client e il segreto client generati da SAP. Questi valori verranno immessi rispettivamente nei campi Nome utente amministratore e Password amministratore. Questa operazione viene eseguita nella scheda Provisioning dell'applicazione SAP Cloud Identity Services, che verrà configurata nella sezione successiva.
SAP Cloud Identity Services può avere mapping a una o più applicazioni SAP come sistemi di destinazione. Controllare se sono presenti attributi per gli utenti di cui è necessario eseguire il provisioning tramite SAP Cloud Identity Services. Questa esercitazione presuppone che SAP Cloud Identity Services e i sistemi di destinazione downstream richiedano due attributi e
userName
emails[type eq "work"].value
. Se i sistemi di destinazione SAP richiedono altri attributi e non fanno parte dello schema utente di Microsoft Entra ID, potrebbe essere necessario configurare gli attributi dell'estensione di sincronizzazione.
Aggiungere SAP Cloud Identity Services dalla raccolta
Prima di configurare Microsoft Entra ID per il provisioning utenti automatico in SAP Cloud Identity Services, è necessario aggiungere SAP Cloud Identity Services dalla raccolta di applicazioni Microsoft Entra all'elenco di applicazioni aziendali del tenant. È possibile eseguire questo passaggio nell'interfaccia di amministrazione di Microsoft Entra o tramite l'API Graph.
Se SAP Cloud Identity Services è già configurato per l'accesso Single Sign-On da Microsoft Entra e un'applicazione è già presente nell'elenco di applicazioni aziendali di Microsoft Entra, continuare con la sezione successiva.
Per aggiungere SAP Cloud Identity Services dalla raccolta di applicazioni Microsoft Entra usando l'interfaccia di amministrazione di Microsoft Entra, seguire questa procedura:
- Accedere all'Interfaccia di amministrazione di Microsoft Entra almeno come Amministratore applicazione cloud.
- Passare a Identità>Applicazioni>Applicazioni aziendali>Nuova applicazione.
- Per aggiungere l'app dalla raccolta, digitare SAP Cloud Identity Services nella casella di ricerca.
- Selezionare SAP Cloud Identity Services nel pannello dei risultati e quindi aggiungere l'app. Attendere alcuni secondi che l'app venga aggiunta al tenant.
Configurare il provisioning utenti automatico in SAP Cloud Identity Services
Questa sezione illustra la procedura per configurare il servizio di provisioning Di Microsoft Entra per creare, aggiornare e disabilitare gli utenti in SAP Cloud Identity Services in base alle assegnazioni utente a un'applicazione in Microsoft Entra ID.
Per configurare il provisioning utenti automatico per SAP Cloud Identity Services in Microsoft Entra ID:
Accedere all'Interfaccia di amministrazione di Microsoft Entra almeno come Amministratore applicazione cloud.
Passare a Identità>Applicazioni>Applicazioni enterprise
Nell'elenco delle applicazioni selezionare l'applicazione SAP Cloud Identity Services.
Seleziona la scheda Proprietà.
Verificare che l'opzione Assegnazione obbligatoria? sia impostata su Sì. Se è impostata su No, tutti gli utenti nella directory, incluse le identità esterne, possono accedere all'applicazione e non è possibile esaminare l'accesso all'applicazione.
Selezionare la scheda Provisioning.
Impostare Modalità di provisioning su Automatico.
Nella sezione Credenziali amministratore immettere
https://<tenantID>.accounts.ondemand.com/service/scim
ohttps://<tenantid>.trial-accounts.ondemand.com/service/scim
se una versione di valutazione con l'ID tenant di SAP Cloud Identity Services nell'URL del tenant. Immettere i valori id client e segreto client recuperati in precedenza rispettivamente in Nome utente amministratore e Password amministratore. Fare clic su Test connessione per verificare che Microsoft Entra ID possa connettersi a SAP Cloud Identity Services. Se la connessione non riesce, verificare che l'account di sistema SAP Cloud Identity Services disponga delle autorizzazioni di amministratore, che il segreto sia ancora valido e riprovare.Nel campo Messaggio di posta elettronica di notifica immettere l'indirizzo di posta elettronica di una persona o un gruppo che riceverà le notifiche di errore relative al provisioning e selezionare la casella di controllo Invia una notifica di posta elettronica in caso di errore.
Fare clic su Salva.
Nella sezione Mapping selezionare ProvisionIng Microsoft Entra ID users (Effettuare il provisioning degli utenti di Microsoft Entra ID).
Esaminare gli attributi utente sincronizzati da Microsoft Entra ID a SAP Cloud Identity Services nella sezione Mapping attributi . Se gli attributi non vengono visualizzati in SAP Cloud Identity Services come destinazione per il mapping, selezionare Mostra opzioni avanzate e selezionare Modifica elenco di attributi per SAP Cloud Platform Identity Authentication Service per modificare l'elenco degli attributi supportati. Aggiungere gli attributi del tenant di SAP Cloud Identity Services.
Esaminare e registrare gli attributi di origine e di destinazione selezionati come proprietà corrispondenti , mapping con precedenza corrispondente, perché questi attributi vengono usati per trovare le corrispondenze con gli account utente in SAP Cloud Identity Services per il servizio di provisioning Di Microsoft Entra per determinare se creare un nuovo utente o aggiornare un utente esistente. Per altre informazioni sulla corrispondenza, vedere Corrispondenza degli utenti nei sistemi di origine e di destinazione. In un passaggio successivo si garantisce che gli utenti già in SAP Cloud Identity Services abbiano gli attributi selezionati come proprietà corrispondenti popolate per impedire la creazione di utenti duplicati.
Verificare che sia presente un mapping di attributi per
IsSoftDeleted
o una funzione contenenteIsSoftDeleted
, mappata a un attributo dell'applicazione. Quando un utente non viene assegnato dall'applicazione, eliminato soft-delete in Microsoft Entra ID o bloccato dall'accesso, il servizio di provisioning Microsoft Entra aggiornerà l'attributo mappato aisSoftDeleted
. Se non viene eseguito il mapping di alcun attributo, gli utenti che in seguito non vengono assegnati dal ruolo applicazione continueranno a esistere nell'archivio dati dell'applicazione.Aggiungere eventuali mapping aggiuntivi richiesti dai sistemi SAP cloud Identity Services o da sistemi SAP di destinazione downstream.
Selezionare il pulsante Salva per eseguire il commit delle modifiche.
Attributo Type Supportato per il filtro Richiesto da SAP Cloud Identity Services userName
String ✓ ✓ emails[type eq "work"].value
String ✓ active
Booleano displayName
String urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:manager
Riferimento addresses[type eq "work"].country
String 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
String Per configurare i filtri di ambito, fare riferimento alle istruzioni fornite nell'esercitazione sui filtri per la definizione dell'ambito.
Per abilitare il servizio di provisioning Microsoft Entra per SAP Cloud Identity Services, impostare Stato del provisioning su Sì nella sezione Impostazioni.
Per il valore di Ambito nella sezione Impostazioni selezionare Sincronizza solo utenti e gruppi assegnati.
Quando si è pronti per eseguire il provisioning, fare clic su Salva.
L'operazione avvia la sincronizzazione iniziale di tutti gli utenti definiti in Ambito nella sezione Impostazioni. Se l'ambito è impostato su Sincronizza solo utenti e gruppi assegnati e nessun utente o gruppo è stato assegnato all'applicazione, non verrà eseguita alcuna sincronizzazione, finché gli utenti non vengono assegnati all'applicazione.
Effettuare il provisioning di un nuovo utente di test da Microsoft Entra ID a SAP Cloud Identity Services
È consigliabile assegnare un singolo utente di test di Microsoft Entra a SAP Cloud Identity Services per testare la configurazione del provisioning utenti automatico.
- Accedere all'interfaccia di amministrazione di Microsoft Entra come almeno un amministratore di applicazioni cloud e un amministratore utenti.
- Passare a Identità>Utenti>Tutti gli utenti.
- Selezionare Nuovo utente>Creare nuovo utente.
- Digitare il nome dell'entità utente e il nome visualizzato del nuovo utente di test. Il nome dell'entità utente deve essere univoco e non lo stesso di qualsiasi utente microsoft Entra o utente di SAP Cloud Identity Services corrente o precedente. Selezionare Rivedi e crea e quindi Crea.
- Dopo aver creato l'utente di test, passare a Applicazioni> aziendali di identità.>
- Selezionare l'applicazione SAP Cloud Identity Services.
- Selezionare Utenti e gruppi e quindi Aggiungi utente/gruppo.
- Nella casella di testo Utenti e gruppi selezionare Nessuno selezionato e nella casella di testo digitare il nome dell'entità utente dell'utente di test.
- Selezionare Seleziona e quindi Assegna.
- Selezionare Provisioning e quindi provisioning su richiesta.
- Nella casella di testo Selezionare un utente o un gruppo digitare il nome dell'entità utente dell'utente di test.
- Cliccare su Provision.
- Attendere che venga completato il provisioning. In caso di esito positivo, verrà visualizzato il messaggio
Modified attributes (successful)
.
Facoltativamente, è anche possibile verificare il provisioning del servizio di provisioning Di Microsoft Entra quando un utente esce dall'ambito dell'applicazione.
- Seleziona Utenti e gruppi.
- Selezionare l'utente di test e quindi selezionare Rimuovi.
- Dopo aver rimosso l'utente di test, selezionare Provisioning e quindi provisioning su richiesta.
- Nella casella di testo Selezionare un utente o un gruppo digitare il nome dell'entità utente dell'utente di test appena de-assegnato.
- Cliccare su Provision.
- Attendere che venga completato il provisioning.
Infine, è possibile rimuovere l'utente di test dall'ID Microsoft Entra.
- Passare a Identità>Utenti>Tutti gli utenti.
- Selezionare l'utente di test, selezionare Elimina e selezionare OK. Questa azione elimina soft-delete l'utente di test da Microsoft Entra ID.
È anche possibile rimuovere l'utente di test da SAP Cloud Identity Services.
Verificare che gli utenti di SAP Cloud Identity Services esistenti dispongano degli attributi di corrispondenza necessari
Prima di assegnare utenti non di test all'applicazione SAP Cloud Identity Services in Microsoft Entra ID, è necessario assicurarsi che gli utenti già presenti in SAP Cloud Identity Services che rappresentino gli stessi utenti di Microsoft Entra ID, abbiano gli attributi di mapping popolati nei servizi SAP Cloud Identity.
Nel mapping del provisioning, gli attributi selezionati come proprietà corrispondenti vengono usati per trovare le corrispondenze con gli account utente in Microsoft Entra ID con gli account utente in SAP Cloud Identity Services. Se è presente un utente in Microsoft Entra ID senza corrispondenza in SAP Cloud Identity Services, il servizio di provisioning Di Microsoft Entra tenterà di creare un nuovo utente. Se è presente un utente in Microsoft Entra ID e una corrispondenza in SAP Cloud Identity Services, il servizio di provisioning Di Microsoft Entra aggiornerà l'utente di SAP Cloud Identity Services. Per questo motivo, è necessario assicurarsi che gli utenti già in SAP Cloud Identity Services abbiano gli attributi selezionati come proprietà corrispondenti popolate. In caso contrario, è possibile creare utenti duplicati. Se è necessario modificare l'attributo corrispondente nel mapping dell'attributo dell'applicazione Microsoft Entra, vedere utenti corrispondenti nei sistemi di origine e di destinazione.
Accedere alla console
https://<tenantID>.accounts.ondemand.com/admin
di amministrazione di SAP Cloud Identity Services ohttps://<tenantID>.trial-accounts.ondemand.com/admin
in caso di versione di valutazione.Passare a Utenti e autorizzazioni > Esporta utenti.
Selezionare tutti gli attributi necessari per associare gli utenti di Microsoft Entra a quelli in SAP. Questi attributi includono gli
SCIM ID
attributi ,userName
,emails
e altri attributi che è possibile usare nei sistemi SAP come identificatori.Selezionare Esporta e attendere che il browser scarichi il file CSV.
Aprire una finestra di PowerShell.
Digitare lo script seguente in un editor. Nella riga 1, se è stato selezionato un attributo corrispondente diverso da
userName
, modificare il valore dellasapScimUserNameField
variabile impostando il nome dell'attributo SAP Cloud Identity Services. Nella riga 2 modificare l'argomento impostando il nome del file CSV esportato daUsers-exported-from-sap.csv
al nome del file scaricato.$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."
Eseguire lo script. Al termine dello script, se uno o più utenti mancavano l'attributo di corrispondenza richiesto, cercare tali utenti nel file CSV esportato o nella console di amministrazione di SAP Cloud Identity Services. Se questi utenti sono presenti anche in Microsoft Entra, sarà necessario prima aggiornare la rappresentazione di SAP Cloud Identity Services di tali utenti in modo che abbiano l'attributo corrispondente popolato.
Dopo aver aggiornato gli attributi di tali utenti in SAP Cloud Identity Services, quindi esportare nuovamente gli utenti da SAP Cloud Identity Services, come descritto nei passaggi da 2 a 5 e PowerShell in questa sezione, per verificare che nessun utente in SAP Cloud Identity Services non contenga gli attributi corrispondenti che impediscono il provisioning a tali utenti.
Ora che si dispone di un elenco di tutti gli utenti ottenuti da SAP Cloud Identity Services, è possibile associare gli utenti dall'archivio dati dell'applicazione, con gli utenti già in Microsoft Entra ID, per determinare quali utenti devono essere inclusi nell'ambito per il provisioning.
Recuperare gli ID degli utenti in Microsoft Entra ID
Questa sezione illustra come interagire con Microsoft Entra ID usando i cmdlet di Microsoft Graph PowerShell.
La prima volta che l'organizzazione usa questi cmdlet per questo scenario, è necessario avere il un ruolo di amministratore globale per consentire l'uso di Microsoft Graph PowerShell nel tenant. Le interazioni successive possono usare un ruolo con privilegi inferiori, ad esempio:
- Amministratore utenti, se si prevede di creare nuovi utenti.
- Amministratore dell'applicazione o Amministratore della governance delle identità, se si gestiscono solo le assegnazioni di ruolo dell'applicazione.
Aprire PowerShell.
Se non sono già installati i moduli di Microsoft Graph PowerShell, installare il modulo
Microsoft.Graph.Users
e altri usando questo comando:Install-Module Microsoft.Graph
Se i moduli sono già installati, assicurarsi di usare una versione recente:
Update-Module microsoft.graph.users,microsoft.graph.identity.governance,microsoft.graph.applications
Connettersi a Microsoft Entra ID:
$msg = Connect-MgGraph -ContextScope Process -Scopes "User.ReadWrite.All,Application.ReadWrite.All,AppRoleAssignment.ReadWrite.All,EntitlementManagement.ReadWrite.All"
Se è la prima volta che è stato usato questo comando, potrebbe essere necessario fornire il consenso per permettere agli strumenti della riga di comando di Microsoft Graph di avere queste autorizzazioni.
Leggere l'elenco degli utenti ottenuti dall'archivio dati dell'applicazione nella sessione di PowerShell. Se l'elenco degli utenti si trovava in un file CSV, è possibile usare il cmdlet
Import-Csv
di PowerShell e specificare il nome del file della sezione precedente come argomento.Ad esempio, se il file ottenuto da SAP Cloud Identity Services è denominato Users-exported-from-sap.csv e si trova nella directory corrente, immettere questo comando.
$filename = ".\Users-exported-from-sap.csv" $dbusers = Import-Csv -Path $filename -Encoding UTF8
Per un altro esempio se si usa un database o una directory, se il file è denominato users.csv e si trova nella directory corrente, immettere questo comando:
$filename = ".\users.csv" $dbusers = Import-Csv -Path $filename -Encoding UTF8
Scegliere la colonna del file users.csv che corrisponderà a un attributo di un utente in Microsoft Entra ID.
Se si usa SAP Cloud Identity Services, il mapping predefinito è l'attributo
userName
SAP SCIM con l'attributouserPrincipalName
MICROSOFT Entra ID :$db_match_column_name = "userName" $azuread_match_attr_name = "userPrincipalName"
Per un altro esempio se si usa un database o una directory, è possibile che siano presenti utenti in un database in cui il valore nella colonna denominata
EMail
è lo stesso valore dell'attributouserPrincipalName
Microsoft Entra :$db_match_column_name = "EMail" $azuread_match_attr_name = "userPrincipalName"
Recuperare gli ID di tali utenti in Microsoft Entra ID.
Lo script di PowerShell seguente usa i
$dbusers
valori ,$db_match_column_name
e$azuread_match_attr_name
specificati in precedenza. Eseguirà una query su Microsoft Entra ID per individuare un utente con un attributo con un valore corrispondente per ogni record nel file di origine. Se sono presenti molti utenti nel file ottenuto dall'origine SAP Cloud Identity Services, dal database o dalla directory, il completamento di questo script potrebbe richiedere alcuni minuti. Se non si dispone di un attributo in Microsoft Entra ID che ha il valore e che deve usare un'espressionecontains
di filtro o un'altra, sarà necessario personalizzare questo script e che nel passaggio 11 riportato di seguito per usare un'espressione di filtro diversa.$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 } }
Visualizzare i risultati delle query precedenti. Verificare se uno degli utenti in SAP Cloud Identity Services, il database o la directory non è stato possibile trovare in Microsoft Entra ID, a causa di errori o corrispondenze mancanti.
Lo script di PowerShell seguente visualizzerà i conteggi dei record che non si trovano:
$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."
Al termine dello script, indicherà un errore se eventuali record dell'origine dati non si trovano in Microsoft Entra ID. Se non tutti i record per gli utenti dell'archivio dati dell'applicazione potrebbero trovarsi come utenti in Microsoft Entra ID, è necessario analizzare quali record non corrispondono e perché.
Ad esempio, l'indirizzo di posta elettronica di un utente e userPrincipalName potrebbe essere stato modificato nell'ID Microsoft Entra senza aggiornare la proprietà corrispondente
mail
nell'origine dati dell'applicazione. In alternativa, l'utente potrebbe aver già lasciato l'organizzazione, ma si trova ancora nell'origine dati dell'applicazione. In alternativa, potrebbe essere presente un account fornitore o amministratore con privilegi avanzati nell'origine dati dell'applicazione che non corrisponde a una persona specifica nell'ID Microsoft Entra.Se sono presenti utenti che non potevano trovarsi in Microsoft Entra ID o non erano attivi e non sono stati in grado di accedere, ma si vuole avere l'accesso esaminato o i relativi attributi aggiornati in SAP Cloud Identity Services, nel database o nella directory, è necessario aggiornare l'applicazione, la regola di corrispondenza o aggiornare o creare utenti di Microsoft Entra per loro. Per altre informazioni sulle modifiche da apportare, vedere Gestire mapping e account utente nelle applicazioni che non corrispondono agli utenti in Microsoft Entra ID.
Se si sceglie l'opzione di creazione di utenti in Microsoft Entra ID, è possibile creare utenti in blocco usando uno dei due elementi seguenti:
- Un file CSV, come descritto in Creare utenti in blocco nell'Interfaccia di amministrazione di Microsoft Entra
- Il cmdlet New-MgUser
Assicurarsi che questi nuovi utenti siano popolati con gli attributi necessari per Microsoft Entra ID per associarli in un secondo momento agli utenti esistenti nell'applicazione e gli attributi richiesti dall'ID Microsoft Entra, inclusi
userPrincipalName
,mailNickname
edisplayName
. Il valore diuserPrincipalName
deve essere univoco tra tutti gli utenti nella directory.Ad esempio, in un database potrebbero essere presenti utenti per cui il valore nella colonna denominata
EMail
è il valore che si vuole usare come nome dell'entità utente Microsoft Entra, il valore nella colonnaAlias
contiene il nome alternativo di posta elettronica di Microsoft Entra ID e il valore nella colonnaFull name
contiene il nome visualizzato dell'utente:$db_display_name_column_name = "Full name" $db_user_principal_name_column_name = "Email" $db_mail_nickname_column_name = "Alias"
È quindi possibile usare questo script per creare utenti di Microsoft Entra per quelli in SAP Cloud Identity Services, nel database o nella directory che non corrispondono agli utenti in Microsoft Entra ID. Si noti che potrebbe essere necessario modificare questo script per aggiungere altri attributi di Microsoft Entra necessari nell'organizzazione o se non è né
mailNickname
userPrincipalName
, per fornire l'attributo$azuread_match_attr_name
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 } }
Dopo aver aggiunto gli utenti mancanti all'ID Microsoft Entra, eseguire di nuovo lo script del passaggio 7. Eseguire quindi lo script dal passaggio 8. Verificare che non vengano segnalati errori.
$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."
Verificare che gli utenti di Microsoft Entra esistenti dispongano degli attributi necessari
Prima di abilitare il provisioning utenti automatico, è necessario decidere quali utenti in Microsoft Entra ID devono accedere a SAP Cloud Identity Services e quindi verificare che gli utenti abbiano gli attributi necessari in Microsoft Entra ID e che tali attributi siano mappati allo schema previsto di SAP Cloud Identity Services.
- Per impostazione predefinita, il valore dell'attributo utente
userPrincipalName
Microsoft Entra viene mappato sia agliuserName
attributi eemails[type eq "work"].value
di SAP Cloud Identity Services. Se gli indirizzi di posta elettronica dell'utente sono diversi dai nomi delle entità utente, potrebbe essere necessario modificare questo mapping. - SAP Cloud Identity Services può ignorare i valori dell'attributo
postalCode
se il formato del codice postale della società non corrisponde al paese della società. - Per impostazione predefinita, l'attributo
department
Microsoft Entra viene mappato all'attributo SAP Cloud Identity Servicesurn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department
. Se gli utenti di Microsoft Entra hanno valori dell'attributodepartment
, tali valori devono corrispondere a quelli già configurati in SAP Cloud Identity Services, altrimenti la creazione o l'aggiornamento dell'utente avranno esito negativo. Se idepartment
valori negli utenti di Microsoft Entra non sono coerenti con quelli nell'ambiente SAP, rimuovere il mapping prima di assegnare gli utenti. - L'endpoint SCIM di SAP Cloud Identity Services richiede un formato specifico per determinati attributi. Altre informazioni su questi attributi e sul loro formato specifico sono disponibili qui.
Assegnare utenti all'applicazione SAP Cloud Identity Services in Microsoft Entra ID
Per determinare quali utenti avranno l'accesso alle app selezionate, Microsoft Entra ID usa il concetto delle cosiddette assegnazioni. Nel contesto del provisioning utenti automatico, se il valore Impostazioni di Ambito è Sincronizza solo utenti e gruppi assegnati, solo gli utenti e i gruppi assegnati a un ruolo applicazione di tale applicazione in Microsoft Entra ID vengono sincronizzati con SAP Cloud Identity Services. Quando si assegna un utente a SAP Cloud Identity Services, è necessario selezionare qualsiasi ruolo specifico dell'applicazione valido(se disponibile) nella finestra di dialogo di assegnazione. Gli utenti con il ruolo Accesso predefinito vengono esclusi dal provisioning. Attualmente l'unico ruolo disponibile per SAP Cloud Identity Services è User.
Se il provisioning è già stato abilitato per l'applicazione, verificare che il provisioning dell'applicazione non sia in quarantena prima di assegnare più utenti all'applicazione. Risolvere eventuali problemi che causano la quarantena, prima di procedere.
Verificare la presenza di utenti presenti in SAP Cloud Identity Services e che non sono già assegnati all'applicazione in Microsoft Entra ID
I passaggi precedenti hanno valutato se gli utenti in SAP Cloud Identity Services esistono anche come utenti in Microsoft Entra ID. Tuttavia, potrebbero non essere tutti attualmente assegnati ai ruoli dell'applicazione in Microsoft Entra ID. I passaggi successivi sono quindi vedere quali utenti non hanno assegnazioni ai ruoli dell'applicazione.
Usando PowerShell, cercare l'ID entità servizio per l'entità servizio dell'applicazione.
Ad esempio, se l'applicazione aziendale è denominata
SAP Cloud Identity Services
, immettere i comandi seguenti:$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
Recuperare gli utenti che hanno attualmente assegnazioni all'applicazione in Microsoft Entra ID.
Questo si basa sulla
$azuread_sp
variabile impostata nel comando precedente.$azuread_existing_assignments = @(Get-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $azuread_sp.Id -All)
Confrontare l'elenco degli ID utente degli utenti già presenti sia in SAP Cloud Identity Services che nell'ID Microsoft Entra con gli utenti attualmente assegnati all'applicazione in Microsoft Entra ID. Questo script si basa sulla
$azuread_match_id_list
variabile impostata nelle sezioni precedenti:$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."
Se zero utenti non sono assegnati ai ruoli dell'applicazione, a indicare che tutti gli utenti vengono assegnati ai ruoli dell'applicazione, ciò indica che non sono presenti utenti in comune in Microsoft Entra ID e SAP Cloud Identity Services, quindi non sono necessarie modifiche. Tuttavia, se uno o più utenti già in SAP Cloud Identity Services non sono attualmente assegnati ai ruoli dell'applicazione, è necessario continuare la procedura e aggiungerli a uno dei ruoli dell'applicazione.
Selezionare il
User
ruolo dell'entità servizio dell'applicazione.$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"}
Creare assegnazioni di ruolo dell'applicazione per gli utenti che sono già presenti in SAP Cloud Identity Services e Microsoft Entra e non hanno attualmente assegnazioni di ruolo all'applicazione:
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 }
Attendere un minuto per la propagazione delle modifiche all'interno di Microsoft Entra ID.
Nel successivo ciclo di provisioning di Microsoft Entra, il servizio di provisioning Microsoft Entra confronta la rappresentazione di tali utenti assegnati all'applicazione, con la rappresentazione in SAP Cloud Identity Services e aggiorna gli utenti di SAP Cloud Identity Services in modo che abbiano gli attributi di Microsoft Entra ID.
Assegnare gli utenti rimanenti e monitorare la sincronizzazione iniziale
Al termine del test, viene eseguito correttamente il provisioning di un utente in SAP Cloud Identity Services e tutti gli utenti esistenti di SAP Cloud Identity Services vengono assegnati al ruolo applicazione, è possibile assegnare qualsiasi altro utente autorizzato all'applicazione SAP Cloud Identity Services seguendo una delle istruzioni riportate di seguito:
- È possibile assegnare ogni singolo utente all'applicazione nell'interfaccia di amministrazione di Microsoft Entra,
- È possibile assegnare singoli utenti all'applicazione tramite il cmdlet
New-MgServicePrincipalAppRoleAssignedTo
di PowerShell, come illustrato nella sezione precedente o - se l'organizzazione dispone di una licenza per Microsoft Entra ID Governance, è anche possibile distribuire criteri di gestione entitlement per automatizzare l'assegnazione di accesso.
Dopo che gli utenti sono assegnati al ruolo applicazione e sono nell'ambito del provisioning, il servizio di provisioning Di Microsoft Entra eseguirà il provisioning in SAP Cloud Identity Services. Si noti che la sincronizzazione iniziale richiede più tempo rispetto alle sincronizzazioni successive, che si verificano circa ogni 40 minuti, purché il servizio di provisioning di Microsoft Entra sia in esecuzione.
Se non viene visualizzato il provisioning degli utenti, vedere la procedura descritta nella guida alla risoluzione dei problemi per nessun utente di cui è stato effettuato il provisioning. Controllare quindi il log di provisioning tramite l'interfaccia di amministrazione di Microsoft Entra o le API Graph. Filtrare il log in base allo stato Errore. Se si verificano errori con errorCode of DuplicateTargetEntries, indica un'ambiguità nelle regole di corrispondenza del provisioning e sarà necessario aggiornare gli utenti di Microsoft Entra o i mapping usati per la corrispondenza per garantire che ogni utente di Microsoft Entra corrisponda a un utente dell'applicazione. Filtrare quindi il log con l'azione Crea e stato Ignorato. Se gli utenti sono stati ignorati con il codice SkipReason di NotEffectivelyEntitled, questo potrebbe indicare che gli account utente in Microsoft Entra ID non sono stati confrontati perché lo stato dell'account utente era Disabilitato.
Configurare l'accesso Single Sign-On
È anche possibile scegliere di abilitare l'accesso Single Sign-On basato su SAML per SAP Cloud Identity Services, seguendo le istruzioni fornite nell'esercitazione sull'accesso Single Sign-On di SAP Cloud Identity Services. L'accesso Single Sign-On può essere configurato indipendentemente dal provisioning utenti automatico, anche se queste due funzionalità sono complementari.
Monitorare il provisioning
È possibile usare la sezione Dettagli sincronizzazione per monitorare lo stato di avanzamento e seguire i collegamenti al report delle attività di provisioning, che descrive tutte le azioni eseguite dal servizio di provisioning Microsoft Entra in SAP Cloud Identity Services. Inoltre, è possibile monitorare il progetto di provisioning tramite le API Graph di Microsoft.
Per altre informazioni sulla lettura dei log di provisioning di Microsoft Entra, vedere Creazione di report sul provisioning automatico degli account utente.
Gestire le assegnazioni di ruolo dell'applicazione
Man mano che gli utenti assegnati all'applicazione vengono aggiornati in Microsoft Entra ID, tali modifiche verranno automaticamente sottoposte a provisioning in SAP Cloud Identity Services.
Se si dispone di Microsoft Entra ID Governance, è possibile automatizzare le modifiche alle assegnazioni di ruolo dell'applicazione per SAP Cloud Identity Services in Microsoft Entra ID, per aggiungere o rimuovere assegnazioni come persone che si uniscono all'organizzazione o lasciare o modificare i ruoli.
- È possibile eseguire una verifica di accesso occasionale o ricorrente delle assegnazioni di ruolo dell'applicazione.
- È possibile creare un pacchetto di accesso di gestione entitlement per questa applicazione. È possibile disporre di criteri a cui gli utenti devono essere assegnati l'accesso, quando richiedono, da un amministratore, automaticamente in base alle regole o tramite flussi di lavoro del ciclo di vita.
Altre risorse
- Gestione del provisioning degli account utente per app aziendali
- Che cos'è l'accesso alle applicazioni e Single Sign-On con Microsoft Entra ID?
- Gestire l'accesso alle applicazioni SAP
- Gestire l'accesso per le applicazioni nell'ambiente