Autenticazione e autorizzazione del file system

Completato

Dopo avere compreso le caratteristiche complessive del carico di lavoro a livello di prestazioni e traffico, sarà necessario esaminare gli aspetti relativi alla sicurezza. È possibile che i dati siano sensibili, ad esempio immagini radiologiche dei pazienti. È possibile che si voglia limitare l'accesso ai dati per molti motivi. È possibile che si voglia offrire tutti i ricercatori una "home directory" da cui possono caricare i dati ed eseguire analisi e simulazioni HPC.

Quando si seleziona la risorsa di archiviazione HPC cloud, valutarne l'integrazione con il comportamento di sicurezza corrente. Conoscere i metodi in base ai quali il file system autentica e autorizza l'accesso ai file. Notare se l'applicazione dei criteri è locale o remota o entrambi e qual è l'origine dell'autenticazione e dell'autorizzazione. Se si usa un file system condiviso remoto, è necessario comprendere come controllare l'accesso usando procedure NAS standard. Se infine si offrono spazi di lavoro esclusivi per gli utenti. ad esempio home directory, è necessario comprendere come allocare tale spazio.

In questa unità verranno esaminate le considerazioni sulla sicurezza e il modo in cui influiscono sull'architettura delle risorse di archiviazione.

Panoramica dell'autenticazione e dell'autorizzazione

Autenticazione: quando si fornisce l'accesso ai file system, è necessario autenticare il richiedente usando credenziali attendibili. Molte architetture client/server generano verifiche per tali credenziali, ad esempio account di utenti o computer. Queste credenziali vengono quindi controllate per assicurare che siano valide per l'ambiente. Dopo l'autenticazione il richiedente, ovvero l'utente o il computer/processo, viene autorizzato. I protocolli di accesso richiesti dall'ambiente potrebbero limitare l'autenticazione per la soluzione. Se ad esempio si usa un ambiente Windows, è altamente probabile che si usi SMB (Server Message Block) come protocollo di accesso ai file di rete. I requisiti dell'autenticazione SMB sono diversi dai requisiti di NFS.

Autorizzazione: oltre a consentire a un utente o un computer l'accesso a un ambiente, occorre definire il livello di accesso. È ad esempio possibile che l'utente A sia autorizzato a leggere i file in un file system e che l'utente B sia autorizzato a leggere e scrivere file. L'autorizzazione può andare oltre la lettura e la scrittura. È ad esempio possibile che l'utente C sia autorizzato a modificare i file ma non a creare nuovi file in una directory specifica.

Il livello di autorizzazione è spesso espresso come autorizzazioni per un determinato file. Le autorizzazioni includono la lettura, la scrittura e l'esecuzione.

Utenti e gruppi: la concessione dell'accesso a un set di risorse può risultare complessa quando il numero di utenti è elevato. Risulta complicata anche se si vogliono concedere livelli di accesso diversi a più set di utenti. Diventa quindi necessario usare i gruppi. Un utente viene assegnato a un gruppo specifico o a un set di gruppi. È quindi possibile autorizzare l'accesso alle risorse in base all'identificazione di tale gruppo.

La combinazione di autenticazione e autorizzazione rappresenta l'accesso a livello di utente, a livello di gruppo e a livello di computer che si vuole concedere alle risorse, ovvero in questo caso specifico ai file.

Il sistema operativo Linux assegna unidentificatore utente (UID) a singoli account utente. L'ID utente è un numero intero. Viene usato dal sistema per determinare a quali risorse del sistema, inclusi file e cartelle, può accedere un utente specifico.

Il sistema operativo Linux usa identificatori di gruppo (GID) per le assegnazioni di gruppi. Un utente viene associato a un singolo gruppo primario. Gli utenti possono essere associati praticamente a qualsiasi numero di assegnazioni a gruppi aggiuntive, fino a 65.536 nella maggior parte dei sistemi Linux moderni.

Autenticazione e autorizzazione locali e remote

L'autenticazione e l'autorizzazione locali fanno riferimento all'accesso a un file system locale da parte di un account utente o di computer a sua volta locale per il computer. È ad esempio possibile creare un account utente a cui si concede l'accesso ai dati o alla directory nel file system locale. L'account utente è locale, così come qualsiasi concessione di accesso alla directory. È anche possibile usare l'assegnazione a gruppi per controllare l'accesso. La combinazione di autorizzazione di utenti e gruppi fornisce a un utente autorizzazioni valide per un file o una cartella.

Se si esamina l'output tipico del comando ls -al della directory, il risultato visualizzato potrebbe essere simile al seguente:

drwxr-xr-x  4 root root 4096 Dec 31 19:43.
drwxr-xr-x 13 root root 4096 Dec 11 05:53 ..
drwxr-xr-x  6 root root 4096 Dec 31 19:43 microsoft
drwxr-xr-x  8 root root 4096 Dec 31 19:43 omi
-rw-r--r--  1 root root    0 Jan 21 15:10 test.txt

I caratteri drwxr-xr-x rappresentano il livello di accesso autorizzato che gli utenti e i gruppi hanno per il file o la directory. Il valore d indica che la voce è una directory. Se il primo valore è -, la voce è relativa a un file. I caratteri rimanenti rappresentano l'autorizzazione di lettura (r), scrittura (w) ed esecuzione (x) del gruppo di autorizzazioni. I primi tre valori indicano il "proprietario" del file o della directory. I tre valori successivi indicano le autorizzazioni di gruppo assegnate al file o alla directory. I tre valori finali indicano le autorizzazioni concesse a tutti gli altri utenti nel sistema.

Ecco un esempio:

-rw-r--r-- 1 root root 0 Jan 21 15:10 test.txt

  • - indica che questa risorsa è un file.
  • rw- indica che il proprietario ha autorizzazioni di lettura e di scrittura.
  • r-- indica che il gruppo assegnato ha solo autorizzazioni di lettura.
  • r-- indica che gli utenti rimanenti hanno solo autorizzazioni di lettura.
  • Si noti inoltre che l'utente proprietario e il gruppo assegnato sono rappresentati dalle due colonne root.

Un ID utente e identificatori di gruppo primari e supplementari rappresentano un utente autenticato in un computer locale. Questi valori sono locali per il computer. Se sono presenti cinque o addirittura 50 computer, sarà necessario replicare le assegnazioni di ID utente e identificatore di gruppo in ogni computer. Il livello di complessità correlato alla gestione degli utenti aumenta, insieme alla possibilità di concessione accidentale di accesso a file o cartelle all'utente errato.

Accesso remoto ai file tramite NFS

L'assegnazione di un ID utente o un identificatore di gruppo locale è ideale se si esegue tutto come singola assegnazione di utente/gruppo. Cosa accade se più stakeholder utilizzano il cluster HPC in esecuzione e ogni stakeholder ha dati sensibili e più consumer dei dati?

il posizionamento dei dati in un file server o in un ambiente NAS consentirà l'accesso remoto ai dati. Questo approccio consente di ridurre il costo del disco locale, assicura che i dati siano sempre aggiornati per tutti gli utenti e riduce la gestione complessiva di utenti e gruppi.

Diagram that shows the relationships among compute, storage, and directory services.

Se si posizionano centralmente i file, potrebbe essere necessario un servizio directory che contiene la configurazione di utenti e gruppi. I servizi directory, tra cui Active Directory o Lightweight Directory Access Protocol (LDAP), consentono di creare un mapping di utenti/gruppi che può essere quindi usato da tutti i sistemi remoti. I computer remoti e l'ambiente NAS vengono configurati come client del servizio directory. È anche possibile usare i mapping di Active Directory tra gli account utente Windows e una combinazione specifica di ID utente e identificatore di gruppo.

Il metodo tipico per accedere ai file in modalità remota consiste nell'usare un file system di rete come NFS o SMB oppure un file system parallelo come Lustre. Questi protocolli definiscono l'API di client e server per l'accesso ai dati. Le operazioni NFS sono state illustrate nell'unità "Considerazioni sulle prestazioni del file system". L'uso di NFS verrà illustrato in modo dettagliato nell'unità successiva.

Nota

Quando si usa NFS non è necessario alcun servizio directory. Se non lo si usa, tuttavia, la gestione di ID utente e identificatori di gruppo risulterà comunque complessa se il numero di utenti e sistemi è elevato.

Home directory

Si supponga che sia disponibile un ambiente HPC usato da più ricercatori, ma che sia necessario mantenere separati i dati di ogni ricercatore. Si supponga che i ricercatori modifichino continuamente i dati e aggiungano dati. Fornire home directory specifiche a ogni ricercatore è un modo efficiente per separare i rispettivi dati.

Ogni ricercatore gestirebbe le autorizzazioni nella home directory per consentire la collaborazione, se necessario.

Uno dei problemi principali in questo ambiente è costituito dallo spazio di archiviazione. Si supponga di avere un ambiente NAS da 500 TB. Per impedire a un ricercatore di usare tutto lo spazio disponibile,

è possibile assegnare una quota a una singola directory. La quota rispecchia la quantità massima di dati consentita. Dopo il raggiungimento della quota, è possibile rifiutare i dati aggiuntivi o segnalare agli amministratori che il ricercatore ha superato il limite. Se ad esempio si usa un sistema NAS, è possibile assegnare una quota a ogni ricercatore. Se inoltre si isola l'accesso dei ricercatori alla home directory, risulterà semplice configurare e monitorare l'utilizzo.