Provisioning degli utenti con SCIM
Configuring SCIM User Provisioning
ScribbleMaps supporta SCIM 2.0 (System for Cross-domain Identity Management) per il provisioning e il deprovisioning automatizzato degli utenti. Questo ti consente di sincronizzare automaticamente gli utenti dal tuo Identity Provider (IdP) a ScribbleMaps, garantendo che l'appartenenza al team rimanga sincronizzata con la directory della tua organizzazione.
Il provisioning SCIM è disponibile su team.scribblemaps.com ed è completamente gratuito.
Table of Contents
- Cos'è lo SCIM?
- Prima di iniziare
- Passo 1: Abilitare lo SCIM in ScribbleMaps
- Passo 2: Generare un Bearer Token
- Passo 3: Configurare il proprio Identity Provider
- Passo 4: Impostare Default Product Assignment
- Passo 5: Testare e assegnare gli utenti
- Guide specifiche per i provider
- Operazioni SCIM supportate
- Gestione del ciclo di vita degli utenti
- Risoluzione dei problemi
What is SCIM?
SCIM (System for Cross-domain Identity Management) è uno standard aperto che consente di eseguire automaticamente le seguenti operazioni:
- Effettuare il provisioning degli utenti - Creare automaticamente account ScribbleMaps quando gli utenti vengono assegnati nel proprio IdP
- Aggiornare gli utenti - Mantenere sincronizzate le informazioni degli utenti (nome, email)
- Effettuare il deprovisioning degli utenti - Disattivare automaticamente gli account quando gli utenti vengono rimossi dal proprio IdP
- Gestire i ruoli - Assegnare gli utenti ai ruoli Admin o Member tramite l'appartenenza ai gruppi
SCIM funziona insieme a SSO (SAML/OIDC) per fornire una gestione completa del ciclo di vita delle identità.
Before You Begin
- Devi essere un Team Owner per configurare lo SCIM
- È necessario l'accesso alla console di amministrazione del proprio Identity Provider
- Il proprio IdP deve supportare SCIM 2.0 (Okta, Microsoft Entra ID, OneLogin, JumpCloud, ecc.)
- Consigliamo di configurare l'SSO prima dello SCIM per una migliore esperienza utente
Step 1: Enable SCIM in ScribbleMaps
- Accedi a team.scribblemaps.com
- Naviga su SCIM Provisioning (barra laterale sinistra)
- Attiva Enable SCIM su ON
Nota: sarà necessario generare un bearer token prima che lo SCIM possa essere completamente abilitato.
Step 2: Generate a Bearer Token
Il bearer token autentica il tuo Identity Provider con ScribbleMaps.
- Nella pagina delle impostazioni SCIM, fai clic su Generate Token
- Copia immediatamente il token e conservalo in modo sicuro
Note importanti sulla sicurezza:
- Il token viene visualizzato una sola volta: se lo perdi, dovrai generarne uno nuovo
- Tratta questo token come una password: chiunque sia in possesso del token può gestire gli utenti del tuo team
- Puoi revocare e rigenerare il token in qualsiasi momento se viene compromesso
- La revoca di un token interrompe immediatamente tutte le operazioni SCIM fino alla configurazione di un nuovo token
Step 3: Configure Your Identity Provider
Utilizza i seguenti dettagli per configurare ScribbleMaps come applicazione SCIM nel tuo IdP:
| Impostazione | Valore |
|---|---|
| SCIM Base URL | https://api.scribblemaps.com/scim/v2 |
| Authentication Method | HTTP Header / Bearer Token |
| Authorization Header | Bearer YOUR_TOKEN_HERE |
| Unique Identifier |
userName (indirizzo email) |
SCIM Endpoints Reference
| Endpoint | Scopo |
|---|---|
/scim/v2/Users |
Provisioning e gestione degli utenti |
/scim/v2/Groups |
Gestione dell'appartenenza a ruoli/gruppi |
/scim/v2/ServiceProviderConfig |
Funzionalità SCIM (discovery) |
/scim/v2/ResourceTypes |
Tipi di risorse supportati (discovery) |
/scim/v2/Schemas |
Schemi di utenti e gruppi (discovery) |
Step 4: Set Default Product Assignment (Optional)
Puoi assegnare automaticamente una licenza di prodotto agli utenti quando viene eseguito il loro provisioning tramite SCIM:
- Nella pagina delle impostazioni SCIM, trova Default Product Assignment
- Seleziona un prodotto:
- None - Gli utenti vengono creati senza un prodotto (da assegnare manualmente in seguito)
- Viewer - Accesso in sola visualizzazione
- Pro Basic - Funzionalità di modifica standard
- Pro Business - Accesso completo a tutte le funzionalità
- Fai clic su Save
Nota: agli utenti verrà assegnato un prodotto solo se sono disponibili posti. Se non ci sono posti disponibili, l'utente viene creato ma rimane non assegnato.
Step 5: Test and Assign Users
- Nel tuo Identity Provider, utilizza la funzionalità Test Connection per verificare la connettività SCIM
- Assegna un utente di test all'applicazione ScribbleMaps nel tuo IdP
- Verifica che l'utente appaia nell'elenco dei membri del team di ScribbleMaps
- Una volta confermato, assegna altri utenti o gruppi secondo necessità
Provider-Specific Guides
Okta
- Nella Okta Admin Console, vai su Applications > Browse App Catalog
- Cerca "SCIM 2.0 Test App (Header Auth)" o crea un'app SCIM personalizzata
- Vai alla scheda Provisioning > Configure API Integration
- Seleziona Enable API integration
- Configura:
-
SCIM 2.0 Base URL:
https://api.scribblemaps.com/scim/v2 - OAuth Bearer Token: Incolla il tuo token SCIM di ScribbleMaps
-
SCIM 2.0 Base URL:
- Fai clic su Test API Credentials per verificare
- Vai su Provisioning > To App e abilita:
- Create Users
- Update User Attributes
- Deactivate Users
- Vai alla scheda Assignments per assegnare utenti o gruppi
Microsoft Entra ID (Azure AD)
- Nel Portale Azure, vai su Microsoft Entra ID > Enterprise Applications
- Seleziona la tua applicazione ScribbleMaps (o creane una)
- Vai su Provisioning > Get Started
- Imposta Provisioning Mode su Automatic
- Sotto Admin Credentials:
-
Tenant URL:
https://api.scribblemaps.com/scim/v2 - Secret Token: Incolla il tuo token SCIM di ScribbleMaps
-
Tenant URL:
- Fai clic su Test Connection per verificare
- Configura Mappings per gli attributi utente
- Imposta Provisioning Status su On
- Vai su Users and groups per assegnare gli utenti
OneLogin
- In OneLogin Admin, vai su Applications > Add App
- Cerca "SCIM Provisioner with SAML (SCIM v2 Core)" o simile
- Vai alla scheda Configuration
- Configura:
-
SCIM Base URL:
https://api.scribblemaps.com/scim/v2 - SCIM Bearer Token: Incolla il tuo token SCIM di ScribbleMaps
-
SCIM Base URL:
- Vai alla scheda Provisioning e abilita il provisioning
- Vai alla scheda Users per assegnare gli utenti
JumpCloud
- In JumpCloud Admin, vai su SSO Applications
- Fai clic su + per aggiungere una nuova applicazione
- Seleziona Custom SCIM
- Configura:
-
Base URL:
https://api.scribblemaps.com/scim/v2 - Token Key: Incolla il tuo token SCIM di ScribbleMaps
- Authentication: Bearer Token
-
Base URL:
- Fai clic su Test Connection
- Configura le mappature degli attributi
- Assegna i gruppi di utenti all'applicazione
Supported SCIM Operations
User Operations
| Operazione | Metodo | Supportato | Descrizione |
|---|---|---|---|
| List Users | GET /Users | Sì | Recupera tutti gli utenti con paginazione e filtraggio |
| Get User | GET /Users/{id} | Sì | Recupera un utente specifico tramite ID |
| Create User | POST /Users | Sì | Esegui il provisioning di un nuovo utente |
| Replace User | PUT /Users/{id} | Sì | Aggiornamento completo degli attributi utente |
| Update User | PATCH /Users/{id} | Sì | Aggiornamento parziale degli attributi utente |
| Delete User | DELETE /Users/{id} | Sì | Disattiva utente (soft delete) |
Group Operations
| Operazione | Metodo | Supportato | Descrizione |
|---|---|---|---|
| List Groups | GET /Groups | Sì | Restituisce i gruppi di ruoli Admin e Member |
| Get Group | GET /Groups/{id} | Sì | Recupera il gruppo con l'elenco dei membri |
| Update Group | PATCH /Groups/{id} | Sì | Aggiungi/rimuovi membri dai gruppi di ruoli |
| Create Group | POST /Groups | No | Non supportato (i ruoli sono fissi) |
Supported User Attributes
| Attributo SCIM | Campo ScribbleMaps | Richiesto |
|---|---|---|
userName |
Indirizzo email | Sì |
externalId |
Identificatore IdP esterno | No |
name.givenName |
Nome | No |
name.familyName |
Cognome | No |
displayName |
Nome visualizzato | No |
active |
Stato dell'account | No |
emails[].value |
Indirizzo email | No |
Supported Filters
| Filtro | Esempio |
|---|---|
| Filtra per email | userName eq "[email protected]" |
| Filtra per ID esterno | externalId eq "12345" |
| Filtra per stato | active eq true |
User Lifecycle Management
When a User is Provisioned
- Viene creato un nuovo account membro del team in ScribbleMaps
- Le informazioni dell'utente (nome, email) vengono popolate dal tuo IdP
- Se è configurato un prodotto predefinito e sono disponibili posti, viene assegnata automaticamente una licenza
- L'utente può accedere immediatamente tramite SSO (se configurato)
When a User is Updated
- Gli attributi dell'utente (nome, nome visualizzato) vengono aggiornati per corrispondere al tuo IdP
- Le modifiche all'email vengono sincronizzate (a meno che l'utente non abbia collegato il proprio account)
When a User is Deprovisioned
- L'account dell'utente viene disattivato (soft delete)
- Tutte le licenze dei prodotti vengono rimosse, liberando posti
- Tutte le sessioni attive vengono immediatamente invalidate
- L'utente non può più accedere
- I dati dell'utente e le mappe vengono conservati (non eliminati)
- L'account può essere riattivato se viene eseguito nuovamente il provisioning dell'utente
Role Management via Groups
ScribbleMaps espone due gruppo di ruoli tramite SCIM:
| ID gruppo | Ruolo | Permessi |
|---|---|---|
admin |
Amministratore | Gestisci le impostazioni del team, gli utenti e la fatturazione |
member |
Membro | Accesso standard per i membri del team |
Per assegnare un utente come amministratore, aggiungilo al gruppo admin tramite SCIM PATCH. Il ruolo di Owner non può essere modificato tramite SCIM.
Troubleshooting
Common Issues
"401 Unauthorized" o "Invalid token"
- Verifica che il bearer token sia corretto e non sia stato revocato
- Assicurati che il token venga passato nell'header Authorization come
Bearer YOUR_TOKEN - Verifica se il token è scaduto (se è stata impostata una scadenza)
- Genera un nuovo token se necessario
"409 Conflict" - L'utente esiste già
- Un utente con quell'email esiste già nel tuo team
- Se l'utente esistente è stato disattivato, lo SCIM lo riattiverà automaticamente
- Check for duplicate email addresses in your IdP
"400 Bad Request" - Campo richiesto mancante
- Assicurati che
userName(email) sia incluso nella richiesta - Verifica che il formato dell'email sia valido
- Verifica la configurazione della mappatura degli attributi del tuo IdP
Utenti creati ma nessun prodotto assegnato
- Verifica se è configurato un prodotto predefinito nelle impostazioni SCIM
- Verifica di avere posti disponibili per il prodotto predefinito
- Ai membri possono essere assegnati i prodotti manualmente in Team Settings
Le modifiche dell'utente non si sincronizzano
- Alcuni IdP si sincronizzano in base a una pianificazione (ad es. ogni 40 minuti per Azure AD)
- Prova a forzare una sincronizzazione manuale nel tuo IdP
- Verifica che lo SCIM sia ancora abilitato e che il token sia valido
Il test di connessione non va a buon fine
- Verifica che il SCIM Base URL sia esattamente
https://api.scribblemaps.com/scim/v2 - Assicurati che non ci siano barre finali o refusi
- Verifica che la tua rete/firewall consenta l'HTTPS in uscita verso api.scribblemaps.com
Need Help?
Se riscontri problemi con il provisioning SCIM, contatta il nostro team di supporto fornendo:
- Il nome del tuo Team
- L'Identity Provider che stai utilizzando
- Eventuali messaggi di errore dai log di provisioning del tuo IdP
- Screenshot della tua configurazione SCIM (con il token oscurato)
Siamo qui per aiutarti a configurare il provisioning SCIM per la tua organizzazione.
Ultimo aggiornamento