Controllo dell'accesso

Questa pagina descrive come controllare l'accesso alle istanze Filestore.

  • Con il protocollo NFSv4.1, puoi utilizzare Kerberos per la protezione dell'accesso alle istanze Filestore. Per ulteriori informazioni, consulta Informazioni sui protocolli supportati.

  • In alternativa, puoi usare le opzioni Linux per controllare l'accesso NFS e Identity and Access Management (IAM) per controllare l'accesso all'istanza operazioni come la creazione, la modifica, la visualizzazione e l'eliminazione delle istanze. La seguente guida illustra come completare ciascuna di queste attività.

Impostazioni di esportazione della condivisione file

A una condivisione file di Filestore vengono assegnate le seguenti impostazioni predefinite /etc/exports:

  • L'elenco dei client, che identifica i client autorizzati a connettersi alla condivisione file, contiene tutti gli indirizzi IP interni della rete VPC selezionata per l'istanza Filestore. Gli indirizzi IP interni possono essere qualsiasi intervallo elencato in intervalli subnet. Tuttavia, se avere clienti che utilizzano una versione non RFC 1918 di subnet, devi concedere esplicitamente l'accesso l'istanza Filestore utilizzando Controllo degli accessi 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, perciò tutti gli utenti e i gruppi incluso l'utente root, devono essere uguali su entrambe l'istanza Filestore e il client.
  • Tutte le altre opzioni utilizzano i valori predefiniti di /etc/exports.

Istanze di livello base

Le istanze SSD base e HDD di base creano una condivisione esportata etichettata /config/google-prober, utilizzato per supportare i processi di probe interni, che a loro volta e verificare l'accesso, la durabilità o le prestazioni. La condivisione viene esportata in un elenco di client reso accessibile solo all'indirizzo IP dell'istanza, utilizzando le stesse impostazioni indicate nella sezione precedente. La condivisione è accessibile solo ai probatori ospitati o provenienti dall'istanza ed è inaccessibile al di fuori dell'istanza. L'istanza esporta la quota indipendentemente dal fatto che sia applicato il 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 utilizzando alla console Google Cloud o specificando un file di configurazione JSON mediante gcloud CLI. Per maggiori dettagli, vedi Configurare il controllo dell'accesso basato su IP.

Puoi anche aggiungere nuove regole di controllo dell'accesso o modificare quelle esistenti dopo viene creata 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 dei client collegati hanno accesso in lettura e scrittura alla condivisione file. Gli altri utenti hanno accesso solo in lettura per impostazione predefinita. Gli utenti con accesso come utente principale del client possono modificare le autorizzazioni e i proprietari.

Configurazione dell'accesso a una condivisione di 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 è possibile eseguire i file al suo interno. Dopo aver montato la condivisione file, puoi utilizzare i comandi standard di Linux come chmod e setfacl per impostare le autorizzazioni dei file e delle condivisioni file. setfacl è supportato solo dai livelli di base.

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 impedire la riassegnazione dei privilegi. Se una condivisione file è montata su più di un client e se un utente dispone di privilegi root su un client ma non sugli altri, la il seguente scenario di escalation dei privilegi:

  • Un utente imposta l'attributo setuid su 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 utente root su qualsiasi client su cui ha almeno l'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 zonali, regionali e aziendali ora supportano le autorizzazioni sovrapposte.

Se sono definite due regole di controllo degli accessi 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 dell'indirizzo IPv4 10.0.0.0/24 e una regola separata che concede l'accesso di sola lettura per la subnet dell'indirizzo IPv4 10.0.0.0/28, Filestore riconosce e applica prima la regola per la subnet più piccola. L'altra regola viene poi applicata alle parti rimanenti della subnet dell'indirizzo IP definito. In questo Ad esempio, a un client che utilizza l'indirizzo IPv4 10.0.0.20 è concessa l'autorizzazione di lettura e scrittura autorizzazioni di sola lettura, mentre a un client che utilizza 10.0.0.12 vengono concesse 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"
        }
      ]
    }
}

Si applicano alcune limitazioni:

  • Le autorizzazioni sovrapposte per subnet IPv4 identiche non sono supportate e un errore.

  • Le autorizzazioni sovrapposte non sono supportate per le istanze SSD o HDD di base.

Passaggi successivi