Come abilitare il SSO in Docebo attraverso Microsoft ADFS 2.0

Abilitare il SSO in Docebo attraverso Microsoft ADFS

Ultimo Aggiornamento

Febbraio 8th, 2019

Tempo di Lettura

7 min

Livello Utente

Introduzione

Integrando la piattaforma Docebo con Microsoft ADFS 2.0 (e quindi, l’App SAML), gli utenti potranno connettersi all’LMS senza inserire le credenziali utente di Docebo, a condizione che siano già connessi al dominio AD.

Nota importante: 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. Per configurare Open ID Connect con Azure AD, fare riferimento a questo articolo.

Questa App è disponibile per i clienti del piano Enterprise ed è opzionale per i clienti del piano Growth.

Fase 1: Abilitare HTTPS nell’LMS

ADFS richiede che qualsiasi Service Provider (come Docebo) implementi il protocollo HTTPS. Assicurarsi quindi che HTTPS sia abilitato nell’LMS prima di procedere con i passi successivi. In caso di dubbi su come procedere, fare riferimento a questo manuale.

Fase 2: Recuperare la Configurazione di SAML 2.0 dalla Console di Gestione di ADFS

Aprire la gestione di ADFS 2.0 tramite StartAdministrative ToolsADFS 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.

ADFS edit FS properties

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.

ADFS federation service properties

Fase 3: Attivare l’App SAML in Docebo

Connettersi ora alla piattaforma come Superadmin. Accedere al Menu Amministrazione dall’icona ingranaggi in alto a destra, e premere il pulsante in alto Aggiungi Nuove Applicazioni.

Selezionare la tab Integrazione Software Terzi dal menu a sinistra e individuare l’App SAML 2.0/ADFS nell’elenco delle App, quindi premere Contattaci. Leggere la descrizione nella finestra pop up, e premere Contattaci Ora.

Docebo entrerà in contatto con il richiedente, attivando la App nella piattaforma. Docebo attiverà la app nella piattaforma a nome del richiedente. Una volta attivata la App, è possibile iniziare a configurarla facendo riferimento alla sezione che segue.

Fase 4: Configurare l’App SAML in Docebo

Iniziare a configurare la 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 della app in piattaforma. E’ necessario abilitarla per procedere con la configurazione della 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: è il Federation Service Identifier della fase 2
  • XML Metadata: aprire il web browser e inserire il seguente URL: https://<domain name>/FederationMetadata/2007-06/FederationMetadata.xml. Sostituire la sezione domain name con il nome del dominio del proprio ADFS 2.0, ad esempio adatum.com. Quindi, aprire il file XML scaricato con un editor di testo come Notepad e copiare tutto il suo contenuto. Incollarlo nel campo XML Metadata nell’LMS.
  • Username attribute: questo è l’attribute statement identifier configurato nella fase 5. (e.g. 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 Modifiche. Premere il pulsante Scarica in fondo alla pagina, quindi salvare il file XML in locale.

impostazioni SAML

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 dell’LMS 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.

comportamento SSO

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.

comportamento SSO 2

Logout Behavior

La sezione Logout Behavior permette di selezionare l’opzione per la disconnessione automatica dall’Identity Provider quando l’utente si disconnette dall’LMS.

saml logout behavior

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 nell’LMS.

saml user provisioning

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 dell’LMS, 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.

Fase 5: Configurazione 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 all’LMS (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.

ADFS add relying party trust

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.

ADFS select data source

Nella colonna centrale, cliccare con il tasto destro il relying party appena creato e poi selezionare Properties. Nella tab Advanced, selezionare SHA-1 come Secure Hash Algorithm, e cliccare OK.

ADFS talentlms properties

Fase 6: Configurazione 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.

ADFS 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

ADFS configure claim rule

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.

ADFS configure claim rule 2

Fase 7: 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 all’LMS 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://<your lms domain>/lms/index.php?r=site/sso&sso_type=saml

Sostituire <your lms domain> con il dominio personalizzato dell’LMS.

Appendice: User Provisioning da AD a Docebo

Una volta che SAML e ADFS sono configurati correttamente, qualsiasi utente connesso al dominio AD può accedere all’LMS senza inserire le proprie credenziali. E’ tuttavia necessario soddisfare i seguenti requisiti:

  • l’utente che cerca di utilizzare il SSO deve avere un account valido nell’LMS, creato prima di utilizzare il SSO. Ulteriori informazioni sulla creazione di utenti con SAML sono disponibili in questo articolo. Ulteriori informazioni sulla creazione di utenti nell’LMS in questo articolo.
  • deve esistere una corrispondenza tra il nome utente dell’LMS e il claim dell’attributo Username (vedere Fase 5).

Suggerimenti per l’Integrazione

Per sfruttare al meglio questa integrazione, consigliamo di definire dei gruppi auto-popolati e di utilizzare la 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 dell’LMS:/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, i clienti possono fare affidamento su un set crescente di REST API per implementare la propria logica di user provisioning (consultare la pagina di documentazione sulle API).