Controllo dell'accesso

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

Impostazioni di esportazione condivisione file

A una condivisione file Filestore viene assegnata la seguente impostazione predefinita /etc/exports impostazioni:

  • L'elenco dei client, che identifica i client autorizzati a connettersi al file condividi: contiene tutti gli indirizzi IP interni nella rete VPC che selezionato per l'istanza Filestore. Gli indirizzi IP interni possono essere qualsiasi intervallo elencato nella subnet più intervalli. 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 /etc/exports i valori predefiniti.

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 dell'elenco di client reso accessibile solo all'indirizzo IP dell'istanza, utilizzando lo stesso come indicato nella sezione precedente. La condivisione è accessibile ai probe ospitati su o provenienti solo dall'istanza e non è accessibile all'esterno di l'istanza. L'istanza esporta la quota indipendentemente dal fatto che 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, consulta Modifica delle istanze.

Autorizzazioni di condivisione file

Quando crei un'istanza Filestore, la condivisione file per quell'istanza l'istanza ha autorizzazioni predefinite per i file POSIX di rwxr-xr-x. Queste autorizzazioni significa che su un'istanza Filestore, solo gli utenti root I client hanno accesso in lettura e scrittura alla condivisione file. Gli altri utenti hanno solo letto per impostazione predefinita. Gli utenti root del client possono modificare le autorizzazioni e i proprietari.

Configurazione dell'accesso a una condivisione di file

Quando monta una condivisione file, puoi utilizzare opzioni di montaggio e /etc/fstab per determinare se è scrivibile e se i file possono essere eseguiti. Dopo aver montato la condivisione file, puoi usare comandi Linux standard come chmod, e setfacl per impostare le autorizzazioni di condivisione file e file. setfacl è supportato solo dai livelli di base.

Impostazione di autorizzazioni coerenti

Ti consigliamo vivamente di impostare autorizzazioni coerenti per ogni utente su tutti che si connettono alla stessa istanza Filestore per impedire e l'escalation 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 ha 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 l'utente disponga almeno dell'autorizzazione di lettura.

Questo scenario è possibile perché il bit setuid consente all'utente di eseguire utilizzando le autorizzazioni del proprietario del file, che in questo caso è root.

Autorizzazioni sovrapposte

A livello di zona, di regione e di livello enterprise Le istanze ora supportano autorizzazioni sovrapposte.

Se vengono definite due regole separate di controllo dell'accesso per gli indirizzi IP che si sovrappongono subnet, la regola definita per la subnet più piccola ha la priorità.

Ad esempio, se un file di configurazione JSON contiene una regola che concede accesso in scrittura per la subnet dell'indirizzo IPv4 10.0.0.0/24 e una regola separata 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 è e poi applicato alle restanti parti della subnet dell'indirizzo IP definita. 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 di base o HDD di base.

Passaggi successivi