Questo sarà il primo, di una serie di post, che avranno, come punto di arrivo, la realizzazione di un overlay di Syncope con la particolarità di essere in Single Sign On con un'istanza di Active Directory. Attraverso differenti passi, vedremo come arrivare ad avere un utente che, una volta autenticatosi su un PC windows con autenticazione a Dominio, potrà accedere sulla console di Syncope senza autenticarsi ulteriormente.
Questo sarà il primo, di una serie di post, che avranno, come punto di arrivo, la realizzazione di un overlay di Syncope con la particolarità di essere in Single Sign On con un'istanza di Active Directory. Attraverso differenti passi, vedremo come arrivare ad avere un utente che, una volta autenticatosi su un PC windows con autenticazione a Dominio, potrà accedere sulla console di Syncope senza autenticarsi ulteriormente.
Environment
Obiettivo finale: Single Sign On da Active Directory ad Apache Syncope
Obiettivo di questo post: configurazione di OpenAM
Pre-requisiti
Configurazione del modulo di autenticazione Windows Desktop SSO
Per raggiungere l'obiettivo finale si è deciso di utilizzare il modulo di autenticazione Windows Desktop SSO che ci permette, in modo trasparente, di ottenere il SSO tra AD e OpenAM. Per fare questo dobbiamo seguire i seguenti semplici passi.
Configurazione del Data Store di Active Directory
Dopo aver configurato il modulo di autenticazione per il SSO, bisogna configurare un nuovo Data Store su OpenAM in modo tale che dopo l'autenticazione, OpenAM sia in grado di rilevare il profilo dell'utente autenticato e non dia errore.
Questa è la mia configurazione, creata sempre attraverso l'uso dello script ssoadm:
./ssoadm create-datastore -e / -m AD -t LDAPv3ForAD -u amAdmin -f pwdFile -a "sunIdRepoAttributeMapping=cn=cn" "sunIdRepoAttributeMapping=userPassword=unicodePwd" "sunIdRepoAttributeMapping=sn=sn" "sunIdRepoAttributeMapping=uid=sAMAccountName" "sun-idrepo-ldapv3-config-ldap-server=fabioad.controller.tirasa.net:389" "sun-idrepo-ldapv3-config-authid=FABIOAD\Administrator" "sun-idrepo-ldapv3-config-authpw=password" "sun-idrepo-ldapv3-config-organization_name=cn=users,dc=fabioad,dc=controller,dc=tirasa,dc=net" "sun-idrepo-ldapv3-config-users-search-attribute=userPrincipalName" "sun-idrepo-ldapv3-config-createuser-attr-mapping=cn=cn" "sun-idrepo-ldapv3-config-createuser-attr-mapping=userPassword=unicodePwd" "sun-idrepo-ldapv3-config-createuser-attr-mapping=sn=sn" "sun-idrepo-ldapv3-config-createuser-attr-mapping=uid=sAMAccountName" "sun-idrepo-ldapv3-config-groups-search-attribute=sAMAccountName" "sun-idrepo-ldapv3-config-group-container-name=sAMAccountName" "sun-idrepo-ldapv3-config-group-container-value=" "sun-idrepo-ldapv3-config-people-container-name=sAMAccountName" "sun-idrepo-ldapv3-config-people-container-value=" "sun-idrepo-ldapv3-config-auth-naming-attr=sAMAccountName" "sun-idrepo-ldapv3-config-psearchbase=cn=users,dc=fabioad,dc=controller,dc=tirasa,dc=net"
Punti di interesse
Questa sicuramente è la fase meno interessante dal punto di vista tecnico. Sicuramente però il comando per l'associazione dell'utente al keytab è da tenere a mente in quanto, anche spulciando per la rete, questa dai noi attuata, risulta la soluzione più comoda e immediata. Rispetto alle altre trovate in altri blog o wiki. A questo proposito bisogna sottolineare che il nome fabioad.controller.tirasa.net all'interno del comando è relativo al nome della macchina in questione, praticamente l'hostname.