venerdì 11 maggio 2012

FileMaker Pro Server e Microsoft Active Directory: Servizio di Directory e SSO (Single Sign On) (Parte 2/2)


Nel post precedente hai visto come registrare nel servizio di directory il FileMaker Pro Server e come fare in modo che i client possano individuare i server che ospitano FileMaker Pro Server sfruttando tale servizio. Ora manca solo di vedere come permettere ai database FileMaker (file con estensione .fp7) di autenticare gli utenti tramite SSO (Single Sign On).


Crea un database locale alla macchina. In questo post utilizzo FileMaker Pro 10 e una soluzione pronta per l'uso denominata "Gestione Documentazione" presente nella categoria dei modelli "Business - Generale". Scegli "File|Gestisci|Account e Privilegi...".
Aprire il box di dialogo per Account e Privilegi
L'account ospite è disabilitato e lo lasciamo in tale stato. Modifichiamo l'account Admin in modo cha bbia una password sicura ed un nome utente di nostra scelta. Deve sempre esistere un account locale FileMaker Pro con accesso completo al database. Quello che a noi interessa però sono gli Account, ma soprattutto i Privilegi. Quindi spostati sulla scheda "Set di privilegi".
La scheda "Set di privilegi" di FileMaker Pro
La spiegazione di come creare dei set di privilegi esula dagli obiettivi di questo post, quindi nell'esempio ci limiteremo ad utilizzare quelli esistenti. Comunque occorre creare i set di privilegi desiderati, che sono successivamente ovvero contestualmente, utilizzati nella creazione di account FileMaker per autenticazione su server esterno (Active Directory). Tali account però non sono dei singoli utenti, ma gruppi di Active Directory contenenti gli utenti di dominio autorizzati ad accedere al database. Quindi Active Directory autentica gli utenti mentre FileMaker stabilisce il set di privilegi sul database in base al gruppo cui l'utente di dominio appartiene.

FileMaker Pro ha predefiniti tre set di privilegi per consentire un accesso completo al database, un accesso in sola lettura e un accesso per l'immissione dati. Per prima cosa creerai un accesso per utenti di dominio che, dovendo sviluppare il database, hanno bisogno di un accesso completo. A tal fine torniamo sulla scheda "Account" e clicchiamo su "Nuovo...".
Impostazione di SSO per un accesso completo al database in FileMaker Pro
In "Autenticazione mediante" scegli "Server esterno", quindi indica un "Nome gruppo" che dovrà corrispondere al nome di un Gruppo di Active  Directory. Tale gruppo contiene gli utenti di Active autorizzati all'accesso al database con il set di privilegi impostato in "Set di privilegi" in cui selezioneremo [Accesso completo]. Fai clic su "OK".


Nota: dato che su FileMaker Pro Server ci possono essere svariati database, personalmente adotto la politica di dare al gruppo un nome composto da una prima parte tutta maiuscola che mi individua il database, quindi un carattere di sottolineatura e una seconda parte che esplicita il set di privilegi assegnato al  gruppo. Tale prassi non è obbligatoria, ma è di aiuto nell'individuazione dei gruppi quando occorre gestire gli utenti FileMaker Pro su Active Directory.


Ora che hai visto come creare degli "utenti-gruppo di Active", ripetiamo tale operazione e creiamo gli utenti GEDOC_SoloImmissioneDati e GEDOC_AccessoDiSolaLettura per i rispettivi set di privilegi. Al termine di tale operazione avrai una situazione simile quella dell'immagine seguente.
La scheda account dopo l'aggiunta degli utenti-gruppo di Active
 Nota: In basso a destra è indicato "In ordine". Tra gli ordinamenti degli account esiste un ordine di "autenticazione". Tale ordine è particolarmente importante, perché se un utente è presente in più gruppi di Active, i privilegi assegnati saranno quelli del gruppo che appare prima secondo l'ordine di autenticazione. Ordinati come nell'immagine, hai la garanzia che all'utente che accede siano concessi i maggiori privilegi possibili in fase di autenticazione. Infatti se un utente di dominio è presente sia in GEDOC_AccessoCompleto che in GEDOC_AccessoDiSolaLettura, in fase di autenticazione gli vengono concessi i privilegi di Accesso Completo. Se preferisci avere un politica più restrittiva, allora inverti l'ordine, in tal modo all'utente saranno concessi i privilegi minimi e non quelli massimi. Per questo tutorial, utilizza l'ordine che garantisca i maggiori privilegi all'utente.

Ora che il database è pronto, caricalo su FileMaker Server. Potrai fare ulteriori modifiche al database remotamente, se sei un utente di dominio autorizzato o se accedi con nome utente e password FileMaker per l'accesso completo. Sottolineo ancora una volta che è obbligatorio che un utente con privilegi di accesso completo sia sempre disponibile nel database.
Database Gestione documentazione (GEDOC) caricato e pronto ad essere
acceduto da utenti provvisti di FileMaker Pro Client
Ora che hai il database pronto su FileMaker Pro Server, occorre configurare il server di dominio perché abbia il corrispondente gruppo cui tenta di accedere FileMaker in fase di autenticazione degli utenti dominio.
Crea un nuovo Gruppo Active Directory nella ou FileMaker
Accedi al server di dominio e avvia "Utenti e computer di Active Directory". Apri la ou FileMaker creata nel post precedente. Al suo interno fai clic con il tasto destro quindi scegli "Nuovo|Group".
Creazione del gruppo corrispondente il "Nome gruppo" indicato
in FileMaker in fase di creazione di un nuovo utente
Definisci quindi il nuovo gruppo dandogli il nome utilizzato in "Nome gruppo" in FileMaker Pro, come per esempio GEDOC_AccessoCompleto. il gruppo deve avere ambito Globale e deve essere di Protezione. Fai clic su "OK".

Crea altri due gruppi per gli altri due "Nome gruppo" definiti nel database FileMaker Pro. Avrai un situazione simile alla seguente immagine.
I tre gruppi creati all'interno della ou FileMaker
Questi gruppi però sono vuoti, occorre quindi aggiungere gli utenti che hanno diritto di accedere al database con i privilegi di cui ogni gruppo dispone secondo quanto stabilito in FileMaker Pro. Quindi in GEDOC_AccessoCompleto puoi aggiungere come membri del gruppo te stesso e gli utenti sviluppatori e magari anche il gruppo Domain Admin. In più potresti desiderare che tutti gli utenti di dominio abbiano accesso almeno in lettura al database, quindi fra i membri di GEDOC_AccessoDiSolaLettura aggiungerai Domain Users.
Aggiunta di un membro al gruppo di
autenticazione per database FileMaker
Ora che hai aggiunto gli utenti ai gruppi di dominio, quando questi tentano di accedere remotamente al database, con il FileMaker Pro Client opportunamente configurato come da post precedente per il SSO, FileMaker Pro Server li autentica via Active Directory, aprendo istantaneamente il database e concedendo loro il set di privilegi impostato per il gruppo. Tale set di privilegi è scelto seguendo l'ordine di autenticazione impostato in FileMaker Pro e fermandosi alla prima corrispondenza di "Nome gruppo" che riscontri il nome di un gruppo di dominio cui l'utente appartiene. Ad esempio un utente sviluppatore aggiunto al gruppo di dominio GEDOC_AccessoCompleto, ma presente anche in GEDOC_AccessoDiSolaLettura, vedrà aprirsi il database senza dover mettere alcuna credenziale con privilegi di [Accesso Completo]. Altri utenti, non appartenenti ai gruppi GEDOC_AccessoCompleto o GEDOC_SoloImmissioneDati, accedono ad database in sola lettura essendo membri di Domain Users a sua volta membro di GEDOC_AccessoDiSolaLettura.