Gestione delle identità

Creazione di un flusso di lavoro di provisioning in un unico passaggio

Aung Oo

 

Panoramica:

  • Utilizzo di MIISWorkflow
  • Implementazione e configurazione
  • Estensione di MIISWorkflow

Per coloro che sono alla ricerca di un'interfaccia basata sul Web per richiedere e approvare account e operano all'interno di un'organizzazione che ha adottato Microsoft Identity Lifecycle Manager 2007 (ILM 2007, in precedenza denominato Microsoft Identity Integration Server 2003),

l'applicazione MIISWorkflow potrebbe costituire una soluzione semplice ed efficace. MIISWorkflow fa parte del Resource Kit di MIIS 2003 2.0 ed è disponibile da dicembre 2004. Sebbene non sia necessariamente una soluzione completa per ogni ambiente, è un buon punto di partenza per creare un'applicazione personalizzata in grado di soddisfare le esigenze di un'organizzazione.

MIISWorkflow apporta a ILM 2007 funzionalità di provisioning basato sull'approvazione, grazie all'integrazione di un'applicazione Web. Si tratta di un sistema di provisioning orientato a un flusso di lavoro costituito da un solo passaggio, in grado di accettare le richieste degli utenti e instradarle ad approvatori (in genere i responsabili) che dispongono di un'autorità sufficiente per prendere decisioni inerenti alle richieste specifiche. In base alla decisione dell'approvatore, si procede con il provisioning di account utente nelle directory connesse utilizzando le regole di business definite in ILM.

Quest'applicazione consente di gestire soltanto flussi di lavoro costituiti da un solo passaggio e utilizzandola non è possibile creare funzionalità per il flusso di lavoro complesse, quali un processo di approvazione con più passaggi e percorsi paralleli o con un'interfaccia grafica. Se l'organizzazione non richiede queste funzionalità di flusso di lavoro complesse, è possibile servirsi dell'applicazione di esempio MIISWorkflow inclusa nel Resource Kit di MIIS per implementare una soluzione.

In questa sede prenderò come esempio il settore risorse umane (HR) di un'azienda fittizia. In generale, all'interno di un'azienda, i sistemi HR sono l'origine dati più autorevole per le informazioni sul personale. Tuttavia, sebbene di norma contengano dati dettagliati per i dipendenti a tempo indeterminato, spesso le informazioni sui lavoratori temporanei, quali consulenti e stagisti, sono carenti. Inoltre, i dati contenuti nei sistemi HR a volte non includono informazioni sui sistemi ai quali gli utenti possono accedere, comprese le informazioni sugli account utente. Illustrerò qui come creare un semplice sistema di controllo per i lavoratori temporanei nel contesto di un'organizzazione.

Come sfruttare MIISWorkflow

Le organizzazioni possono avvalersi di MIISWorkflow ad esempio per la creazione di un'applicazione che funzioni unitamente ai sistemi HR esistenti. Quando viene assunta una nuova persona, al sistema HR vengono aggiunte le informazioni utente. È possibile progettare flussi ILM che inviano le informazioni al database di MIISWorkflow e quindi utilizzano l'applicazione per il flusso di lavoro per instradare le informazioni utente agli approvatori prima che in ILM venga effettuato il provisioning dell'account nelle directory connesse.

Se l'organizzazione non utilizza sistemi HR per il controllo dei dati dei lavoratori temporanei, è possibile utilizzare l'applicazione MIISWorkflow come origine dati autorevole per gestire i relativi account utente nelle directory aziendali. Poiché l'applicazione per il flusso di lavoro riduce il lavoro amministrativo cartaceo necessario per ottenere le approvazioni, gli utenti non devono aspettare giorni per accedere agli account inclusi nelle directory e nelle applicazioni. È inoltre possibile utilizzare MIISWorkflow per attivare una revoca rapida dell'accesso, migliorando così la protezione dell'organizzazione.

L'applicazione MIISWorkflow può essere utilizzata anche come strumento di controllo del numero di sistemi ai quali un utente può accedere, delle date di richiesta e termine di ogni account, nonché di richiedente e approvatore di ogni account. La capacità di generare rapporti con la cronologia dettagliata degli account agevola l'organizzazione nel conformarsi ai requisiti normativi delle leggi Sarbanes-Oxley e HIPAA.

L'applicazione MIISWorkflow viene eseguita in IIS e utilizza le funzionalità di integrazione delle directory e di provisioning di ILM 2007 per eseguire e annullare il provisioning degli account nelle directory connesse. I componenti dell'applicazione per il flusso di lavoro contengono una raccolta di pagine Web ASP.NET, un database SQL Server™, un agente di gestione e un archivio di criteri di autorizzazione (vedere la Figura 1). L'applicazione utilizza SQL Server per l'archiviazione dei dati, Active Directory ® per l'autenticazione e un archivio di criteri di Windows® Authorization Manager (noto come AzMan) per l'autorizzazione.

Figura 1 Architettura dell'applicazione MIISWorkflow

Figura 1** Architettura dell'applicazione MIISWorkflow **(Fare clic sull'immagine per ingrandirla)

L'applicazione può essere estesa e personalizzata utilizzando C# e ASP.NET. MIISWorkflow è costituita dalle seguenti cinque pagine aspx: ContractorApproval, ContractorHistory, ContractorRequest, ContractorStatus e ContractorUpdate. Queste pagine consentono agli amministratori di richiedere, aggiornare, approvare e controllare lo stato di tutti gli account utente presenti nel sistema. Si noti che, per impostazione predefinita, l'applicazione MIISWorkflow è impostata in modo da utilizzare l'autenticazione Windows integrata in IIS per potersi avvalere di Kerberos.

L'applicazione per il flusso di lavoro attiva ILM in base all'azione dell'approvatore e quindi, in ILM, viene eseguito il provisioning o l'annullamento del provisioning degli account utente nelle directory connesse utilizzando regole definite. Subito dopo l'esecuzione di un'azione sulla richiesta, l'applicazione attiva ILM e le richieste non devono attendere il successivo ciclo di sincronizzazione di ILM perché venga eseguito il provisioning o l'annullamento del provisioning nelle directory connesse.

Per l'applicazione per il flusso di lavoro è necessario che le informazioni degli account utente siano memorizzate nel database di MIISWorkflow, il quale è separato dal database in cui vengono memorizzate le informazioni metaverse, ma è configurato nella stessa istanza di SQL Server. Quando gli utenti autorizzati richiedono un account tramite l'applicazione per il flusso di lavoro, le informazioni vengono salvate in MIISWorkflow. Viene quindi eseguito il rendering dei dati tramite una pagina Web ASP.NET quando un approvatore accede alla pagina. In MIISWorkflow vengono inoltre memorizzate le cronologie delle azioni, unitamente ad altre informazioni sull'account incluso nel database. Le informazioni vengono importate in ILM dal database di MIISWorkflow utilizzando un agente di gestione di SQL Server fornito con l'applicazione e viene eseguito il provisioning o l'annullamento del provisioning dell'account, secondo necessità.

AzMan, utilizzato da MIISWorkflow per l'autorizzazione, fornisce il controllo dell'accesso basato sui ruoli (RBAC) per gestire le attività che gli utenti sono autorizzati a eseguire nell'applicazione a seconda dei ruoli loro assegnati. Per ulteriori informazioni sul controllo dell'accesso basato sui ruoli vedere go.microsoft.com/fwlink/?LinkId=85825. Dopo che un utente è stato autenticato in Active Directory, consentendogli in tal modo l'accesso, l'applicazione per il flusso di lavoro controlla i ruoli definiti nell'archivio delle autorizzazioni di AzMan per autorizzare le operazioni che un utente può eseguire. Sono disponibili due ruoli predefiniti per l'applicazione: richiedente dei consulenti e approvatore dei consulenti. Gli utenti o i gruppi che dispongono del ruolo di richiedente dei consulenti possono soltanto inserire una richiesta tramite l'applicazione, mentre gli utenti o i gruppi con il ruolo di approvatore dei consulenti hanno la possibilità sia di creare richieste sia di approvarle o respingerle.

I criteri di autorizzazione dell'applicazione MIISWorkflow sono contenuti in un file XML. Ai ruoli definiti è possibile assegnare sia utenti e gruppi di Windows sia gruppi di applicazioni. I gruppi di applicazioni consentono alle query LDAP di eseguire, durante il runtime, la ricerca dell'oggetto account Active Directory o Active Directory Application Mode (ADAM) di un utente in base al valore dell'attributo. Se l'utente fa parte del gruppo, da (department=‘marketing’), ad esempio, viene restituito True.

Descrizione dell'applicazione

Gli amministratori controllano l'accesso all'applicazione utilizzando AzMan. A seconda delle modalità di utilizzo dell'applicazione all'interno dell'organizzazione, è possibile concedere il ruolo di richiedente dei consulenti a tutti gli utenti del dominio o soltanto a gruppi selezionati. Il ruolo di approvatore dei consulenti dovrebbe essere concesso soltanto agli utenti e ai gruppi che possono approvare o respingere le richieste. Di norma, dispongono di questo ruolo amministratori HR scelti, oltre agli amministratori dei gruppi e di sistema. Come metodo di autenticazione, per impostazione predefinita, l'applicazione MIISWorkflow utilizza l'autenticazione Windows integrata in IIS, in modo che gli utenti vengano autenticati nell'applicazione tramite le relative credenziali di accesso al desktop di Windows, per cui non verranno richieste nuovamente le credenziali per l'autenticazione a fronte dell'applicazione.

Un utente a cui è assegnato il ruolo di richiedente dei consulenti può puntare il browser alla pagina di richiesta dei consulenti dell'applicazione e immettere le informazioni relative a un consulente per richiedere un account per quest'ultimo. Nella Figura 2 è illustrata la pagina di richiesta dei consulenti.

Figura 2 Pagina di richiesta di un nuovo consulente

Figura 2** Pagina di richiesta di un nuovo consulente **(Fare clic sull'immagine per ingrandirla)

La persona che dispone del ruolo di richiedente immette le informazioni necessarie relative al consulente e inoltra la richiesta. Nella pagina sono disponibili un collegamento per approvare le richieste e uno per controllare lo stato, ma i richiedenti non possono accedere alla pagina di approvazione a meno che non dispongano anch'essi del ruolo di approvatore dei consulenti. Un richiedente può fare clic sul collegamento Contractor Status per visualizzare le proprie richieste, ma non potrà vedere lo stato delle richieste inoltrate da altri.

Soltanto gli approvatori dei consulenti sono autorizzati ad accedere alla pagina di approvazione dei consulenti dell'applicazione, nella quale possono approvare o respingere le richieste dopo averne esaminato le informazioni. Nella Figura 3 è illustrata l'interfaccia della pagina Web di approvazione del consulenti.

Figura 3 Pagina di approvazione dei consulenti

Figura 3** Pagina di approvazione dei consulenti **(Fare clic sull'immagine per ingrandirla)

Gli approvatori possono vedere le richieste inoltrate da tutti i richiedenti. Una richiesta può essere approvata da un approvatore qualsiasi ed è necessaria soltanto una approvazione o un rifiuto per instradare la richiesta al passaggio successivo. Una volta che l'approvatore avrà approvato o respinto la richiesta, questa non sarà più visualizzata nella pagina di approvazione dei consulenti. Viene in tal modo eliminata la ridondanza di azioni di approvazione.

Per esaminare le nuove richieste e per agire sulle richieste in sospeso, in base ai requisiti dell'organizzazione, gli approvatori devono accedere con regolarità alla pagina di approvazione dei consulenti, in quanto l'applicazione non dispone di un meccanismo di notifica che informa l'approvatore della presenza di nuove richieste o di un backlog. Quando l'approvatore approva o respinge la richiesta dalla pagina, l'applicazione attiva ILM e viene eseguito il provisioning o l'annullamento del provisioning degli account nelle directory connesse, in base alla decisione dell'approvatore.

Figura 4 Pagina di stato dei consulenti

Figura 4** Pagina di stato dei consulenti **(Fare clic sull'immagine per ingrandirla)

È possibile controllare lo stato delle richieste in sospeso e i record delle richieste completate dalla pagina di stato dei consulenti (vedere la Figura 4). Un richiedente può svolgere diverse operazioni da questa pagina, ad esempio visualizzare le proprie richieste, oltre a informazioni come ID, nome e cognome del consulente, reparto, stato e data dell'ultima modifica, e modificare le informazioni esistenti, visualizzare la cronologia e terminare l'account di un consulente. Potrà inoltre modificare nome, cognome e reparto e reinoltrare le informazioni per l'approvazione e infine visualizzare un registro delle azioni eseguite sulla richiesta, corredate di data e ora in cui ogni azione è stata svolta, dalla pagina della cronologia dei consulenti (vedere la Figura 5).

Figura 5 Pagina della cronologia dei consulenti

Figura 5** Pagina della cronologia dei consulenti **(Fare clic sull'immagine per ingrandirla)

L'applicazione MIISWorkflow consente di terminare gli account senza interruzioni, in quanto i richiedenti possono svolgere questa operazione dalla pagina di stato dei consulenti. Il richiedente fa clic sul collegamento per disattivare o eliminare immediatamente gli account di un consulente contenuti nelle directory connesse. La possibilità di terminare gli account dei consulenti direttamente dall'applicazione per il flusso di lavoro costituisce un vantaggio per agli amministratori di sistema che non dovranno cercarli in tutte le directory ed eliminarli manualmente. Poiché l'applicazione MIISWorkflow attiva subito ILM per eseguire l'annullamento del provisioning degli account nelle directory connesse, l'eliminazione non richiede molto tempo.

Configurazione dell'applicazione

Per configurare l'applicazione MIISWorkflow è necessario impostare un account di servizio e il database dell'applicazione, configurare ILM in modo che funzioni con l'applicazione per il flusso di lavoro, configurare IIS e quindi l'archivio dei criteri. L'applicazione contiene script e file di configurazione predefiniti per semplificare il processo.

L'applicazione MIISWorkflow viene fornita con un file di query T-SQL per agevolare il processo di creazione del database dell'applicazione. È sufficiente caricare il file di query nell'Analizzatore query ed eseguire la query per creare automaticamente il database.

Per configurare IIS è necessario creare un nuovo pool di applicazioni IIS e una directory virtuale, quindi impostare il controllo dell'accesso e dell'autenticazione per ospitare le pagine ASP.NET. L'applicazione viene fornita corredata anche di un file XML con ruoli predefiniti per configurare un archivio dei criteri di autorizzazione. È possibile assegnare utenti e gruppi ai ruoli esistenti e creare nuovi ruoli utilizzando la console di gestione AzMan.

Il passaggio finale consiste nel configurare l'agente di gestione in ILM per importare i dati dal database di MIISWorkflow in ILM. Per eseguire questa operazione si importa la configurazione dell'agente di gestione nel file XML e si copia un file di estensione predefinito per l'agente di gestione di SQL Server. Sia il file XML sia il file di estensione dell'agente di gestione sono forniti unitamente all'applicazione. È inoltre disponibile un file Leggimi contenente istruzioni dettagliate su come eseguire tutti i passaggi di configurazione.

Estensione dell'applicazione

L'applicazione MIISWorkflow costituisce un punto di partenza per sviluppare una semplice integrazione del flusso di lavoro con MIIS, pertanto, per estendere l'applicazione, potrebbe essere necessario eseguire qualche personalizzazione. Esistono molti altri modi di estendere l'applicazione, oltre ad apportare semplici modifiche alle pagine Web.

È ad esempio possibile aggiungere una funzionalità di notifica, in modo che gli approvatori ricevano un messaggio di posta elettronica quando è presente una richiesta in sospeso. Sfruttando la stessa funzionalità è possibile inviare all'approvatore un messaggio che funge da promemoria, se entro un determinato numero di giorni non ha eseguito alcuna azione sulla richiesta. Se sono necessarie più informazioni sugli utenti di quante non ne siano visualizzate nella pagina predefinita, è possibile aggiungere campi sia alla pagina di richiesta sia alla pagina di aggiornamento dei consulenti. È inoltre possibile aggiungere altri ruoli all'applicazione, ad esempio un ruolo di revisore, per consentire a un utente di visualizzare la cronologia di tutte le richieste e non soltanto delle proprie.

Funzionalità di flusso di lavoro più complesse, quali flussi di lavoro costituiti da più passaggi e la possibilità di progettare un flusso di lavoro con un approccio grafico non rientrano nell'ambito di questa applicazione. È tuttavia possibile utilizzare Windows Workflow Foundation per sviluppare un'applicazione più solida con funzionalità di flusso di lavoro complesse.

Il Resource Kit di MIIS è disponibile al seguente indirizzo:go.microsoft.com/fwlink/?Link­Id=85829. È possibile scaricarlo immediatamente per iniziare a creare soluzioni per il flusso di lavoro delle identità personalizzate.

Aung Oo è un esperto di gestione delle identità che lavora per i servizi di consulenza Microsoft (MCS). Aung progetta, sviluppa e distribuisce soluzioni per la gestione delle identità e directory aziendali per clienti appartenenti sia al settore commerciale sia governativo già dalla prima versione rilasciata di Microsoft Identity Management.

© 2008 Microsoft Corporation e CMP Media, LLC. Tutti i diritti riservati. È vietata la riproduzione completa o parziale senza autorizzazione.