21.1 Informazioni sul provisioning basato su workflow

Una funzione centrale di Identity Manager è il provisioning basato su workflow, ovvero il processo di gestione dell'accesso degli utenti a risorse sicure all'interno di un'organizzazione. Tra le risorse rientrano entità digitali come conti utente, computer e database. In questa versione le risorse soggette a provisioning sono abbinate ad autorizzazioni di Identity Manager.

Identity Manager è in grado di soddisfare una grande varietà di richieste di provisioning. Le richieste di provisioning sono azioni dell'utente o del sistema il cui fine è di concedere o revocare l'accesso alle risorse dell'organizzazione. Possono essere avviate direttamente dall'utente finale mediante l'applicazione utente di Identity Manager oppure indirettamente in risposta a eventi che si verificano nell'Identity Vault (eDirectory).

Quando per una richiesta di provisioning è necessaria l'autorizzazione di uno o più individui di un'organizzazione, viene avviato un workflow che coordina le approvazioni necessarie per soddisfare la richiesta. Per alcune richieste di provisioning è sufficiente l'approvazione di un singolo individuo mentre per altre è necessaria l'approvazione di più individui. In alcuni casi è possibile che una richiesta venga soddisfatta senza approvazioni.

In alcuni workflow è necessario che l'elaborazione segua un ordine sequenziale in cui ogni passaggio di approvazione viene eseguito in sequenza. In altri workflow è supportata l'elaborazione parallela. Quando si definisce una richiesta di provisioning, si specifica il tipo di elaborazione, se sequenziale o parallela.

In Identity Manager è disponibile una serie di strumenti basati sul Web che consentono all'amministratore di integrare funzioni di provisioning nell'applicazione utente. Questi strumenti consentono di configurare richieste di provisioning e di gestire i workflow in corso. Per configurare una richiesta di provisioning, l'amministratore crea una definizione di richiesta di provisioning in base alla quale la risorsa è legata al workflow.

21.1.1 Architettura di alto livello

Nell'illustrazione seguente viene mostrata l'architettura di alto livello del sistema di provisioning basato su workflow disponibile in Identity Manager:

Descrizione: Descrizione: Illustrazione

Nelle sezioni seguenti viene descritto ogni componente dell'architettura.

Interfaccia Web di provisioning

L'applicazione utente di Identity Manager mette a disposizione un'interfaccia Web grazie alla quale gli utenti finali inviano richieste di provisioning e le gestiscono dopo l'invio. Nell'applicazione utente è inoltre disponibile la figura dell'amministratore o del manager autorizzato ad assegnare delegati e utenti incaricati per i workflow di provisioning.

SUGGERIMENTO:le azioni di provisioning e workflow sono disponibili nella scheda Richieste e approvazioni dell'applicazione utente di Identity Manager.

Per ulteriori informazioni su delegati e utenti incaricati, vedere la sezione Sezione 21.3, Sicurezza del provisioning. Per informazioni complete sull'utilizzo dell'applicazione utente, vedere l'Applicazione utente di Identity Manager - Guida dell'utente.

Strumenti di amministrazione di iManager

In iManager sono disponibili plug-in che consentono di configurare e gestire richieste di provisioning e i workflow associati.

Per configurare una richiesta di provisioning, è necessario associarla a una risorsa soggetta a provisioning, specificare le caratteristiche runtime del workflow associato e abilitarla all'utilizzo. Dopo l'avvio di una richiesta di provisioning è possibile utilizzare iManager per visualizzare lo stato del processo di workflow, riassegnare le attività nel workflow oppure interrompere il workflow nel caso in cui giunga a una situazione di stallo.

Driver dell'applicazione utente di Identity Manager

Oltre a supportare le richieste dell'utente finale per il provisioning di risorse, Identity Manager consente di avviare richieste di provisioning in risposta a eventi che si verificano in eDirectory. Il driver dell'applicazione utente di Identity Manager rileva gli eventi e risponde avviando le richieste di provisioning corrispondenti. A loro volta queste richieste possono avviare workflow per gestire il processo di approvazione. Se appositamente configurato, ad esempio, Identity Manager sarà in grado di supportare uno scenario in cui l'aggiunta di un nuovo utente in eDirectory avvia automaticamente una richiesta di provisioning predesignata e un workflow.

Sistema di provisioning

Il sistema di provisioning consente di eseguire l'elaborazione necessaria per avviare e soddisfare le richieste di provisioning. Se per una richiesta è necessaria l'autorizzazione di uno o più individui, il sistema di provisioning chiama il sistema di workflow affinché venga avviato il processo del workflow. Terminata la sequenza delle approvazioni necessarie, la risorsa sottoposta a provisioning viene richiesta.

Il sistema di provisioning consente di gestire le informazioni sulle richieste di provisioning disponibili e in attesa nell'Identity Vault (eDirectory).

Per avviare una richiesta o eseguire l'elaborazione necessaria per soddisfarla, viene eseguito l'accesso all'Identity Vault mediante lo strato di astrazione directory.

Per informazioni sullo strato di astrazione directory, vedere il capitolo Sezione 4.0, Configurazione dello strato di astrazione directory.

Sistema di workflow

Quando per una richiesta di provisioning è necessaria l'autorizzazione di uno o più individui, il sistema di workflow coordina il processo di approvazione. Durante l'elaborazione ha luogo l'interazione con i componenti seguenti:

  • Database del workflow
  • Motore di script
  • Audit
  • SMTP
  • Sistema di sicurezza

Database del workflow

Per tenere traccia dello stato dei workflow in corso, il sistema di workflow memorizza le informazioni in un database. In questo database sono contenute informazioni su processi di workflow, elenchi di lavoro (code) e assegnatari dei workflow. Sono inoltre memorizzati i commenti aggiunti durante l'esecuzione di un processo di workflow.

Motore di script

Il sistema di workflow chiama il motore di script ogni volta che nel workflow è inclusa un'espressione dinamica da valutare. Nelle espressioni dinamiche possono essere incluse variabili, funzioni e operatori, nonché riferimenti a entità nello strato di astrazione directory.

Novell Audit

Per registrare informazioni sullo stato di un processo di workflow, il sistema di workflow interagisce con Novell Audit. Durante l'elaborazione di un workflow vengono registrate informazioni sui vari eventi che si verificano. Gli utenti possono quindi servirsi degli strumenti di generazione rapporti di Novell Audit per visionare i dati di registrazione.

Per informazioni sull'impostazione della registrazione, vedere Sezione 5.0, Configurazione della registrazione. Per informazioni sul controllo dei livelli dei messaggi di registrazione che si desidera vengano generati nell'applicazione utente di Identity Manager, vedere il capitolo Sezione 12.0, Configurazione di registrazione.

SMTP

Durante l'esecuzione di un workflow vengono spesso inviate notifiche e-mail in corrispondenza di determinati eventi, ad esempio quando un'attività di workflow viene associata a un nuovo assegnatario.

L'amministratore può modificare un modello di e-mail in iManager per poi utilizzarlo in un processo di workflow. In fase di runtime il sistema di workflow recupera il modello da eDirectory e sostituisce i tag con testo dinamico adatto alla notifica.

Le notifiche e-mail vengono gestite mediante il protocollo SMTP (Simple Mail Transfer Protocol).

Per informazioni sulle procedure di installazione di base di una notifica e-mail, vedere la sezione Sezione 23.3, Configurazione del server di e-mail e la sezione Sezione 23.4, Utilizzo dei modelli e-mail installati. Per informazioni sulla configurazione di notifiche e-mail per un workflow, vedere Configurazione delle attività di workflow.

Sicurezza

Il sistema della sicurezza gestisce tutti gli aspetti della sicurezza di un'applicazione di provisioning basata su workflow.

Per ulteriori informazioni sulla sicurezza del workflow, vedere la sezione Sezione 21.3, Sicurezza del provisioning.

21.1.2 Esempio di provisioning e di workflow

Si supponga che un utente necessiti di un conto in un sistema informatico. Per impostare il conto, avanza una richiesta mediante l'applicazione utente di Identity Manager. La richiesta avvia un workflow che coordina un processo di approvazione. Terminata la sequenza delle approvazioni necessarie, la richiesta viene soddisfatta. Il processo è composto da tre passaggi base, descritti di seguito:

Passaggio 1: avvio della richiesta

Nell'applicazione utente di Identity Manager l'utente sfoglia un elenco di risorse in ordine di categoria e ne seleziona una da sottoporre a provisioning. Nell'Identity Vault la risorsa soggetta a provisioning selezionata viene associata a una definizione di richiesta di provisioning. La definizione di richiesta di provisioning costituisce l'oggetto più importante di un sistema di provisioning. Associa una risorsa soggetta a provisioning a un workflow e funge da strumento mediante il quale il processo di workflow viene esposto all'utente finale. Nella definizione di richiesta di provisioning sono contenute tutte le informazioni necessarie per visualizzare il modulo di richiesta iniziale e per avviare il flusso che segue la richiesta iniziale.

Nell'esempio l'utente seleziona un nuovo conto come risorsa. Quando l'utente avvia la richiesta, il modulo di richiesta iniziale e la descrizione dei dati della richiesta iniziale associati vengono recuperati dal sistema di provisioning, il quale desume tali oggetti dalla definizione della richiesta di provisioning.

Quando viene avviata una richiesta di provisioning, il sistema di provisioning tiene traccia dell'iniziatore e del destinatario. L'iniziatore è l'individuo che ha avanzato la richiesta. Il destinatario è l'individuo per il quale è stata avanzata la richiesta. In alcuni casi iniziatore e destinatario possono corrispondere alla stessa persona.

A ogni richiesta di provisioning è associata un'operazione. Nell'operazione è specificato se l'utente desidera concedere o revocare la risorsa.

Passaggio 2: approvazione della richiesta

Dopo l'inoltro della richiesta da parte dell'utente, il sistema di provisioning avvia il processo di workflow. Il processo di workflow coordina le approvazioni necessarie. Nell'esempio sono necessari due livelli di approvazione: il manager dell'utente e il supervisore del manager. Se un utente nega l'approvazione, il workflow viene interrotto e la richiesta viene respinta.

NOTA:in Identity Manager è disponibile una serie di modelli di richiesta di provisioning che supportano fino a cinque livelli di approvazione nel workflow. In una versione futura di Identity Manager, l'ambiente di sviluppo basato su Eclipse metterà a disposizione alcuni strumenti per la creazione di processi di workflow personalizzati. Per ulteriori informazioni sui modelli disponibili nella versione presente, vedere la sezione Sezione 22.2, Utilizzo dei modelli installati.

Nei workflow le approvazioni possono essere elaborate in modo sequenziale o parallelo. In un workflow sequenziale è necessario che ogni task di approvazione venga elaborato prima del successivo. In un workflow parallelo gli utenti hanno la possibilità di eseguire i task di approvazione contemporaneamente.

Flusso sequenziale Nella figura seguente viene illustrato lo schema di progettazione di base di un workflow sequenziale composto da due approvazioni:

Descrizione: Descrizione: Illustrazione

Flusso parallelo Nella figura seguente viene illustrato lo schema di progettazione di base di un workflow parallelo composto da due approvazioni:

Descrizione: Descrizione: Illustrazione

NOTA:è possibile modificare facilmente le etichette di visualizzazione (Prima approvazione, Seconda approvazione e così via) per adattarle ai requisiti dell'applicazione in uso. Nel caso dei flussi paralleli può essere opportuno specificare etichette che non implichino l'elaborazione sequenziale, ad esempio Prima approvazione parallela su tre, Seconda approvazione parallela su tre e così via.

La definizione del workflow è composta dagli elementi seguenti:

Componenti del processo

Descrizione

Attività

Un'attività è un oggetto che rappresenta un task. Un'attività può presentare informazioni all'utente e rispondere alle interazioni dell'utente oppure eseguire funzioni in background che l'utente non è in grado di vedere.

Negli esempi di workflow illustrati in precedenza le attività sono rappresentate da caselle.

Nell'applicazione utente di Identity Manager le attività dell'utente che riguardano il processo di approvazione sono denominate task. L'utente finale ha la possibilità di vedere l'elenco dei task nella coda personale facendo clic su Task personali nel gruppo di azioni Lavoro personale. Per visualizzare le attività di workflow elaborate per un task in particolare, l'utente dovrà selezionare il task e fare clic sul pulsante Visualizza cronologia commenti nel modulo Dettagli task.

Per visualizzare le attività di workflow elaborate per una richiesta di provisioning in particolare, l'utente dovrà fare clic su Richieste utente, selezionare la richiesta e fare clic sul pulsante Visualizza cronologia flussi e commenti nel modulo Dettagli richiesta.

Per ulteriori informazioni sulle azioni Task personali e Richieste utente, vedere l'Applicazione utente di Identity Manager - Guida dell'utente.

Collegamenti

I collegamenti mettono in relazione tra loro le attività di un workflow. Un collegamento rappresenta un percorso da seguire tra due attività.

A ogni attività possono essere associati più collegamenti in arrivo e più collegamenti in uscita. Quando un'attività presenta più di un collegamento in uscita, il collegamento selezionato dipende dal risultato dell'attività. Per risultato si intende il risultato finale dell'elaborazione eseguita dall'attività. Il risultato di un'attività utente, ad esempio, può essere approvato o rifiutato, a seconda dell'azione intrapresa dall'utente.

Negli esempi di workflow illustrati in precedenza, i collegamenti sono rappresentati da frecce.

Attività di avvio Il processo di workflow ha inizio con l'esecuzione dell'attività di avvio, che inizializza un documento di lavoro utilizzando i dati della richiesta iniziale. Associa inoltre numerosi valori di sistema, quali iniziatore e destinatario, affinché possano essere utilizzati nelle espressioni dello script.

Attività utente Terminata l'esecuzione dell'attività di avvio, il sistema di workflow inoltra l'elaborazione alla prima attività utente del flusso. L'attività utente è un'attività che supporta interazioni dell'utente. Per gestire queste interazioni, viene visualizzato un modulo che dà all'utente la possibilità di agire sulla richiesta. Negli esempi di workflow illustrati in precedenza, Prima approvazione e Seconda approvazione sono esempi di attività utente. Le etichette di visualizzazione delle attività utente possono essere localizzate per soddisfare requisiti locali.

Un'attività utente può supportare una o più delle azioni seguenti:

  • Assumi
  • Approva
  • Rifiuta
  • Respingi
  • Riassegna (disponibile solo per i manager dell'organizzazione e gli amministratori dell'applicazione utente)

NOTA:i campi e i pulsanti presenti sul modulo dipendono dalla risorsa richiesta e dalla configurazione del workflow. L'azione Respingi, ad esempio, non è supportata in molti modelli forniti con il prodotto.

A un'attività utente sono associati cinque possibili risultati:

  • Approvato
  • Rifiutato
  • Rifiutato
  • Errore
  • Timeout

NOTA:i risultati Errore e Timeout sono possibili anche senza azioni intraprese da un utente.

Se l'utente approva la richiesta, il controllo del workflow passa all'attività successiva del flusso. Se non sono necessarie altre approvazioni, la risorsa viene sottoposta a provisioning. Se l'utente rifiuta la richiesta, l'elemento di lavoro viene inoltrato all'attività successiva del workflow e la richiesta viene rifiutata. In alternativa l'utente può riassegnare il task (se è un manager dell'organizzazione o un amministratore dell'applicazione utente) e l'elemento di lavoro passa quindi nella coda di un altro utente.

NOTA:i modelli di richiesta di provisioning disponibili nel prodotto sono configurati per l'interruzione di un processo di workflow se la richiesta viene rifiutata. Quando la richiesta viene rifiutata, l'elemento di lavoro viene inoltrato all'attività finale, che interrompe il flusso.

L'utente al quale è assegnata un'attività utente viene denominato assegnatario. L'assegnatario dell'attività riceve la notifica dell'assegnazione del task tramite e-mail. Per svolgere il lavoro associato all'attività, l'assegnatario può fare clic sull'URL contenuto nell'e-mail, individuare il task nell'elenco di lavoro (coda) e assumere il task.

L'assegnatario deve rispondere a un'attività utente in un intervallo di tempo specificato, in caso contrario il tempo previsto scade. Solitamente l'intervallo di timeout è espresso in ore o giorni, per concedere all'utente un tempo sufficiente per rispondere.

Quando un'attività scade, è possibile che il processo di workflow tenti nuovamente di completare l'attività se per questa è stato specificato il numero di tentativi. In alcune situazioni è possibile che il processo di workflow sia configurato per il trasferimento di un'attività a un altro utente in caso di timeout. In tal caso l'attività viene riassegnata a un nuovo assegnatario, il manager dell'utente ad esempio, per dare a quest'ultimo l'opportunità di terminare il lavoro dell'attività. Nell'eventualità di un timeout dell'ultimo tentativo, l'attività sarà contrassegnata come approvata o rifiutata a seconda della configurazione del workflow.

Attività condizionali Durante l'esecuzione di un processo di workflow è possibile che venga eseguito un test per verificare il risultato e vedere l'eventuale operazione successiva. L'attività condizionale consente di eseguire tale verifica. Le attività condizionali utilizzano un'espressione di script per definire la condizione da valutare. Negli esempi di workflow illustrati in precedenza, Condizione di approvazione è un esempio di attività condizionale.

Alle attività condizionali sono associati tre possibili risultati:

  • True
  • False
  • Errore

Attività di diramazione e di fusione Nei workflow che prevedono l'elaborazione parallela, l'attività di diramazione consente a due utenti di agire su aree diverse dell'elemento di lavoro contemporaneamente. Terminato il lavoro dei singoli utenti, l'attività di fusione sincronizza le diramazioni in arrivo nel flusso.

Attività di provisioning L'attività di provisioning soddisfa la richiesta di provisioning. Questa attività viene eseguita solo se sono state concesse tutte le approvazioni necessarie.

Per informazioni sul passaggio del provisioning, vedere Passaggio 3: evasione della richiesta.

Attività finale L'attività finale è l'attività conclusiva di un workflow. Quando tutte le attività di un flusso sono state completate e il risultato finale del flusso è disponibile, è possibile eseguire l'attività finale. Il sistema di workflow è in grado di determinare lo stato finale del processo esaminando i collegamenti in arrivo nell'attività finale. Lo stato globale del flusso è approvato quando un collegamento di approvazione raggiunge l'attività finale. Se l'attività finale è raggiunta da qualsiasi altro risultato (di rifiuto, timeout o errore), lo stato globale del flusso è rifiutato.

Quando un processo di workflow raggiunge l'attività finale con lo stato approvato, il processo di approvazione è completo e la richiesta di provisioning può essere soddisfatta.

Passaggio 3: evasione della richiesta

Quando una richiesta di provisioning viene approvata, il sistema di workflow avvia il passaggio del provisioning. A questo punto il controllo torna al sistema di provisioning.

Per soddisfare la richiesta di provisioning, il sistema di provisioning può eseguire un'autorizzazione di Identity Manager oppure modificare direttamente un oggetto eDirectory e i relativi attributi. Durante il passaggio di provisioning, il sistema crea eventuali oggetti correlati e registra i risultati dell'azione di provisioning sul destinatario, come descritto nella definizione dei dati di provisioning. A seconda dell'operazione (di concessione o revoca) richiesta dall'utente, ciò può implicare l'impostazione o la rimozione del valore di un attributo relativamente al destinatario oppure l'aggiunta o la rimozione di un elemento da un attributo multivalore del destinatario. Gli attributi interessati sono attributi eDirectory (probabilmente resi disponibili aggiungendo una classe ausiliaria al destinatario). I valori stessi degli attributi possono essere semplici oppure di un tipo complesso che consente al sistema di provisioning di specificare il valore di sottoattributi interni.