Vai al contenuto
Configurare SCIM con Microsoft Entra ID

Configurare SCIM con Microsoft Entra ID

Questa guida ti accompagna nel collegamento di Microsoft Entra ID a mTime con il provisioning SCIM, dalla prima impostazione in mTime a una sincronizzazione verificata e funzionante. Segui i passaggi in ordine — tutto ciò che ti serve è in questa pagina.

Lungo il percorso: prepari mTime (passaggi 1–3), crei e colleghi l’applicazione enterprise in Entra (passaggi 4–6), crei e assegni gli utenti e i gruppi (passaggi 7–8) e testi prima di andare in produzione (passaggi 9–11).

Per capire cosa fa il provisioning SCIM prima di configurarlo — come gli utenti vengono abbinati ai dipendenti, come i gruppi diventano ruoli, cosa fanno la disattivazione e l’eliminazione — vedi Provisioning SCIM.

Passaggio 1 — Attivare l’integrazione di provisioning SCIM in mTime

  1. Vai su Integrazioni e apri Provisioning SCIM.
  2. Attiva l’integrazione.
  3. Lascia Collega externalId a un attributo dipendente vuoto, a meno che tu non voglia l’abbinamento tramite numero dipendente. Vuoto è l’impostazione predefinita e, così, gli utenti vengono abbinati ai dipendenti tramite l’indirizzo e-mail — che è tutto ciò che serve alla maggior parte delle aree di lavoro. Scegli un attributo solo se il tuo identity provider invia un numero dipendente stabile e vuoi che mTime abbini prima su quello; in tal caso scegli l’attributo che la tua integrazione HR compila con quel numero. Solo gli attributi contrassegnati come univoci possono essere collegati — se quello che vuoi non è nell’elenco, contrassegnalo prima come univoco nelle impostazioni degli attributi dipendente.
L'integrazione di provisioning SCIM attivata
L'integrazione di provisioning SCIM attivata
È questa l’unica impostazione che decide se il campo SCIM externalId viene usato o no. Lasciala vuota e potrai ignorare externalId per tutto il resto di questa guida — non deve mai essere compilato.
Attivare l’integrazione disattiva automaticamente Auto-provisioning utenti — un solo sistema gestisce l’elenco utenti alla volta. Finché l’integrazione è attiva, quell’impostazione resta bloccata; disattiva prima l’integrazione se vuoi tornare indietro.

Passaggio 2 — Creare l’utente di servizio di provisioning

L’identity provider ha bisogno di un proprio account di servizio in mTime:

  1. Vai su AmministrazioneUtenti e fai clic su Crea utente di servizio .
  2. Dagli un nome riconoscibile, ad es. entra-provisioning.
  3. Assegnagli solo il ruolo Provisioning — nient’altro.

Può esistere un solo utente di servizio di provisioning per area di lavoro. Il suo ruolo è circoscritto: l’account funziona esclusivamente sugli endpoint SCIM e viene rifiutato ovunque altro.

L'utente di servizio di provisioning nell'elenco utenti
L'utente di servizio di provisioning nell'elenco utenti

Passaggio 3 — Creare la chiave API

  1. Apri l’utente di servizio appena creato e aggiungi una chiave API.
  2. Copia subito la chiave — viene mostrata una sola volta. È il “Secret Token” che incollerai in Entra al passaggio 5.

Se la perdi, revoca la chiave e creane una nuova.

Passaggio 4 — Creare l’applicazione enterprise in Entra

Passa ora al Microsoft Entra admin center. Ti serve un ruolo che possa creare e gestire applicazioni enterprise (ad es. Application Administrator).

  1. Nel menu a sinistra, vai su Enterprise apps (1) > All applications (2) e fai clic su New application (3) nella barra degli strumenti sopra l’elenco. Si apre la Microsoft Entra App Gallery.
L'elenco delle applicazioni enterprise — New application apre la galleria delle app
L'elenco delle applicazioni enterprise — New application apre la galleria delle app
  1. Fai clic su Create your own application (1) in cima alla pagina della galleria — si apre un pannello a destra.
  2. Dai un nome all’app (2) — gli screenshot usano mTIME SCIM test; qualsiasi nome va bene (ad es. mTime). Mantieni selezionato Integrate any other application you don’t find in the gallery (Non-gallery) (3). Sotto il campo del nome Entra suggerisce app della galleria dal nome simile — ignorale, mTime non è nella galleria. Le altre due opzioni creano il tipo di oggetto sbagliato: una registrazione app (per software che sviluppi tu stesso) non ha provisioning, e Application Proxy è per le app on-premises.
  3. Fai clic su Create (4) in fondo al pannello.
Create your own application: mantieni Non-gallery selezionato e fai clic su Create
Create your own application: mantieni Non-gallery selezionato e fai clic su Create
  1. La nuova applicazione si apre e da questo momento compare sotto All applications (1).
L'applicazione enterprise mTime nell'elenco delle applicazioni
L'applicazione enterprise mTime nell'elenco delle applicazioni

È in questa applicazione che avviene tutto il resto: la connessione a mTime, le mappature degli attributi e la scelta di quali utenti e gruppi vengono sottoposti a provisioning.

Passaggio 5 — Collegare l’applicazione a mTime

  1. Nel menu dell’applicazione, apri Provisioning (1) sotto Manage (la scheda Provision User Accounts (2) nella Overview porta allo stesso posto).
La Overview dell'applicazione — Provisioning nel menu apre il pannello di provisioning
La Overview dell'applicazione — Provisioning nel menu apre il pannello di provisioning
  1. La prima volta si apre la pagina Get started with application provisioning. Fai clic su Connect your application (1) sotto Create configuration. (La voce di menu Connectivity è disattivata finché la configurazione non esiste — questo pulsante è il modo per raggiungerla; nelle visite successive apri Connectivity direttamente.)

Provisioning la prima volta — Connect your application apre la pagina Connectivity
Provisioning la prima volta — Connect your application apre la pagina Connectivity
3. Nella pagina Connectivity, mantieni Select authentication method (1) su Bearer authentication. 4. Inserisci il Tenant URL (2): https://<il tuo host mTime>/api/scim/v2 — ad esempio https://mtime.example.com/api/scim/v2. 5. Incolla la chiave API del passaggio 3 in Secret token (3), subito sotto l’URL. 6. Fai clic su Test connection (4). Entra chiama mTime e verifica le credenziali — un test riuscito è necessario prima di poter salvare. 7. Fai clic su Save (5) nella barra degli strumenti in alto.

Connectivity: Bearer authentication, il tenant URL di mTime e il secret token, verificati con Test connection
Connectivity: Bearer authentication, il tenant URL di mTime e il secret token, verificati con Test connection
Microsoft sta distribuendo un’esperienza di provisioning rinnovata, quindi queste schermate potrebbero essere disposte in modo leggermente diverso nel tuo tenant — un banner nella pagina permette di passare dalla versione vecchia a quella nuova e viceversa. I campi sono sempre gli stessi: metodo di autenticazione, tenant URL e secret token.
Test connection non riesce?Verifica
UnauthorizedIl secret token non è la chiave API dell’utente di servizio di provisioning, oppure la chiave è stata revocata
ForbiddenL’integrazione di provisioning SCIM è disattivata in mTime
Not found / timeoutIl Tenant URL è sbagliato — deve terminare con /api/scim/v2

Passaggio 6 — Configurare le mappature degli attributi

Entra decide quali dati riceve mTime tramite le mappature degli attributi. Una sola di esse è obbligatoria: userName, che contiene l’indirizzo e-mail con cui mTime esegue il provisioning e l’abbinamento.

L’externalId è facoltativo — non devi mai compilarlo. Mappalo solo se al passaggio 1 hai scelto un attributo dipendente e vuoi che mTime abbini gli utenti tramite il numero dipendente invece che tramite l’indirizzo e-mail. Se non lo mappi, il provisioning funziona esattamente allo stesso modo e gli utenti vengono abbinati tramite il loro indirizzo e-mail; nulla viene rifiutato per un externalId mancante.
  1. Nel pannello di provisioning, apri Provisioning sotto Manage ed espandi la sezione Mappings. Elenca due mappature — Provision Microsoft Entra ID Groups e Provision Microsoft Entra ID Users — entrambe abilitate per impostazione predefinita. Lascia Groups abilitata: alimenta la mappatura da gruppi a ruoli del passaggio 8.
  2. Fai clic su Provision Microsoft Entra ID Users — si apre l’elenco Attribute Mapping.
  3. Solo se al passaggio 1 hai scelto un attributo dipendente: trova la riga externalId, fai clic su Edit a destra (1) e sostituisci l’attributo di origine predefinito con l’attributo Entra che contiene il numero dipendente — tipicamente employeeId. Altrimenti salta questo punto e passa al punto 5.
  4. Le restanti mappature predefinite possono rimanere come sono — mTime ignora gli attributi che non usa. Quelle che contano:
mTime (attributo SCIM)Da compilare?Attributo di origine EntraUsato per
externalIdFacoltativo — solo con un attributo collegato (passaggio 1)employeeId (o dovunque si trovi il tuo numero dipendente)Abbinare l’utente al dipendente tramite il numero dipendente
userNameObbligatoriouserPrincipalNameL’indirizzo e-mail e l’identità di accesso dell’utente, e il metodo di riserva per abbinare il dipendente
displayNameFacoltativodisplayNameIl nome dell’utente
activeFacoltativoSwitch([IsSoftDeleted], , “False”, “True”, “True”, “False”)Sospendere e riattivare l’utente
  1. Fai clic su Save (2) nella barra degli strumenti in alto.
L'elenco Attribute Mapping — externalId mappato su employeeId
L'elenco Attribute Mapping — externalId mappato su employeeId

Passaggio 7 — Creare gli utenti e i gruppi in Entra

Gli utenti e i gruppi che devono arrivare in mTime vivono nella tua directory Entra. I tuoi dipendenti reali probabilmente ci sono già — questo passaggio mostra i campi che contano, usando un utente di test e un gruppo di test (gli screenshot usano Tina Test e Team Leads).

  1. Vai su Entra ID > Users e fai clic su New user > Create new user. Nella scheda Basics, assegna all’utente un principal name (1) e un display name (2).
Create new user: il principal name e il display name nella scheda Basics
Create new user: il principal name e il display name nella scheda Basics
  1. Facoltativo — salta questo punto, a meno che al passaggio 1 tu non abbia scelto un attributo dipendente. Lascia vuoto Employee ID e mTime abbina l’utente tramite l’indirizzo e-mail. Se invece ne hai scelto uno: nella scheda Properties, compila Employee ID (1) sotto Job Information con il numero dipendente stabile dell’utente (qui test-5000) — è ciò che la mappatura externalId del passaggio 6 invia a mTime, quindi deve corrispondere al numero del dipendente nei tuoi dati HR. In entrambi i casi, quando hai finito fai clic su Review + create (2).
L'Employee ID contiene il numero dipendente stabile che collega l'utente al dipendente mTime
L'Employee ID contiene il numero dipendente stabile che collega l'utente al dipendente mTime
  1. Vai su Entra ID > Groups e fai clic su New group. Mantieni Group type (1) su Security, dai al gruppo il nome del ruolo mTime che deve gestire (2) e, sotto Members, fai clic sul link dei membri (3).
New group: il nome del gruppo è ciò per cui mTime collega (o crea) un ruolo
New group: il nome del gruppo è ciò per cui mTime collega (o crea) un ruolo
  1. Cerca gli utenti che devono detenere il ruolo e spuntali (1), fai clic su Select (2) — poi fai clic su Create (3).
Aggiunta di Tina Test come membro del gruppo
Aggiunta di Tina Test come membro del gruppo

Un gruppo può anche partire senza membri: crea (o collega) comunque il suo ruolo mTime, e le appartenenze seguono man mano che aggiungi persone in Entra.

Passaggio 8 — Assegnare gli utenti e i gruppi all’applicazione

Entra sottopone a provisioning solo ciò che è assegnato all’applicazione — creare un gruppo (passaggio 7) non basta; la sincronizzazione lo ignora finché non compare nell’elenco delle assegnazioni dell’app:

  1. Nel menu dell’applicazione, apri Users and groups (1) sotto Manage. L’elenco mostra tutto ciò che la sincronizzazione copre attualmente. Fai clic su Add user/group (2) nella barra degli strumenti.
L'elenco delle assegnazioni dell'applicazione — ciò che il job di provisioning copre
L'elenco delle assegnazioni dell'applicazione — ciò che il job di provisioning copre
  1. Nella pagina Add Assignment, apri il selettore Users and groups, cerca il gruppo, spuntalo (1) e fai clic su Select (2) — poi fai clic su Assign (3) in basso a sinistra. Attenzione all’avviso di Entra: i gruppi annidati non si propagano, quindi assegna ogni gruppo direttamente.
Selezione del gruppo Team Leads e assegnazione all'applicazione
Selezione del gruppo Team Leads e assegnazione all'applicazione
  1. Il gruppo ora compare nell’elenco delle assegnazioni (1). I singoli utenti possono essere assegnati allo stesso modo.
Team Leads è ora nell'ambito della sincronizzazione
Team Leads è ora nell'ambito della sincronizzazione

Questo elenco è la fonte di verità perché l’impostazione Scope del provisioning (sotto Provisioning > Settings) è per impostazione predefinita su Sync only assigned users and groups — lasciala lì.

Cosa arriva in mTime:

  • Ogni utente assegnato diventa un utente mTime — abbinato al dipendente tramite il numero dipendente collegato (se configurato) o tramite l’indirizzo e-mail, oppure dotato di una nuova scheda dipendente minima se nessuno dei due corrisponde.
  • Ogni gruppo assegnato diventa un ruolo mTime. Un gruppo il cui nome corrisponde esattamente a un ruolo esistente viene collegato a quel ruolo; qualsiasi altro gruppo crea un nuovo ruolo vuoto che un amministratore configura poi nella pagina dei ruoli.
  • I membri del gruppo ricevono automaticamente il ruolo del gruppo — inclusi i membri aggiunti in seguito.
Per consentire a Entra di gestire l’appartenenza a un ruolo che esisteva già in mTime (ad esempio admin), un proprietario dell’area di lavoro deve prima approvare quel ruolo: apri il ruolo e aggiungi provisioning sotto Assegnabile da. Il ruolo owner non può mai essere gestito tramite SCIM.

Passaggio 9 — Testare con il provisioning su richiesta

Prima di avviare la sincronizzazione completa, verifica la configurazione con un singolo utente:

  1. Apri Provision on demand (1) in cima al menu del pannello di provisioning, scegli un utente di test (2) (assegnato al passaggio 8) e sottoponilo a provisioning. Entra percorre le sue quattro fasi — import, scope, match, perform action — e ogni fase deve terminare con Success.
Provision on demand: tutte e quattro le fasi verdi per l'utente di test
Provision on demand: tutte e quattro le fasi verdi per l'utente di test
  1. Apri View details (1) su Perform action per vedere esattamente cosa ha ricevuto mTime. La riga externalId (2) conta solo se al passaggio 1 hai scelto un attributo dipendente — in quel caso dovrebbe contenere il numero dipendente. Altrimenti ignorala: un externalId vuoto è normale e non fa fallire nulla.
I dettagli di Perform action — externalId contiene il numero dipendente stabile
I dettagli di Perform action — externalId contiene il numero dipendente stabile
  1. Ora controlla il lato mTime in AmministrazioneUtenti. L’utente esiste con stato invitato e detiene il ruolo employee (1) (più eventuali ruoli di gruppo).
L'utente sottoposto a provisioning in mTime: invitato, con il ruolo employee
L'utente sottoposto a provisioning in mTime: invitato, con il ruolo employee
  1. Apri il dipendente collegato: poiché nessun dipendente corrispondeva ancora, è stata creata una scheda minima — senza rapporto di lavoro (1) (la tua integrazione HR la arricchisce in seguito), con il numero dipendente memorizzato nell’attributo collegato al passaggio 1 (2).
La scheda dipendente minima: ancora nessun rapporto di lavoro, il numero dipendente al suo posto
La scheda dipendente minima: ancora nessun rapporto di lavoro, il numero dipendente al suo posto
  1. Testa il gruppo allo stesso modo: apri di nuovo Provision on demand, passa il selettore alla scheda Groups e sottoponi a provisioning il gruppo del passaggio 8 (1). Le stesse quattro fasi devono diventare verdi.
Provision on demand per il gruppo — crea il ruolo e le sue appartenenze in mTime
Provision on demand per il gruppo — crea il ruolo e le sue appartenenze in mTime
  1. In mTime, il gruppo è arrivato come ruolo in AmministrazioneRuoli. Creato vuoto e con il badge “Gestito da un gruppo IdP” (1), pronto perché un amministratore decida cosa può fare.
Il gruppo come ruolo mTime: vuoto, con il badge, in attesa delle sue autorizzazioni
Il gruppo come ruolo mTime: vuoto, con il badge, in attesa delle sue autorizzazioni
  1. E i membri del gruppo lo detengono: l’utente di test ora porta il ruolo accanto a employee (1).
L'utente sottoposto a provisioning con il ruolo del gruppo
L'utente sottoposto a provisioning con il ruolo del gruppo
Il provisioning su richiesta crea e aggiorna soltanto. Le disattivazioni e le eliminazioni vengono applicate dal ciclo di provisioning pianificato (passaggio 10) — testare una disattivazione con “Provision on demand” non sospenderà l’utente in mTime.

Passaggio 10 — Avviare il provisioning

  1. Di nuovo nella Overview della configurazione, fai clic su Start provisioning (1) nella barra degli strumenti.
  2. Entra esegue un ciclo iniziale che copre tutto ciò che è assegnato all’applicazione, poi un ciclo incrementale circa ogni 40 minuti che applica le modifiche — incluse le disattivazioni e le eliminazioni che il provisioning su richiesta salta.
  3. La Overview segue il job: Last cycle completed time (2) e Current cycle status (3) con l’avanzamento e le modifiche elaborate. Pause provisioning e Restart provisioning si trovano nella stessa barra degli strumenti, e gli errori compaiono sotto Provisioning logs (4) nella sezione Monitor, ciascuno con il motivo restituito da mTime (ad es. un numero dipendente mancante).
La panoramica del provisioning: start, pause e restart nella barra degli strumenti; lo stato del ciclo e l'ora dell'ultimo completamento sotto
La panoramica del provisioning: start, pause e restart nella barra degli strumenti; lo stato del ciclo e l'ora dell'ultimo completamento sotto

Passaggio 11 — Verificare il ciclo di vita

Esegui un giro completo per convincerti che funziona:

  1. Disattiva l’utente di test in Entra (blocca l’accesso). Dopo il ciclo successivo risulta sospeso in mTime e viene disconnesso immediatamente.
  2. Riattivalo — il ciclo successivo riattiva l’utente mTime.
  3. Rimuovi l’utente di test dal gruppo — la sincronizzazione successiva revoca il ruolo in mTime; riaggiungilo e il ruolo torna.

Da qui in poi, la gestione di utenti e gruppi vive in Entra. Cosa ogni ruolo può fare resta ai tuoi amministratori mTime — vedi Come i gruppi diventano ruoli.

Risoluzione dei problemi

ProblemaSoluzione
Test Connection non riesceVedi la tabella al passaggio 5 — token sbagliato, integrazione disattivata o URL errato
“Esiste già un utente con questo externalId”Due persone diverse portano lo stesso numero dipendente nell’IdP — un errore nei dati da correggere in Entra
Utente creato ma non collegato al dipendente giustoIl valore dell’attributo collegato non corrisponde al numero inviato da Entra (allinea Collega externalId a un attributo dipendente del passaggio 1 con i tuoi dati HR), oppure — quando l’abbinamento avviene per e-mail — gli indirizzi differiscono tra Entra e la scheda dipendente
È stata creata una scheda dipendente duplicataNé il numero dipendente né l’indirizzo e-mail corrispondevano al dipendente esistente — allineali e lascia che la tua integrazione HR unisca i dati, oppure collega un attributo al passaggio 1 per un abbinamento esatto
Utente disattivato ancora attivo in mTimeLe disattivazioni passano solo dal ciclo pianificato — attendi il ciclo successivo (o verifica che il provisioning sia avviato), non testarle su richiesta
Il gruppo non è diventato un ruoloVerifica che il gruppo sia assegnato all’applicazione (passaggio 8) e che compaia nei log di provisioning
Una modifica di appartenenza a un ruolo esistente non ha effettoIl ruolo non è stato approvato — aggiungi provisioning sotto Assegnabile da del ruolo
“Esiste già un utente di servizio di provisioning”Ne può esistere solo uno — riusalo, e ruota le credenziali creando una nuova chiave API