Questa pagina descrive come controllare l'accesso alle istanze Filestore.
Con il protocollo NFSv4.1, puoi utilizzare Kerberos per proteggere l'accesso alle istanze Filestore. Per ulteriori informazioni, vedi Informazioni sui protocolli supportati.
In alternativa, puoi utilizzare le opzioni Linux per controllare l'accesso NFS e Identity and Access Management (IAM) per controllare l'accesso alle operazioni delle istanze, come la creazione, la modifica, la visualizzazione e l'eliminazione. La guida seguente ti illustra come completare ciascuna di queste attività.
Impostazioni di esportazione della condivisione file
A una condivisione file di Filestore vengono assegnate le seguenti impostazioni
/etc/exports
predefinite:
- L'elenco dei client, che identifica i client autorizzati a connettersi alla condivisione file, contiene ogni indirizzo IP interno nella rete VPC selezionata per l'istanza Filestore. Gli indirizzi IP interni possono essere qualsiasi intervallo elencato negli intervalli di subnet. Tuttavia, se hai client in intervalli di subnet non RFC 1918, devi concedere esplicitamente l'accesso all'istanza Filestore utilizzando il controllo dell'accesso basato su IP.
- Viene utilizzata l'opzione
rw, quindi la condivisione file consente sia le operazioni di lettura che di scrittura. - Viene utilizzata l'opzione di mappatura degli ID utente
no_root_squash, quindi tutti gli utenti e i gruppi, incluso l'utente root, devono essere gli stessi sia nell'istanza Filestore sia nel client. - Tutte le altre opzioni utilizzano i valori predefiniti di
/etc/exports.
Istanze di livello base
Le istanze SSD base e HDD base creano una condivisione esportata etichettata
/config/google-prober, utilizzata per supportare i processi di probing interni, che
a loro volta verificano l'accesso, la durabilità o le prestazioni. La quota viene esportata in un elenco di clienti reso accessibile solo all'indirizzo IP dell'istanza, utilizzando le stesse impostazioni indicate nella sezione precedente. La condivisione è accessibile solo ai probe ospitati sull'istanza o provenienti da questa ed è inaccessibile al di fuori dell'istanza. L'istanza esporta la condivisione indipendentemente dall'applicazione del controllo degli accessi basato su IP. Gli utenti possono visualizzare la condivisione esportata utilizzando il comando showmount -e.
Controllo dell'accesso basato su IP
Puoi modificare queste impostazioni di esportazione creando regole di controllo dell'accesso dell'accesso utilizzando la console Google Cloud o specificando un file di configurazione JSON durante la creazione dell'istanza utilizzando gcloud CLI. Per maggiori dettagli, consulta la pagina Configurazione del controllo dell'accesso basato su IP.
Puoi anche aggiungere nuove regole di controllo dell'accesso o modificare quelle esistenti dopo la creazione di un'istanza. Per maggiori dettagli, vedi Modificare le istanze.
Autorizzazioni di condivisione file
Quando crei un'istanza Filestore, la condivisione file per quell'istanza ha autorizzazioni file POSIX predefinite di rwxr-xr-x. Queste autorizzazioni
significano che in un'istanza Filestore, solo gli utenti root sui client
connessi hanno accesso in lettura e scrittura alla condivisione file. Per impostazione predefinita, gli altri utenti hanno solo accesso in lettura. Gli utenti root del cliente possono modificare le autorizzazioni e i proprietari.
Configurazione dell'accesso per una condivisione file
Quando monti una condivisione file, puoi utilizzare le
opzioni di montaggio e le
impostazioni /etc/fstab per determinare se la
condivisione file è scrivibile e se i file possono essere eseguiti. Dopo aver montato la condivisione file,
puoi utilizzare i comandi Linux standard come chmod
e setfacl
per impostare le autorizzazioni per i file e le condivisioni file. Solo i piani di base supportano setfacl.
Impostare autorizzazioni coerenti
Ti consigliamo vivamente di impostare autorizzazioni coerenti per ogni utente su tutti i client che si connettono alla stessa istanza Filestore per evitare l'escalation dei privilegi. Se una condivisione file è montata su più di un client e un utente ha privilegi root su un client, ma non sugli altri, è possibile il seguente scenario di escalation dei privilegi:
- Un utente imposta l'attributo
setuidsu un file eseguibile dal client in cui l'utente dispone dell'accesso root. - L'utente carica quindi il file eseguibile nella condivisione file.
- L'utente esegue il file caricato come root su qualsiasi client in cui dispone almeno dell'autorizzazione di lettura.
Questo scenario è possibile perché il bit setuid consente all'utente di eseguire un
file utilizzando le autorizzazioni del proprietario del file, che in questo caso è root.
Autorizzazioni sovrapposte
Le istanze a livello di zona, regione ed enterprise ora supportano le autorizzazioni sovrapposte.
Se vengono definite due regole di controllo dell'accesso dell'accesso separate per subnet di indirizzi IP sovrapposte, ha la priorità la regola definita per la subnet più piccola.
Ad esempio, se un file di configurazione JSON contiene una regola che concede l'accesso in lettura e scrittura per la subnet di indirizzi IPv4 10.0.0.0/24 e una regola separata concede l'accesso di sola lettura per la subnet di indirizzi IPv4 10.0.0.0/28, Filestore riconosce e applica prima la regola per la subnet più piccola. L'altra regola viene
applicata alle porzioni rimanenti della subnet di indirizzi IP definita. In questo
esempio, a un client che utilizza l'indirizzo IPv4 10.0.0.20 vengono concesse le autorizzazioni di lettura e scrittura, mentre a un client che utilizza 10.0.0.12 vengono concesse le autorizzazioni di sola lettura:
{
"--file-share":
{
"capacity": "2048",
"name": "my_vol",
"nfs-export-options": [
{
"access-mode": "READ_WRITE",
"ip-ranges": [
"10.0.0.0/24"
],
"squash-mode": "ROOT_SQUASH",
"anon_uid": 1003,
"anon_gid": 1003
},
{
"access-mode": "READ_ONLY",
"ip-ranges": [
"10.0.0.0/28"
],
"squash-mode": "NO_ROOT_SQUASH"
}
]
}
}
Sono previste alcune limitazioni:
Le autorizzazioni sovrapposte per subnet IPv4 identiche non sono supportate e restituiscono un errore.
Le autorizzazioni sovrapposte non sono supportate per le istanze SSD base o HDD base.
Passaggi successivi
- Configura il controllo dell'accesso basato su IP o consulta un esempio.
- Creazione di istanze.
- Modifica istanze.
- Risolvi i problemi comuni di rete o di connessione di Filestore.