Configurare SAML con Microsoft ADFS

Prima di iniziare

Prima di iniziare, devi generare certificati di crittografia per crittografare la connessione SAML e caricarli in LogicalDOC

  1. È possibile utilizzare lo script Bash dal repository logicaldoc/scripts su GitHub o qualsiasi altro metodo adatto.
  2. Salvare i due file generati. Sono la chiave privata e la chiave pubblica. Nel pannello delle impostazioni SAML, vengono indicati rispettivamente come Chiave privata dell'SP e Certificato dell'SP.

Devi anche assicurarti di utilizzare LogicalDOC su HTTPS perché ADFS non accetterà a un semplice Relying Party HTTP.

Prepara LogicalDOC

  1. Abilitare il Single Sign-On SAML in Amministrazione > Sicurezza > Single Sign-On SAML.
  2. Nel campo SP Entity ID inserisci un identificatore univoco (puoi inserire qui lo stesso URL che usi normalmente per connetterti a LogicalDOC, ad esempio https://localhost:9443)
  3. Abilita sia la firma dei messaggi AuthnRequest che la crittografia delle asserzioni ricevute.
  4. Scegli SHA-256 come Algoritmo di firma.
  5. Carica il Certificato dell'SP e la Chiave privata dell'SP generati in precedenza, nei campi corrispondenti.
  6. Nel form Mappatura degli attributi, prepare le seguenti mappature:
    • In Username, scrivi username
    • In Nome, scrivi firstName
    • In Cognome, scrivi lastName
    • In Email, scrivi email
    • In Gruppi, scrivi groups

    Clicca su Salva per confermare tutta la configurazione.

    SAML Panel
  7. Esporta il file di metadati del fornitore di servizi facendo clic sull'URL visualizzato nel campo Metadati dell'SP. In seguito dovrai usare questo file in ADFS.

Ora hai completato la configurazione di LogicalDOC e puoi affrontare la configurazione di ADFS.

Prerequisiti

  • Un'istanza di Active Directory in cui tutti gli utenti hanno specificato gli attributi email e nome utente.
  • Un Microsoft Server in esecuzione.
  • Un certificato SSL per firmare la tua pagina di accesso ADFS.
  • ADFS installato sul tuo Microsoft Server. In questo articolo puoi trovare una guida dettagliata per la distribuzione e la configurazione di ADFS.

Nell'installazione di ADFS, apri la console ADFS. Seleziona Service, quindi seleziona Endpoints. Nella colonna Type , cerca SAML 2.0/WS-Federation e annota il valore della colonna URL Path. In questa guida questo è noto anche come SAML SSO URL Endpoint. Se hai scelto le impostazioni predefinite per l'installazione, questo sarà /adfs/ls

Aggiungi un relying party trust

  1. Apri lo snap-in di gestione ADFS, quindi seleziona AD FS > Relying Party Trusts > Add Relying Party Trust dalla barra laterale destra. Puoi anche fare clic con il pulsante destro del mouse su Relying Party Trust, quindi selezionare Add Relying Party Trust dal menu contestuale.

    Relaying party
  2. Nella schermata di benvenuto della procedura guidata di configurazione selezionare Claims aware, quindi selezionare Start.

    Relaying party
  3. Nella schermata Select Data Source, seleziona Import data about the relying party from a file. Scegli qui lo stesso file di metadati ottenuto al passo 7 della preparazione di LogicalDOC.

    Relaying party
  4. Nella schermata Specify Display Name, immettere un Display Name(ad esempio, LogicalDOC). Puoi aggiungere note facoltative.

    Relaying party
  5. Nella schermata Choose Access Control Policy, seleziona la policy di controllo accessi adatta al tuo ambiente. Questa guida presuppone i valori predefiniti Permit everyone.

    Relaying party
  6. Nella schermata Ready to Add Trust, rivedi le tue impostazioni.

    Relaying party
  7. Nella schermata Finish selezionare Configure claims issuance policy for this application, quindi selezionare Close.

    Relaying party

Crea le claim rules

  1. Nella scheda Issuance Transform Rules dell'editor Claim Rules, seleziona Add Rule....

    Claim rules
  2. Nella schermata Choose Rule Type, seleziona Send LDAP Attributes as Claims dal menu a discesa, quindi seleziona Next.

    Claim rules
  3. Nella schermata Configure Claim Rule, inserisci un nome regola attestazione a tua scelta (ad esempio: logicaldoc), seleziona Active Directory come Attribute Store, quindi aggiungi la seguente mappatura:

    • Dalla colonna LDAP Attribute, seleziona E-Mail-Addresses. Da Outgoing Claim Type, scrivi email
    • Dalla colonna LDAP Attribute, seleziona Given-Name. Da Outgoing Claim Type, scrivi fistName
    • Dalla colonna LDAP Attribute, seleziona Surname. Da Outgoing Claim Type, scrivi lastName
    • Dalla colonna LDAP Attribute, seleziona SAM-Account-Name. Da Outgoing Claim Type, scrivi username
    • Dalla colonna LDAP Attribute, seleziona Token-Groups - Unqualified Names. Da Outgoing Claim Type, scrivi groups

    Selezionare Finish per aggiungere la regola.

    Le voci nella colonna Outgoing Claim Type possono essere modificate. Le voci possono contenere trattini ma non spazi. Sono usati per mappare i campi corrispondenti in LogicalDOC.

    Claim rules
  4. Seleziona Add Rule per creare un'altra nuova regola.

  5. Nella schermata Choose Rule Type, seleziona Transform an Incoming Claim dal menu a discesa, quindi seleziona Next.

    Claim rules
  6. Nella schermata Configure Claim, inserisci un Claim Rule Name a tua scelta, poi:

    • Seleziona UPN per l' Incoming claim type
    • Seleziona Name ID per l' Outgoing claim type
    • Seleziona Email per l' Outgoing name ID format

    Seleziona Pass through all claim values, quindi seleziona Finish.

    Claim rules
  7. Selezionare Finish per creare la regola di attestazione, quindi selezionare OK per completare la creazione delle regole.

  8. Apri Windows PowerShell come amministratore, quindi esegui il comando seguente:

    Set-ADFSRelyingPartyTrust -TargetName LogicalDOC -SamlResponseSignature "MessageAndAssertion"

    dove LogicalDOC è il nome specificato nel passaggio 4 quando hai aggiunto un relying party trust.

    Questa azione aggiunge la firma ai messaggi SAML, garantendo la riuscita della verifica.

Esporta i metadati del provider di identità

Successivamente, esporta i metadati del provider di identità, che verranno successivamente caricati su LogicalDOC per completare la configurazione SAML.

  1. Nel riquadro di navigazione sinistro espandere AD FS > Service e quindi fare clic su Endpoints.

  2. Nel riquadro di destra, in Endpoints > Metadata, nella riga Federation Metadata, copiare il percorso dell'URL.

    Ad esempio, copia FederationMetadata/2007-06/FederationMetadata.xml

    Claim rules
  3. Aggiungi il nome host del computer AD FS al percorso URL che hai copiato come segue:

    https://nome_host/FederationMetadata/2007-06/FederationMetadata.xml

  4. Per recuperare i metadati dell'IdP (provider di identità), in un browser, incolla l'URL completo

  5. Vai su LogicalDOC in Amministrazione > Sicurezza > Single Sign-On SAML e carica il file dei metadati del provider di identità nel campo Metadati dell'IdP.

    Fare clic sul pulsante Salva per confermare tutto.

Testa la login

Per verificare se tutto è stato configurato correttamente, puoi provare ad avviare un accesso da LogicalDOC in qualità di fornitore di servizi.

  1. Vai su LogicalDOC in Amministrazione > Sicurezza > Single Sign-On SAML e copia il collegamento del campo Accedi(è l'URL di base di LogicalDOC seguito da /saml/login).
  2. Apri un browser diverso e incolla l'URL e dovresti essere reindirizzato alla pagina di accesso di ADFS.
  3. Qui inserisci le credenziali di un utente nel tuo Active Directory e dovresti essere loggato direttamente in LogicalDOC.