SharePoint Server: Sincronizzazione con Active Directory – Parte terza

Premessa

A partire da SharePoint 2013 sono stati apportati sensibili miglioramenti ai meccanismi di sincronizzazione con Active Directory: nel primo articolo della serie è stata presentata la feature Active Directory Import (ADI) che permette di evitare Forefront Identity Management (FIM) per accedere ad Active Directory e, attraverso una serie di impostazioni viste nel secondo articolo, implementare la sincronizzazione dei profili utente con gli attributi presenti in AD.

In questo articolo, per chiudere la trilogia, affronteremo Identity Management Server (MIM) 2016, componente che sostituisce Forefront Identity Management, rimosso da SharePoint Server 2016.

What’s this MIM?

Come già anticipato nel primo articolo, ADI soffre di alcune limitazioni funzionali che potrebbero non renderlo adatto in situazioni complesse, come ad esempio la necessità di interazione con tipi diversi di identity provider o di poter contare su una sincronizzazione bidirezionale fra Active Directory e SharePoint.

MIM dal canto suo offre funzionalità più evolute che si “pagano” in termini di competenze necessarie per una corretta implementazione e di complessità architetturale.

Mentre FIM era una componente integrata di SharePoint Server 2010 e 2013, MIM è una tecnologia separata: il fatto che richieda l’installazione in un server a parte rappresenta però un vantaggio, poiché le sue funzionalità possono essere messe a fattor comune sia fra più farm SharePoint che, eventualmente, per gestire ulteriori scenari di integrazione fra servizi di autenticazione on-premise (come ad esempio Active Directory, LDAP, Oracle) ed Azure Active Directory, il servizio Microsoft di directory and identity management che opera in cloud, nonché abilitare interessanti opzioni di identity management. Per maggiori informazioni su Azure AD vi rimando al link https://docs.microsoft.com/it-it/azure/active-directory/active-directory-whatis.

MIM vs FIM

Microsoft Identity Management Server 2016 è dichiaratamente il successore di FIM 2010 R2, a cui sono state aggiunte alcune migliorie che lo rendono la scelta più adatta, evoluta e cloud-oriented per l’identity lifecycle management aziendale, con particolare enfasi nei confronti della sicurezza.

MIM aggiunge, infatti, un tassello importante alla soluzione Privileged Access Management
(PAM) per Active Directory, soluzione che consente di limitare la proliferazione di account privilegiati introducendo meccanismi automatizzati di richiesta degli accessi (maggiori info qui: https://docs.microsoft.com/it-it/microsoft-identity-manager/pam/privileged-identity-management-for-active-directory-domain-services).

Inoltre, MIM propone una migliore integrazione con i servizi Azure AD per abilitare il cambio/reset delle password in modalità self-service con autenticazione a più fattori (https://docs.microsoft.com/it-it/microsoft-identity-manager/working-with-self-service-password-reset) e usufruire di reportistica legata ad eventi di sicurezza (https://docs.microsoft.com/it-it/microsoft-identity-manager/working-with-identity-manager-hybrid-reporting).

Figura 1 – MIM e la gestione delle password utente

MIM e SharePoint Server

Se, quindi, si dispone di SharePoint Server versione 2016 – pertanto la componente FIM non è più disponibile – e ADI non rappresenta la scelta più idonea per la sincronizzazione dei profili utente con Active Directory, ecco che Microsoft Identity Management Server 2016 diventa l’unica opzione possibile.

Vediamo come implementarlo.

Prerequisiti

MIM deve essere installato (è bene essere chiari su questo punto) in un server separato rispetto a quelli della farm SharePoint e necessita di sistema operativo Windows Server 2012 R2 o Windows Server 2016. Il server deve essere configurato come membro di dominio.

Sullo stesso server (o su un server separato, membro di dominio) deve preventivamente essere installato SQL Server 2008 R2 o versione successiva.

Deve essere predisposto un primo
account di dominio per l’esecuzione del servizio MIM Sync. Questo account dovrà disporre dei permessi “Log on as a service” e “Run as a service” sul server in cui verrà installato MIM.

Occorre predisporre un secondo account di dominio che abbia privilegi di replica in Active Directory (seguire la procedura descritta qui: https://technet.microsoft.com/en-us/library/hh296982.aspx) per l’Active Directory Connector.

L’account che eseguirà l’installazione di MIM deve essere un SQL Admin per l’istanza di SQL Server che sarà utilizzata e deve disporre di privilegi amministrativi locali sul server in cui sarà installato MIM.

Download delle componenti

Installazione delle componenti di MIM

Effettuare il mount del file MIM2016SP1EVAL.iso e, nella cartella Synchronization Service, eseguire il file Synchronization Service.MSI.

Figura 2 – Setup di MIM

Nella schermata Welcome fare clic su Next.

Figura 3- Welcome screen

Accettare il License Agreement, poi nella pagina Custom Setup selezionare Microsoft Identity Manager Synchronization e fare clic su Next.

Figura 4 – Scelta del componente

Selezionare la posizione di SQL Server (This computer o A remote machine) e la relativa istanza. Poi fare clic su Next.

Figura 5 – Posizione di SQL Server

Inserire nome e password dell’account che sarà utilizzato
dal servizio MIM Sync e il contesto (nome dominio o del computer locale), nel nostro esempio CONTOSO\MIMSync. Poi fare clic su Next.

Figura 6 – Account di servizio

Nella scheda successiva, in cui viene richiesto di specificare i security group necessari al funzionamento di MIM, è possibile lasciare i valori di default (i gruppi verranno creati sul server locale). Qualora si preveda di utilizzare più server MIM sarà necessario creare preventivamente tali gruppi in Active Directory (vedi figura). Poi fare clic su Next.

Figura 7 – Security Groups

Qualora il firewall locale sia abilitato, fare clic su Enable firewall rules for inbound RPC communications, poi fare clic su Next.

Figura 8 – Eccezioni per il firewall locale

Fare clic su Install.

Figura 9 – Avvio installazione

Qualora compaia il Warning
25051 riguardante il servizio MIM Sync fare clic su OK.

Figura 10 – Ok, grazie!

Nella dialog box successiva fare clic su OK: il programma di setup crea un backup della chiave di encryption nella posizione specificata dall’utente.

Figura 11 – Backup dell’encryption key

Fare clic su Finish.

Figura 12 – E fin qui ci siamo…

Nella dialog box successiva fare clic su Yes per effettuare il logoff.

Figura 13 – Log off per abilitare i security groups

Installare il Forefront Identity Manager Connector for SharePoint User Profile Store

Sullo stesso server in cui abbiamo installato MIM, procediamo con l’esecuzione del pacchetto SharepointConnector.msi di cui abbiamo effettuato il download separatamente rispetto al pacchetto di MIM.

Nella prima schermata, clic su Next.

Figura 14 – Installazione del Connector per SharePoint

Accettare il License Agreement e fare clic su Install.

Figura 15 – Si parte!

Al termine, fare clic su Finish.

Figura 16 – E anche questa è fatta!

Operazioni preliminari

Per poter configurare la sincronizzazione fra Active Directory e SharePoint Server utilizzando MIM è necessario effettuare il download di quattro Solution File da GitHub (https://github.com/SharePoint/PnP-Tools/tree/master/Solutions/UserProfile.MIMSync):

  • SharePointSync.psm1: modulo PowerShell che installa e avvia la sincronizzazione
  • MA-AD.xml: MIM management agent per Active Directory
  • MA-SP.xml: MIM management agent per SharePoint Server
  • MV.xml: configurazioni aggiuntive per la User Profile Synchronization

Figura 17 – Area GitHub per il download dei solution file

Collocare i quattro file in una directory del server MIM (ad esempio, C:\SharePointMIMSync).

Nota: Il servizio User Profile di SharePoint deve essere stato preliminarmente configurato (vedere i passaggi nel primo articolo della serie).

Accedere alla Central Administration di SharePoint e nella sezione Application Management fare clic su Manage service applications.

Nella pagina Manage Service Applications, fare clic sul nome della User Profile service application.

Nella pagina Manage Profile Service, sezione Synchronization, clic su Configure Synchronization Settings.

Figura 18 – Configurazione dello User Profile Service

Selezionare l’opzione Enable External Identity Manager e fare clic su OK.

Figura 19 – Enable External Identity Manager

Installazione del file SharePoint Server Synchronization Configuration

Sul server MIM avviare una sessione PowerShell con credenziali amministrative.

Eseguire il comando:

Import-Module C:\SharePointMIMSync\SharePointSync.psm1 -Force

Poi:

Install-SharePointSyncConfiguration -Path C:\SharePointMIMSync -ForestDnsName demolab.local -ForestCredential (Get-Credential demolab\ADRepUser) -OrganizationalUnit ‘ou=marketing,dc=demolab,dc=local’ -SharePointUrl http://sp2016srv01:5555 -SharePointCredential (Get-Credential demolab\SPFarmAdmin) -Verbose

Dove:

  • ForestDnsName = nome della foresta Active Directory da sincronizzare
  • ForestCredential = Nome dell’account con privilegi su Active Directory
  • OrganizationalUnit = Nome della OU contenente gli account da sincronizzare
  • SharePointUrl = URL della Central Administration
  • SharePointCredential = Account che può leggere gli oggetti nello SharePoint User Profile (tipicamente l’account di servizio della farm SharePoint)

Una volta eseguito il commando, verrà chiesto di inserire la password per gli account specificati con i parametri ForestCredential e SharePointCredential.

Per simulare l’impatto della sincronizzazione e verificare cosa verrà importato prima di eseguire la sincronizzazione vera e propria, eseguire il comando:

Start-SharePointSync -WhatIf -Verbose

 

Per lanciare la sincronizzazione:

Start-SharePointSync -Confirm:$false

Figura 20 – Sincronizzazione avvenuta!

Il Synchronization Service Manager

Qualora si desideri applicare dei filtri alla sincronizzazione, ad esempio per non portare in SharePoint informazioni su utenze temporanee o account disabilitati, è possibile utilizzare il tool Synchronization Service Manager.

Avviare il tool dal menu Start utilizzando l’opzione Run as administrator.

Figura 21 – Avvio del Synchronization Service Manager

Nel tool sono riportati i due management agent installati via PowerShell:

  • ADMA, l’Active Directory Management Agent,
  • SPMA, lo SharePoint Management Agent.

Fare doppio clic su ADMA.

Figura 22 – I due manangement agent installati via PowerShell

Nella scheda Properties, nella sezione Management Agent Designer, fare clic su Select
Attributes. Nell’elenco degli attributi fare selezionare quello (o quelli) di interesse. Nel nostro esempio vogliamo filtrare gli utenti disabilitati e pertanto sceglieremo l’attributo userAccountControl (non selezionato di default). Fare clic su OK.

Figura 23 – Selezione attributi

Nella pagina iniziale del tool fare nuovamente doppio clic su ADMA.

Nella scheda Properties, nella sezione Management Agent Designer, fare clic su Configure Connector Filter. Nella sezione a destra selezionare il tipo di oggetto user e fare clic su New.

Figura 24 – Creazione del filtro

Nell’elenco Data source attribute selezionare userAccountControl, come Operator selezionare Bit on equals e come Value specificare 0x2. Infine, fare clic su Add Condition e poi su OK.

Figura 25 – Impostazione dei parametri di filtro

Eseguire una sincronizzazione via PowerShell con il comando

Start-SharePointSync -Confirm:$false

Gli account che soddisfano i criteri utilizzati nel filtro saranno rimossi dallo SPMA e pertanto esclusi sia dal set di informazioni già sincronizzate che dalle sincronizzazioni future.

Conclusioni

In questi tre articoli abbiamo visto come sia possibile sincronizzare SharePoint con Active Directory per popolare in modo automatico gli attributi dei profili utente:

  • In SharePoint Server 2013 e 2016 è possibile utilizzare la feature Active Directory Import (ADI), molto performante e semplice da implementare, ma con qualche limitazione (interagisce solo con Active Directory, non supporta LDAP, la sincronizzazione è monodirezionale);
  • In SharePoint Server 2016, essendo stata rimossa la componente Forefront Identity Management (FIM), l’alternativa ad ADI è il nuovo Microsoft Identity Manager 2016, che ad una superiore complessità di implementazione e gestione accompagna maggiore flessibilità e il supporto all’identity managment di livello enterprise, sia negli scenari on-premise che ibridi (Azure AD).