Opzioni di esportazione per lo storage di file
In Compute Cloud@Customer, le opzioni di esportazione NFS ti consentono di creare un controllo dell'accesso più granulare di quanto sia possibile utilizzando le regole degli elenchi di sicurezza per limitare l'accesso alla rete VCN. Puoi usare le opzioni di esportazione NFS per specificare i livelli di accesso per gli indirizzi IP o i blocchi CIDR che si connettono ai file system attraverso le esportazioni in una destinazione di accesso. L'accesso può essere limitato in modo che il file system di ciascun client sia inaccessibile e invisibile all'altro, fornendo controlli di sicurezza migliori negli ambienti multi-tenant.
Utilizzando i controlli di accesso dell'opzione di esportazione NFS, è possibile limitare la capacità dei client di connettersi al file system e visualizzare o scrivere i dati. Ad esempio, se si desidera consentire ai client di utilizzare, ma non aggiornare, le risorse nel file system, è possibile impostare l'accesso in sola lettura. È inoltre possibile ridurre l'accesso root client ai file system e mappare gli ID utente (UID) e gli ID gruppo (GID) specificati a un singolo UID/GID anonimo di propria scelta.
Opzioni di esportazione
Le esportazioni controllano in che modo i client NFS accedono ai file system quando si connettono a una destinazione di MOUNT. I file system vengono esportati (rendere disponibili) tramite le destinazioni di accesso.
Le opzioni di esportazione NFS sono un set di parametri all'interno dell'esportazione che specificano il livello di accesso concesso ai client NFS quando si connettono a una destinazione di accesso. Una voce delle opzioni di esportazione NFS all'interno di un'esportazione definisce l'accesso per un singolo indirizzo IP o intervallo di blocchi CIDR. È possibile avere fino a 100 opzioni per file system.
Ogni indirizzo IP client o blocco CIDR separato che si desidera definire per l'accesso richiede una voce di opzioni di esportazione separata nell'esportazione. Ad esempio, se si desidera impostare le opzioni per gli indirizzi IP del client NFS 10.0.0.6, 10.0.0.08 e 10.0.0.10, è necessario creare tre voci separate, una per ogni indirizzo IP.
Quando sono presenti più esportazioni che utilizzano lo stesso file system e la stessa destinazione di accesso, le opzioni di esportazione applicate a un'istanza sono le opzioni con un'origine che corrisponde più da vicino all'indirizzo IP dell'istanza. La più piccola (più specifica) corrispondenza ha la precedenza su tutte le esportazioni. Pertanto, è possibile determinare quali opzioni di esportazione vengono applicate a un'istanza esaminando il valore di origine di tutte le esportazioni.
Ad esempio, tenere presenti le due voci delle opzioni di esportazione riportate di seguito che specificano l'accesso per un'esportazione.
Voce 1: Fonte: 10.0.0.8/32, Accesso: Lettura/Scrittura
Voce 2: Origine: 10.0.0.0/16, Accesso: Sola lettura
In questo caso, i client che si connettono all'esportazione dall'indirizzo IP 10.0.0.8 hanno accesso in lettura/scrittura. Quando sono presenti più opzioni di esportazione, viene applicata la corrispondenza più specifica.
Quando più file system vengono esportati nella stessa destinazione di accesso, è necessario prima esportare nella destinazione di accesso con la rete più piccola (il numero CIDR più grande). Per informazioni e istruzioni dettagliate, consultare il documento ID documento 2823994.1 di My Oracle Support.
I file system possono essere associati a una o più esportazioni contenute in una o più destinazioni di accesso.
Se l'indirizzo IP di origine client non corrisponde ad alcuna voce nell'elenco per una singola esportazione, l'esportazione non sarà visibile per il client. Tuttavia, è possibile accedere al file system tramite altre esportazioni nella stessa destinazione o in altre destinazioni di accesso. Per negare completamente l'accesso client a un file system, assicurarsi che l'indirizzo IP o il blocco CIDR di origine client non sia incluso in alcuna esportazione per qualsiasi destinazione di accesso associata al file system.
Per informazioni su come configurare le opzioni di esportazione per vari scenari di condivisione dei file, vedere Scenari di controllo dell'accesso NFS.
Per ulteriori informazioni sulla configurazione delle opzioni di esportazione, vedere la sezione Impostazione delle opzioni di esportazione NFS.
Impostazioni predefinite opzione di esportazione NFS
Quando si crea un file system ed esegue l'esportazione, le opzioni di esportazione NFS per tale file system vengono impostate sulle impostazioni predefinite riportate di seguito, che consentono l'accesso completo a tutte le connessioni di origine client NFS. Per limitare l'accesso, è necessario modificare i valori predefiniti riportati di seguito.
Nota: quando si utilizza l'interfaccia CLI per impostare le opzioni di esportazione, se si impostano le opzioni con un array vuoto (nessuna opzione specificata), l'esportazione non è accessibile ad alcun client.
Opzione di esportazione nella console Compute Cloud@Customer | Opzione di esportazione nell'interfaccia CLI | Valore predefinito | descrizione; |
---|---|---|---|
Origine: |
|
0.0.0.0/0 |
Indirizzo IP o blocco CIDR di un client NFS in fase di connessione. |
Porte: |
|
Qualsiasi |
Impostato sempre su:
|
Accesso: |
|
Lettura/scrittura |
Specifica l'accesso al client NFS di origine. È possibile impostare su uno dei seguenti valori:
|
Squash: |
|
Nessuna |
Determina se per i client che accedono al file system come root viene eseguito il mapping del relativo ID utente (UID) e ID gruppo (GID) all'UID/GID squash. Questi sono i valori possibili:
|
UID/GID squash: |
|
65.534 |
Questa impostazione viene utilizzata insieme all'opzione Squash. Quando si esegue di nuovo il mapping di un utente root, è possibile utilizzare questa impostazione per modificare i valori predefiniti di anonymousUid e anonymousGid impostandoli su un ID utente qualsiasi. |
Scenari di controllo di accesso NFS
In Compute Cloud@Customer, scopri diversi modi per controllare l'accesso NFS esaminando alcuni scenari.
- Scenario A: Accesso basato su host di controllo: fornisce un ambiente gestito per due client. I client condividono una destinazione di accesso, ma ognuno dispone di un proprio file system e non può accedere agli altri dati.
- Scenario B: Limitare la possibilità di scrivere dati: fornisce dati ai client per l'utilizzo, ma non consente loro di aggiornare i dati.
- Scenario C: Migliorare la sicurezza del file system: aumenta la sicurezza limitando i privilegi dell'utente root durante la connessione a un file system.
Scenario A: controllare l'accesso basato sull'host
In Compute Cloud@Customer, fornire un ambiente gestito in hosting per due client. I client condividono una destinazione di accesso, ma ognuno ha il proprio file system e non può accedere ai dati degli altri.
Ad esempio:
-
Il client A è assegnato al blocco CIDR 10.0.0.0/24 e richiede l'accesso in lettura/scrittura al file system A, ma non al file system B.
-
Il client B è assegnato al blocco CIDR 10.1.1.0/24 e richiede l'accesso in lettura/scrittura al file system B, ma non al file system A.
-
Il client C è assegnato al blocco CIDR 10.2.2.0/24 e non dispone di alcun tipo di accesso al file system A o al file system B.
-
Entrambi i file system A e B sono associati a una singola destinazione di accesso, MT1. Ogni file system dispone di un'esportazione contenuta nel set di esportazione MT1.
Poiché il client A e il client B accedono alla destinazione di accesso da blocchi CIDR diversi, è possibile impostare le opzioni client per entrambe le esportazioni di file system per consentire l'accesso a un solo blocco CIDR. L'accesso al client C è negato in quanto non include il relativo indirizzo IP o il blocco CIDR nelle opzioni di esportazione NFS per qualsiasi esportazione di uno dei due file system.
Esempio di console di calcolo Cloud@Customer
Impostare le opzioni di esportazione per il file system A per consentire l'accesso in lettura/scrittura solo al client A, assegnato al blocco CIDR 10.0.0.0/24. Il client B e il client C non sono inclusi in questo blocco CIDR e non possono accedere al file system.
Per informazioni su come accedere alle opzioni di esportazione NFS nella console di Compute Cloud@Customer, vedere Impostazione delle opzioni di esportazione NFS.
Origine | Porte | Accedi | squash | UID/GID squash |
---|---|---|---|---|
10.0.0.0/24 | Qualsiasi | Lettura/scrittura | Nessuna | (non utilizzato) |
Impostare le opzioni di esportazione per il file system B per consentire l'accesso in lettura/scrittura solo al client B, assegnato al blocco CIDR 10.1.1.0/24. Il client A e il client C non sono inclusi in questo blocco CIDR e non possono accedere al file system.
Origine | Porte | Accedi | squash | UID/GID squash |
---|---|---|---|---|
10.1.1.0/24 | Qualsiasi | Lettura/scrittura | Nessuna. | (non utilizzato) |
Esempio di CLI
Per informazioni su come accedere alle opzioni di esportazione NFS nell'interfaccia CLI, vedere Setting NFS Export Options.
Impostare le opzioni di esportazione per il file system A per consentire l'accesso a Read_Write
solo al client A, assegnato al blocco CIDR 10.0.0.0/24. Il client B e il client C non sono inclusi in questo blocco CIDR e non possono accedere al file system.
oci fs export update --export-id <File_system_A_export_ID> --export-options \
'[{"source":"10.0.0.0/24","require-privileged-source-port":"false","access":"READ_WRITE","identity-squash":"NONE","anonymous-uid":"65534","anonymous-gid":"65534"}]'
Impostare le opzioni di esportazione per il file system B per consentire l'accesso a Read_Write
solo al client B, assegnato al blocco CIDR 10.1.1.0/24. Il client A e il client C non sono inclusi in questo blocco CIDR e non possono accedere al file system.
oci fs export update --export-id <File_system_B_export_ID> --export-options \
'[{"source":"10.1.1.0/24 ","require-privileged-source-port":"false","access":"READ_WRITE","identity-squash":"NONE","anonymous-uid":"65534","anonymous-gid":"65534"}]'
Scenario B: limitare la capacità di scrivere dati
In Compute Cloud@Customer, fornire i dati ai clienti per il consumo, ma non consentire loro di aggiornare i dati.
Ad esempio, si desidera pubblicare un set di risorse nel file system A per l'utilizzo da parte di un'applicazione, ma non modificare. L'applicazione si connette dall'indirizzo IP 10.0.0.8.
Esempio di console di calcolo Cloud@Customer
Impostare l'indirizzo IP di origine 10.0.0.8 in sola lettura nell'esportazione per il file system A.
Per informazioni su come accedere alle opzioni di esportazione NFS nella console di Compute Cloud@Customer, vedere Impostazione delle opzioni di esportazione NFS.
Origine | Porte | Accedi | squash | UID/GID squash |
---|---|---|---|---|
10.0.0.8 | Qualsiasi | Sola lettura | Nessuna | (non utilizzato) |
Esempio di CLI
Per informazioni su come accedere alle opzioni di esportazione NFS nell'interfaccia CLI, vedere Setting NFS Export Options.
Impostare l'indirizzo IP di origine 10.0.0.8 su READ_ONLY
nell'esportazione per il file system A.
oci fs export update --export-id <File_System_A_export_OCID> --export-options \
'[{"source":"10.0.0.8","require-privileged-source-port":"false","access":"READ_ONLY","identitysquash":"NONE","anonymousuid":"65534","anonymousgid":"65534"}]'
Scenario C: migliorare la sicurezza del file system
In Compute Cloud@Customer, per aumentare la sicurezza, è possibile limitare i privilegi dell'utente root durante la connessione al file system A. Utilizzare Identity Squash per rimappare gli utenti root a UID/GID 65534.
Nei sistemi di tipo UNIX, questa combinazione UID/GID è riservata a 'nobody', un utente senza privilegi di sistema.
Esempio di console di calcolo Cloud@Customer
Impostare l'indirizzo IP di origine 10.0.0.8 in sola lettura nell'esportazione per il file system A.
Per informazioni su come accedere alle opzioni di esportazione NFS nella console di Compute Cloud@Customer, vedere Impostazione delle opzioni di esportazione NFS.
Origine | Porte | Accedi | squash | UID/GID squash |
---|---|---|---|---|
0.0.0.0/0 | Qualsiasi | Lettura/scrittura | Root | 65.534 |
Esempio di CLI
Per informazioni su come accedere alle opzioni di esportazione NFS nell'interfaccia CLI, vedere Setting NFS Export Options.
oci fs export update --export-id <File_System_A_export_OCID> --export-options \
'[{"source":"0.0.0.0/0","require-privileged-source-port":"false","access":"READ_WRITE","identitysquash":"ROOT","anonymousuid":"65534","anonymousgid":"65534"}]'