Argomento precedente: Controllo di accesso basato sui ruoliArgomento successivo: Utenti e gruppi predefiniti


Panoramica di RBAC

RBAC è un sistema di controllo di accesso di CA AppLogic® basato sui ruoli. RBAC fornisce un controllo granulare degli utenti e delle azioni che tali utenti possono eseguire per determinati oggetti di una griglia. Lo scopo generale di RBAC è di consentire a più utenti di lavorare su una stessa griglia senza interferire l'uno con l'altro. RBAC non fornisce funzionalità multi-tenant. Ad esempio, tutti gli utenti possono visualizzare l'elenco di tutte le applicazioni nello stesso modo in cui gli utenti in Linux possono elencare i file a cui non possono accedere. (Gli spazi dei nomi oggetto non sono segregati.)

RBAC supporta sia gli utenti sia i gruppi per l'autorizzazione di un'azione dell'utente. I gruppi possono includere utenti o altri gruppi come membri. È possibile creare utenti e gruppi specifici per una determinata griglia mediante l'interfaccia della riga di comando di CA AppLogic®. Le informazioni relative agli utenti e ai gruppi sono contenute in un servizio della directory incluso nel controller di griglia.

RBAC supporta l'uso facoltativo di un servizio della directory esterno come Microsoft® Windows® Active Directory®. In questo caso, le informazioni relative agli utenti e ai gruppi vengono ottenute a partire da un servizio della directory esterno quando un utente esegue l'autenticazione mediante il servizio.

CA AppLogic® fa riferimento a utenti e gruppi specifici per una griglia come utenti locali. Gli utenti e i gruppi che vengono memorizzati in un servizio di directory esterna sono denominati globali. Il servizi di directory corrispondenti possono inoltre essere categorizzati come locali o globali. È possibile configurare una griglia per utilizzare solamente utenti e gruppi locali, oppure utilizzare utenti e gruppi sia locali che globali.

Gli utenti e i gruppi possono inoltre essere categorizzati come entità principali. Per identificare un'entità principale in modo univoco, a ciascuna di esse viene assegnato un identificatore univoco o un ID principale. Se l'entità principale è un utente, l'ID principale viene spesso denominato come l'ID dell'utente. Allo stesso modo, se l'entità principale è un gruppo, l'ID principale viene spesso denominato come l'ID del gruppo. L'ID dell'entità principale consente di ricercare l'ambito dell'entità principale, il tipo e il nome. L'ambito dell'entità principale indica se l'entità principale è locale o globale. Il tipo dell'entità principale indica se l'entità principale è un utente o un gruppo. Il nome dell'entità principale è il suo nome proprio comune. Ad esempio, l'utente locale John è un'entità principale il cui ambito corrisponde a locale, a un tipo di utente ed al nome di John.

La funzione principale di RBAC è fornire le autorizzazioni agli utenti. Per fornire l'autorizzazione, RBAC utilizza gli elenchi di controllo di accesso (ACL, Access Control List). Tre tipi di oggetto della griglia dispongono di elenchi di controllo di accesso: le applicazioni, i cataloghi globali e la griglia stessa. Un ACL è composto da un titolare e da un elenco di voci. Il titolare corrisponde a un'entità principale e dispone di diritto impliciti per la modifica dell'ACL. Ciascuna voce è composta da un'entità principale e da un livello di accesso corrispondente che controlla i diritti di azione dell'entità principale sull'oggetto. Un livello di accesso è una raccolta denominata di autorizzazioni. Ad esempio, l'oggetto della griglia dispone di un livello di accesso denominato grid_administrator e una delle autorizzazioni incluse in tale livello di accesso corrisponde all'autorizzazione per l'accesso alla griglia. Un ID dell'unità principale univoco rappresenta ciascuna entità principale in un ACL.

Panoramica di ACL

RBAC non elimina l'accesso del gestore alla griglia. Le operazioni eseguite da un gestore non sono soggette all'autorizzazione.

Un ACL è un elenco di tutti i modi in cui l'accesso viene concesso a un oggetto. Questo elenco include i livelli di autorizzazione per utenti singoli e gruppi. Un utente può essere elencato come un utente individuale e come un membro di almeno uno dei gruppi elencati. Pertanto, il sistema valuta ciascuna voce ACL pertinente mentre concede l'accesso all'oggetto. Il sistema concede all'utente l'accesso con il numero maggiore di autorizzazioni in base alla sua qualifica, ovvero se è membro di un gruppo o un individuo elencato. Se l'accesso con il numero maggiore di autorizzazioni fornisce l'autorizzazione necessaria per l'oggetto, il controllo dell'autorizzazione avviene correttamente.

Il sistema considera l'appartenenza a un gruppo in modo ricorsivo. Pertanto, il sistema ritiene che un utente sia membro di un gruppo in due casi.

L'appartenenza ricorsiva a un gruppo si estende a tutti i livelli di gruppi nidificati all'interno dei gruppi in base alla loro definizione.

Esempio: utente con l'accesso di gruppo e individuale su un ACL della griglia

Jan è un membro del gruppo financial_operators sull'ACL della griglia. A questo gruppo viene assegnato il livello di accesso grid_user sull'oggetto della griglia. Questo livello di accesso include l'autorizzazione a eseguire il provisioning delle applicazioni. Questo livello di accesso non include l'autorizzazione a creare un utente locale.

Jan dispone anche di una voce individuale sull'ACL della griglia. A questa voce individuale viene assegnato il livello di accesso grid_administrator sull'oggetto della griglia. Questo livello di accesso include l'autorizzazione a creare un utente locale. Questo livello di accesso non include l'autorizzazione a eseguire il provisioning delle applicazioni.

Jan accede alla griglia. Nella stessa sessione, Jan desidera creare un utente locale ed eseguire il provisioning di un'applicazione. Il controllo dell'autorizzazione permette a Jan di eseguire entrambe le azioni. Appartenendo a un gruppo, Jan è autorizzato a eseguire il provisioning di un'applicazione. Secondo la voce ACL individuale, Jan è autorizzato a creare un utente locale.

Esempio: appartenenza al gruppo ricorsiva

Robin desidera eliminare un utente locale della griglia. Solo i membri del gruppo grid_administrators dispongono dell'autorizzazione per eliminare gli utenti locali. Robin non è elencato come membro del gruppo grid_administrators. Tuttavia, Robin è membro del gruppo al_senior_admins. Questo gruppo è elencato come membro del gruppo grid_administrators. Pertanto il sistema considera Robin come un membro del gruppo grid_administrators. Robin è autorizzato a eliminare un utente locale.