Utilizzo delle esportazioni e delle opzioni di esportazione NFS
Scopri le funzioni di base delle opzioni di esportazione ed esportazione NFS e come migliorare la sicurezza e controllare l'accesso client ai file system di storage dei file.
Panoramica
Le opzioni di esportazione NFS ti consentono di creare un controllo dell'accesso più granulare di quanto sia possibile utilizzando solo 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 ogni 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 su 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 UID/GID anonimo di propria scelta. Per ulteriori informazioni sul funzionamento delle opzioni di esportazione NFS con altri livelli di sicurezza, vedere Informazioni sulla sicurezza dello storage di file.
Esportazioni
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. Ogni destinazione di accesso gestisce un set di esportazione contenente una o più esportazioni. È possibile esportare un file system attraverso una o più destinazioni di accesso. Un file system deve avere almeno un'esportazione in una destinazione di accesso per consentire alle istanze di eseguire il MOUNT del file system. Le informazioni utilizzate da un'esportazione includono l'OCID del file system, l'OCID della destinazione di accesso, l'OCID del set di esportazione, il percorso di esportazione e le opzioni di esportazione del client. In genere, un'esportazione viene creata in una destinazione di accesso quando viene creato il file system. Successivamente, puoi creare ulteriori esportazioni per un file system in qualsiasi destinazione di accesso che risiede nello stesso dominio di disponibilità del file system.
È possibile eseguire i task di gestione delle esportazioni riportati di seguito.
Opzioni di esportazione NFS
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 esportazione.
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, per impostare le opzioni per gli indirizzi IP del client NFS 10.0.0.6, 10.0.08 e 10.0.0.10, è necessario creare tre voci separate, una per ogni indirizzo IP.
Il servizio di storage di file considera l'ordine elencato di ogni voce delle opzioni di esportazione per l'esportazione. Durante una richiesta NFS da parte di un client, il servizio di storage di file applica il primo set di opzioni che corrisponde all'indirizzo IP di origine del client. Viene applicato solo il primo set, il resto viene ignorato.
Ad esempio, tenere presenti le due voci delle opzioni di esportazione riportate di seguito che specificano l'accesso per un'esportazione.
Voce 1: Origine: 10.0.0.0/16, Accesso: Sola lettura
Voce 2: Fonte: 10.0.0.8, Accesso: Lettura/Scrittura
In questo caso, i client che si connettono all'esportazione dall'indirizzo IP 10.0.0.8 dispongono dell'accesso di sola lettura. L'indirizzo IP di origine della richiesta è contenuto nel blocco CIDR specificato nella prima voce e lo storage di file applica le opzioni nella prima corrispondenza.
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 del client non corrisponde ad alcuna voce nella lista 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 controllare l'accesso all'esportazione è possibile impostare le opzioni riportate di seguito.
- Origine: l'indirizzo IP o il blocco CIDR di un client NFS in fase di connessione.
-
Porte: questa impostazione determina se i client NFS specificati in Origine sono necessari per la connessione da una porta di origine con privilegi. Le porte con privilegi sono qualsiasi porta, inclusa la versione 1-1023. Nei sistemi di tipo UNIX, solo l'utente root può aprire porte con privilegi. L'impostazione di questo valore su Privileged non consente le richieste da porte senza privilegi. L'impostazione predefinita è diversa a seconda della modalità di creazione dell'esportazione.
La creazione di un'esportazione nella console mediante le selezioni predefinite imposta Porte su Qualsiasi a meno che non si selezioni Usa opzioni di esportazione sicure.
La creazione di un'esportazione mediante l'API o l'interfaccia CLI senza un array
ClientOption
esplicito imposta l'attributorequirePrivilegedSourcePort
dell'opzione client sufalse
. Quando si crea un arrayClientOption
in modo esplicito, il valore predefinito direquirePrivilegedSourcePort
ètrue
.
Quando l'opzione Porte è impostata su Privilegiate, è necessario seguire anche i passi di configurazione aggiuntivi riportati di seguito.
-
Quando si attiva il file system da un sistema di tipo UNIX, includere l'opzione
resvport
in un comando di attivazione durante l'attivazione. Ad esempio:sudo mount -o resvport 10.x.x.x:/fs-export-path /mnt/yourmountpoint
Per ulteriori informazioni, vedere Attivazione dei file system da istanze di stile UNIX.
-
Quando si attiva il file system da un sistema Windows, accertarsi che il valore della chiave di registro di UseReserverdPort sia impostato su 1.
Per ulteriori informazioni, vedere Attivazione dei file system dalle istanze di Windows.
- Accesso: questa impostazione specifica l'accesso al client NFS Origine.
- Lettura/scrittura è l'impostazione predefinita.
- Lettura.
- Accesso anonimo: questa impostazione specifica se abilitare l'accesso anonimo per l'autenticazione Kerberos nei casi in cui la destinazione di accesso non riesce a trovare un utente nel server LDAP. Se l'opzione Accesso anonimo è impostata su Non consentito e l'utente non viene trovato nella directory LDAP oppure il tentativo di ricerca restituisce un errore LDAP, l'operazione non riesce. Se l'opzione Accesso anonimo è impostata su Consentito e l'utente non viene trovato nella directory LDAP, l'operazione utilizza i valori UID squash e GID squash dell'esportazione. Per maggiori informazioni, vedere Using Kerberos Authentication.Nota
Se l'esportazione non utilizza l'autenticazione Kerberos, scegliere Non consentito. - Opzioni di autenticazione consentite: questa impostazione specifica i metodi di autenticazione consentiti dal client NFS.
- SYS: autenticazione NFS v3 UNIX. Se non si specifica un valore di autenticazione consentito quando si crea l'opzione di esportazione, viene utilizzato il valore predefinito SYS.
- KRB5: autenticazione Kerberos NFS v3.
- KRB5I: autenticazione Kerberos NFS v3 e integrità dei dati.
- KRB5P: autenticazione Kerberos NFS v3, integrità e privacy dei dati (crittografia in transito).
È possibile selezionare più metodi di autenticazione. Ad esempio, l'impostazione di Opzioni di autenticazione consentite su KRB5 e KRB5I consentirebbe l'integrità dei dati di Kerberos e Kerberos di base, ma non consentirebbe l'autenticazione SYS e KRB5P.
Attenzione
Una selezione vuota di Opzioni di autenticazione consentite rimuove tutti i tipi di autenticazione e può comportare la perdita dell'accesso. I client che richiedono l'autenticazione SYS perdono l'accesso se l'opzione SYS non è presente.Importante
I comandi di attivazione utilizzati per eseguire il MOUNT del file system sono diversi a seconda dei metodi di autenticazione consentiti nelle opzioni di esportazione. Se i client NFS si connettono tramite una destinazione di accesso abilitata per Kerberos, il comando di installazione deve includere l'opzione
sec
. Ad esempio:sudo mount -o sec=krb5 10.x.x.x:/fs-export-path /mnt/yourmountpoint
sudo mount -o sec=krb5i 10.x.x.x:/fs-export-path /mnt/yourmountpoint
sudo mount -o sec=krb5p 10.x.x.x:/fs-export-path /mnt/yourmountpoint
Per i client NFS che si connettono con AUTH_SYS nella stessa esportazione, il comando di attivazione include
sec=sys
. Ad esempio:sudo mount -o sec=sys 10.x.x.x:/fs-export-path /mnt/yourmountpoint
Se l'esportazione utilizza solo AUTH_SYS, l'opzione
sec
è facoltativa. Gli esempi di comando MOUNT forniti dalla console si basano sulle opzioni di esportazione selezionate.Nota
Se un client NFS utilizza un'esportazione con più tipi di autenticazione e il file system viene attivato senza specificaresec=<auth_type>
, il client deve selezionare automaticamente il tipo di autenticazione più efficace supportato dall'esportazione. - Squash: questa impostazione determina se per i client origine che accedono al file system viene eseguito il mapping del relativo ID utente (UID) e ID gruppo (GID) in UID Squash e GID Squash.
- Nessuno: non viene eseguito il nuovo mapping di alcun utente. Si tratta del valore predefinito.
- Radice: viene eseguita di nuovo la mapping solo della combinazione UID/GID utente root 0/0.
- Tutti: viene eseguito di nuovo il mapping di tutti gli utenti e i gruppi.
- UID squash: questa impostazione viene utilizzata insieme alle opzioni Squash e Accesso anonimo. Quando si esegue il nuovo mapping degli utenti, è possibile utilizzare questa impostazione per modificare il valore predefinito da 65534 a qualsiasi altro ID utente.
- GID squash: questa impostazione viene utilizzata insieme alle opzioni Squash e Accesso anonimo. Quando si esegue di nuovo il mapping dei gruppi, è possibile utilizzare questa impostazione per modificare il valore predefinito da 65534 a qualsiasi altro ID gruppo.
Scenari tipici di controllo di accesso
Quando si crea il file system e si esporta, le opzioni di esportazione NFS per tale file system vengono impostate nelle 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.
- Origine: 0.0.0.0/0 (tutto)
- Richiedi porta di origine con privilegi: qualsiasi
- Opzioni di autenticazione consentite: SYS
- Accesso: lettura/scrittura
- Squash: nessuno
Accesso basato su host controllo
Fornire un ambiente gestito in hosting per due client. I client condividono una destinazione di accesso, ma ognuno dispone di un proprio file system e non può accedere ai dati reciproci. Ad esempio:
- Il client A, assegnato al blocco CIDR 10.0.0.0/24, 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, 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, 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.
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.
Opzioni di esportazione del file system A:
- Origine: 10.0.0.0/24
- Porte: con privilegi
- Accesso: lettura/scrittura
- Squash: nessuno
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.
Opzioni di esportazione del file system B:
- Origine: 10.1.1.0/24
- Porte: con privilegi
- Accesso: lettura/scrittura
- Squash: nessuno
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":"true","access":"READ_WRITE","identity-squash":"NONE","anonymous-uid":"65534","anonymous-gid":"65534"}]'
Impostare le opzioni di esportazione per il file system B in modo che Read_Write possa accedere 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":"true","access":"READ_WRITE","identity-squash":"NONE","anonymous-uid":"65534","anonymous-gid":"65534"}]'
Per un elenco completo dei parametri e dei valori per i comandi della CLI, vedere il manuale CLI Command Reference.
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.
PUT/<Current_API_Version>/exports/<File_System_A_export_OCID> Host: filestorage.us-phoenix-1.oraclecloud.com <authorization and other headers> { "exportOptions": [ { "source": "10.0.0.0/24", "requirePrivilegedSourcePort": true, "access": "READ_WRITE", "identitySquash": "NONE", "anonymousUid": 65534, "anonymousGid": 65534 } ] }
Impostare le opzioni di esportazione per il file system B in modo che READ_WRITE possa accedere 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.
PUT/<Current_API_Version>/exports/<File_System_B_export_OCID> Host: filestorage.us-phoenix-1.oraclecloud.com <authorization and other headers> { "exportOptions": [ { "source": "10.1.1.0/24", "requirePrivilegedSourcePort": true, "access": "READ_WRITE", "identitySquash": "NONE", "anonymousUid": 65534, "anonymousGid": 65534 } ] }
Limita la possibilità di scrivere dati
Fornire 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.
Impostare l'indirizzo IP di origine 10.0.0.8 su Sola lettura nell'esportazione per il file system A. Opzioni di esportazione del file system A:
- Origine: 10.0.0.8
- Porte: con privilegi
- Accesso: sola lettura
- Squash: nessuno
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":"true","access":"READ_ONLY","identitysquash":"NONE","anonymousuid":"65534","anonymousgid":"65534"}]'
Impostare l'indirizzo IP di origine 10.0.0.8 su READ_ONLY nell'esportazione per il file system A:
PUT/<Current_API_Version>/exports/<File_System_A_export_OCID> Host: filestorage.us-phoenix-1.oraclecloud.com <authorization and other headers> { "exportOptions": [ { "source": "10.0.0.8", "requirePrivilegedSourcePort": true, "access": "READ_ONLY", "identitySquash": "NONE", "anonymousUid": 65534, "anonymousGid": 65534 } ] }
Migliora la sicurezza dei file system
Per aumentare la sicurezza, si desidera 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 simili a Unix, questa combinazione UID/GID è riservata a 'nobody', un utente senza privilegi di sistema.
Opzioni di esportazione del file system A:
- Origine: 0.0.0.0
- Porte: con privilegi
- Accesso: lettura/scrittura
- Squash: radice
- UID: 65534
- GID: 65534
oci fs export update --export-id <File_System_A_export_OCID> --export-options '[{"source":"0.0.0.0/0","require-privileged-source-port":"true","access":"READ_WRITE","identitysquash":"ROOT","anonymousuid":"65534","anonymousgid":"65534"}]'
Per un elenco completo dei parametri e dei valori per i comandi CLI, consultare il manuale CLI Command Reference.
PUT/<Current_API_Version>/exports/<File_System_A_export_OCID> Host: filestorage.us-phoenix-1.oraclecloud.com <authorization and other headers> { "exportOptions": [ { "source": "0.0.0.0/0", "requirePrivilegedSourcePort": true, "access": "READ_WRITE", "identitySquash": "ROOT", "anonymousUid": 65534, "anonymousGid": 65534 } ] }
Suggerimento
Se non si desidera che un file system sia visibile per i client, è possibile impostare tutte le proprietà dell'array
exportOptions
su valori vuoti. Ad esempio:{ "exportOptions": [ { "source":"", "requirePrivilegedSourcePort":"", "access": "", "identitySquash":""} ]
Usa Kerberos per l'autenticazione
Per aumentare la sicurezza, si desidera richiedere l'autenticazione Kerberos con integrità dei dati e privacy dei dati (crittografia in transito) durante la connessione al file system A dal blocco CIDR 10.0.0.0/24. Utilizzare Accesso anonimo per schiacciare gli utenti non trovati con la ricerca LDAP per procedere con l'UID e il GID specificati e senza gruppi secondari.
Abilita autenticazione Kerberos per il file system A, quindi imposta le opzioni di esportazione.
Opzioni di esportazione del file system A:
- Origine: 10.0.0.0/24
- Porte: Qualsiasi
- Accesso: lettura/scrittura
- Squash: nessuno
- Accesso anonimo: True
- Opzioni di autenticazione consentite: KRB5P
- UID squash: 65534
- GID squash: 65534
Nota
Per l'esportazione deve essere abilitata anche l'opzione Usa LDAP per elenco gruppi.oci fs export update --export-id <File_System_A_export_OCID> --export-options '[{"source":"10.0.0.0/24","require-privileged-source-port":"false","access":"READ_WRITE","allowedAuth":"KRB5P","isAnonymousAccessAllowed":"true","identitysquash":"NONE","anonymousuid":"65534","anonymousgid":"65534"}]'
Nota
L'esportazione deve anche avere--is-idmap-groups-for-sys-auth
impostato sutrue
.Per un elenco completo dei parametri e dei valori per i comandi CLI, consultare il manuale CLI Command Reference.
PUT/<Current_API_Version>/exports/<File_System_A_export_OCID> Host: filestorage.us-phoenix-1.oraclecloud.com <authorization and other headers> { "exportOptions": [ { "source": "10.0.0.0/24", "requirePrivilegedSourcePort": false, "access": "READ_WRITE", "allowedAuth": "KRB5P", "isAnonymousAccessAllowed": true, "identitySquash": "NONE", "anonymousUid": 65534, "anonymousGid": 65534 } ] }
Nota
L'esportazione deve anche avereisIdmapGroupsForSysAuth
impostato sutrue
.
Criterio IAM necessario
Per utilizzare Oracle Cloud Infrastructure, un amministratore deve essere un membro di un gruppo a cui è stato concesso l'accesso di sicurezza in un criterio da un amministratore della tenancy. Questo accesso è necessario se si utilizza la console o l'API REST con un SDK, un'interfaccia CLI o un altro strumento. Se viene visualizzato un messaggio che informa che non si dispone dell'autorizzazione o che non si è autorizzati, verificare con l'amministratore della tenancy il tipo di accesso di cui si dispone e il compartimento in cui funziona l'accesso.
Per gli amministratori: il criterio in Consenti agli utenti di creare, gestire ed eliminare i file system consente agli utenti di gestire le opzioni di esportazione NFS.
Se non si ha familiarità con i criteri, vedere Gestione dei domini di Identity e Criteri comuni.