Introduzione
Integrando la piattaforma Docebo con Microsoft ADFS 2.0 (e quindi, l'app SAML), gli utenti potranno connettersi alla piattaforma senza inserire le credenziali utente di Docebo, a condizione che siano già connessi al dominio AD.
Attenzione! Docebo non fornisce supporto per ADFS o per altre tecnologie di terze parti che implementano il protocollo SAML 2.0. Questo documento è da intendersi esclusivamente come un insieme di best practice per gli amministratori IT. Docebo non può essere ritenuta responsabile di danni o malfunzionamenti causati da una configurazione non corretta di ADFS.
Questa integrazione con SAML funziona anche con Azure AD, anche se la configurazione di Azure può differire leggermente dalle fasi e dalle immagini riportate in questo articolo per ADFS Enterprise. Maggiori informazioni su come configurare Open ID Connect con Azure AD.
Consiglio d'utilizzo: Quando si configurano un'integrazione SSO e un dominio personalizzato definito nella Gestione domini per la stessa piattaforma, consigliamo di configurare prima il dominio personalizzato. Gli URL degli endpoint necessari all'integrazione SSO dipendono dell'URL della piattaforma.
Step 1: Recuperare la configurazione di SAML 2.0 dalla console di gestione di ADFS
Aprire la gestione di ADFS 2.0 tramite Start → Administrative Tools → ADFS 2.0 Management, quindi, nel pannello a sinistra, cliccare con il tasto destro su Service e selezionare l'opzione Edit Federation Service Properties dal menu.
La Tab General mostra il Federation Service Identifier, ovvero l'URL dell'Identity Provider. Copiare questo URL negli appunti, poiché sarà necessario inserirlo in Docebo. L'esempio di Identity Provider per questo tutorial è http://adfs.adatum.com/adfs/services/trust
.
Step 2: Attivare l'app SAML in Docebo
Attivare l'app SAML come descritto nell'articolo della knowledge base dedicato alla gestione di applicazioni e funzionalità. L'app si trova nella tab Single Sign On.
Dopo l’attivazione è possibile iniziare le configurazione. Fare riferimento alla sezione che segue per ulteriori informazioni.
Step 3: Configurare l'app SAML in Docebo
Iniziare a configurare l'app accedendo al Menu amministrazione dall'icona ingranaggio in alto a destra. Individuare la sezione Impostazioni SAML e premere Impostazioni per accedere alla pagina di configurazione. Si accederà alla pagina di configurazione. Selezionare l'opzione Attiva per abilitare la configurazione. Questa opzione non è abilitata all'attivazione dell'app in piattaforma. È necessario abilitarla per procedere con la configurazione dell'app in piattaforma.
Come primo step, inserire l'ID dell'Identity Provider, l'XML Metadata e lo Username nei campi di testo corrispondenti.
- Identity Provider ID
-
Federation Service Identifier della Step 1.
- XML Metadata
- Aprire il browser e inserire il seguente URL:
https://domain.name/FederationMetadata/2007-06/FederationMetadata.xml
Sostituiredomain.name
con il nome del dominio del proprio ADFS 2.0, ad esempioadatum.com
. Quindi, aprire il file XML che si è scaricato con un editor di testo come Notepad e copiare tutto il suo contenuto. Incollarlo nel campo XML Metadata in piattaforma. - Username attribute
- Attribute statement identifier configurato nello Step 4 (esempio.
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
).
Attenzione, il pulsante Scarica è visualizzato soltanto dopo aver inserito nella pagina tutte le informazioni obbligatorie e aver selezionato Salva le modifiche. Premere il pulsante Scarica in fondo alla pagina, quindi salvare il file XML in locale. Definire quale tipo di algoritmo di cifratura utilizzare (SHA-1 o SHA-256) per validare l'Identity Provider. Per le nuove configurazioni, il valore di default è SHA-256. Se si possiede una configurazione già attiva nella piattaforma, il valore di default sarà SHA-1. SHA-256 è fortemente consigliato per questioni di sicurezza.
È inoltre possibile selezionare l'opzione per abilitare il certificato del Service Provider. Alcuni Identity Provider o Federazioni potrebbero richiedere che i Service Provider abbiano un certificato. Abilitando questa opzione, sarà possibile firmare le richieste e le risposte inviate all'Identity Provider. Premere i pulsanti Carica file che sono visualizzati quando l'opzione è selezionata per caricare il file Private Key e il file Certificate. Attenzione: non è possibile caricare solo uno dei due file, è obbligatorio caricarli entrambi.
Comportamento del SSO
Per configurare il comportamento del SSO è possibile scegliere fra due opzioni. Scegliere se si desidera visualizzare la pagina di login standard della piattaforma o se ridirigere i visitatori alla pagina dell'Identity Provider. Selezionando la prima opzione, è possibile selezionare se mostrare il pulsante SSO nella pagina di login della piattaforma.
Selezionando l'opzione per il re-indirizzamento automatico all'Identity Provider, è possibile indicare la pagina che sarà visualizzata quando gli utenti si disconnettono dalla piattaforma invece di mantenere la pagina standard di logout. Utilizzare il campo di testo per digitare l'URL della pagina.
Logout behavior
La sezione Logout Behavior permette di selezionare l'opzione per la disconnessione automatica dall'Identity Provider quando l'utente si disconnette dalla piattaforma.
User provisioning
Questa sezione consente di creare immediatamente in Docebo gli utenti presenti nell'Identity Provider ma non ancora presenti del database della piattaforma. Selezionare l'opzione Abilita. Nel caso in cui esistano utenti già codificati in entrambi i database, definire se aggiornare le informazioni dell'utente in piattaforma al momento dell'import. Se questa opzione non è selezionata, sarà necessario registrare (opzione abilita) o aggiornare (opzione aggiorna) manualmente gli utenti in piattaforma.
Ora è possibile indicare per quali campi aggiuntivi si desiderano creare delle associazioni fra Docebo e l'Identity Provider, creando delle corrispondenze fra i nomi dei campi di Docebo e i nomi dei campi dell'Identity Provider (Attribute Statement). Indicare il nome del campo aggiuntivo nel campo di testo della piattaforma, quindi premere Aggiungi. Il campo aggiuntivo sarà visualizzato in un elenco nella parte inferiore di questa sezione, e i nomi del campo e della categoria saranno automaticamente completati dalla piattaforma. Inserire l'attributo corrispondente dell'Identity Provider nei campi di testo corrispondenti. Premere Salva Modifiche per terminare.
Attenzione! Se si desidera popolare il campo aggiuntivo dell'utente relativo al Paese tramite SSO, un valore accettabile potrebbe essere l'ID del Paese o il nome del Paese, come indicato nell'articolo Elenco dei Codici ISO 3166-1 per i Paesi.
Step 4: Configurare il Relying Party Trust di ADFS 2.0
Il modo più rapido per configurare il Relying Party Trust in ADFS è scaricare il file XML dei metadati del Service Provider da Docebo e poi importarlo in ADFS. Per prima cosa, connettersi alla piattaforma (ricordare di usare https) come Superadmin. Accedere al Menu amministrazione dall'icona ingranaggio in alto a destra. Nella sezione Impostazioni SAML premere Impostazioni. Ritornare alla console di gestione di ADFS e selezionare Relying Party Trusts nel pannello a sinistra, sotto Trust Relationships. Cliccare con il tasto destro e scegliere Add Relying Party Trust dal menu che appare.
Selezionare l'opzione Import data about the relying party from a file. Cliccare Browse, e cercare il file xml Metadata scaricato da Docebo. Premere Next, ignorare il messaggio pop‑up, inserire un nome che lo distingua e cliccare ancora Next. Selezionare Permit all users to access the relying party e cliccare Next per terminare.
Nella colonna centrale, cliccare con il tasto destro del mouse sulla relying party appena creata, quindi selezionare Properties. Nella tab Advanced, selezionare SHA-1 o SHA-256, in base all'impostazione scelta nel passaggio Fase 4: Configurare l'app SAML in Docebo come Secure Hash Algorithm, quindi premere OK.
Attenzione! Assicurarsi che le impostazioni Secure Hash Algorithm in Docebo e Microsoft siano le stesse; se si seleziona SHA-1 in un sistema e SHA-256 nell'altro, non sarà possibile connettersi.
Step 5: Configurare le Claim Rules di ADFS 2.0
Per configurare una corretta comunicazione tra ADFS e Docebo è necessario definire le Claim Rules cliccando con il tasto destro sul relying party appena creato (e.g. Docebo ADFS) e selezionando Edit Claim Rules.
Nella tab Issuance Transform Rules, cliccare Add Rules. Selezionare Send LDAP Attributes as Claims e cliccare Next. Definire il nome della Claim Rule e selezionare Active Directory nel menu a tendina Attribute Store. Nella sezione Mapping of LDAP attributes to outgoing claim types, selezionare tutti gli attributi che si vogliono esportare come claim per il SSO. Alcuni esempi sono:
- LDAP Attribute: E-Mail-Addresses; Outgoing Claim Type: E-Mail Address
- LDAP Attribute: Given-Name; Outgoing Claim Type: Given Name
- LDAP Attribute: User-Principal-Name; Outgoing Claim Type: UPN
Aggiungere una seconda regola seguendo la stessa procedura. Selezionare Transform an Incoming Claim e cliccare Next. Definire il nome della Claim Rule e impostare in Incoming claim type uno degli attributi precedentemente configurati (ad es. E-Mail Address); impostare Name ID in Outgoing claim type, e Transient Identifier in Outgoing name ID format. Cliccare quindi Finish. Affinché il SSO funzioni correttamente, il tipo di incoming claim deve corrispondere al nome utente degli utenti in Docebo.
Step 6: SSO in azione
Anche SAML per ADFS è configurato correttamente, si noterà che gli utenti continueranno a vedere il form di login standard di Docebo (con nome utente e password). Per modificare questo comportamento, dare accesso alla piattaforma ad un sottoinsieme di utenti che attualmente non sono nel registro utenti AD. Se invece si desidera permettere agli utenti di utilizzare il SSO all'interno di Docebo, utilizzare il seguente URL:
https:///lms/index.php?r=site/sso&sso_type=saml
Sostituire yourlms
con il dominio personalizzato della piattaforma.
- Per sfruttare al meglio questa integrazione, definire dei gruppi automatici e di utilizzare l'app Regole di iscrizione per iscrivere automaticamente questi gruppi ai corsi e ai piani formativi. Alla creazione di un nuovo utente, non sarà quindi necessario assegnarlo manualmente ad un gruppo, ad un corso o ad un piano formativo. Inoltre, è possibile utilizzare i seguenti link SSO per accedere automaticamente ad alcune aree della piattaforma con un login SSO:
- Homepage di Docebo:
/lms/index.php?r=site/sso&sso_type=saml
- In un corso specifico:
/lms/index.php?r=site/sso&sso_type=saml&id_course=18
- Area cataloghi:
/lms/index.php?r=site/sso&sso_type=saml&destination=catalog
- Piani formativi:
/lms/index.php?r=site/sso&sso_type=saml&destination=learningplan
- È inoltre possibile affidarsi a un numero crescente di API REST per implementare la propria logica di provisioning degli utenti (consultare la documentazione API).
User Provisioning da Active Directory a Docebo
Una volta che SAML e ADFS sono configurati correttamente, qualsiasi utente connesso al dominio AD può accedere alla piattaforma senza inserire le proprie credenziali. È tuttavia necessario soddisfare i seguenti requisiti:
- l'utente che cerca di utilizzare il SSO deve avere un account valido in piattaforma, creato prima di utilizzare il SSO. Ulteriori informazioni sulla creazione di utenti con SAML. Ulteriori informazioni sulla creazione di utenti in piattaforma.
- deve esistere una corrispondenza tra il nome utente della piattaforma e il claim dell'attributo Username (Step 4).