Informazioni sul protocollo NFSv4.1

La seguente guida descrive il protocollo NFSv4.1.

Filestore offre il supporto del protocollo NFSv4.1 per le istanze create nei seguenti livelli di servizio:

  • Zonal
  • Regionale
  • Aziende

Questa funzionalità può essere integrata con Managed Service for Microsoft Active Directory (Managed Microsoft AD) per supportare i carichi di lavoro che richiedono l'autenticazione client e server, i controlli di integrità dei dati dei messaggi e la crittografia dei dati in transito, funzionalità precedentemente non disponibili in Filestore.

L'autenticazione è supportata tramite LDAP e Kerberos e include le seguenti opzioni di sicurezza (impostazioni):

  • Autenticazione client e server (krb5).
  • Controlli di integrità dei messaggi (krb5i). Include le funzionalità dell' impostazione precedente.
  • Crittografia dei dati in transito (krb5p). Include le funzionalità dell' impostazione precedente.

Managed Microsoft AD è l'unica soluzione completamente gestita Google Cloud che supporta sia LDAP sia Kerberos, requisiti per il protocollo NFSv4.1 e i relativi vantaggi in termini di sicurezza e privacy. Sebbene l'integrazione con Managed Microsoft AD non sia obbligatoria, è vivamente consigliata per un'esperienza Google Cloud utente ottimale per la gestione degli account utente e dei gruppi e delle autorizzazioni fluttuanti.

Devi utilizzare NFSv4.1?

Molte organizzazioni aziendali si affidano a sistemi legacy per le operazioni mission critical. Molti di questi sistemi richiedono l'autenticazione e la crittografia in transito per l'archiviazione dei file di rete. NFSv3 non è stato progettato pensando all'autenticazione. L'integrazione del protocollo NFSv4.1 di Filestore con Managed Microsoft AD soddisfa ora questo requisito utente fondamentale.

Per saperne di più sui vantaggi di NFSv4.1, consulta Informazioni sui protocolli supportati.

Informazioni sugli elenchi di controllo dell'accesso (ACL) basati sulla rete in NFSv4.1.

In NFSv3 è supportata solo l'opzione di sicurezza sys. Questa impostazione considera attendibili l'uid e il gid dell'utente forniti dal client durante il montaggio.

Nel protocollo NFSv4.1 di Filestore sono disponibili diverse opzioni o impostazioni di sicurezza ACL di rete:

  • krb5

    Autentica il client utilizzando un ticket Kerberos, convalidato rispetto al server Kerberos di Managed Microsoft AD.

  • krb5i

    Include l'autenticazione fornita da krb5 e utilizza anche Kerberos per eseguire controlli di integrità dei messaggi su tutto il traffico di rete da e verso l'istanza.

  • krb5p

    Include l'autenticazione fornita da krb5 e i controlli di integrità dei messaggi di krb5i e utilizza anche Kerberos per la crittografia dei dati in transito.

Se vuoi usufruire di queste opzioni, è necessaria l'integrazione di Managed Service for Microsoft Active Directory. Per saperne di più, consulta Creare un'istanza di Filestore con Managed Microsoft AD.

Se non viene specificato un dominio Managed Service for Microsoft Active Directory, è supportata solo l'opzione di sicurezza sys.

Per saperne di più, consulta Limitazioni di NFSv4.1.

Montaggio di istanze NFSv4.1 di Filestore su client Linux

I seguenti passaggi mostrano come montare le istanze sui client Linux.

  • Monta con sec=sys per le autorizzazioni NFS standard:

    sudo mount -vvvv -t nfs4 -o vers=4.1,sec=sys,rw \ FILESTORE-INSTANCE-FQDN:/INSTANCE_SHARE_POINT /MOUNT_POINT
    
  • Monta con sec=krb5 per l'autenticazione basata su Kerberos:

    sudo mount -vvvv -t nfs4 -o vers=4.1,sec=krb5,rw \ FILESTORE-INSTANCE-FQDN:/INSTANCE_SHARE_POINT /MOUNT_POINT
    
  • Monta con sec=krb5i per l'autenticazione basata su Kerberos e i controlli di integrità dei messaggi:

    sudo mount -vvvv -t nfs4 -o vers=4.1,sec=krb5i,rw \ FILESTORE-INSTANCE-FQDN:/INSTANCE_SHARE_POINT /MOUNT_POINT
    
  • Monta con sec=krb5p per l'autenticazione basata su Kerberos, i controlli di integrità e la crittografia in transito:

    sudo mount -vvvv -t nfs4 -o vers=4.1,sec=krb5p,rw \ FILESTORE-INSTANCE-FQ
    DN:/INSTANCE_SHARE_POINT /MOUNT_POINT
    

    Sostituisci quanto segue:

    • FILESTORE-INSTANCE-FQDN è il nome di dominio completo in cui si trova l'istanza Filestore.
    • INSTANCE_SHARE_POINT è il nome della condivisione file dell'istanza Filestore a cui vuoi connetterti.
    • MOUNT_POINT è il punto di montaggio o il nome della directory in cui vuoi eseguire il montaggio.

Configurazione del client Linux

Un'istanza NFSv4.1 di Filestore consente ai client di eseguire operazioni NFS utilizzando varie opzioni di sicurezza. Queste opzioni vengono configurate dall'amministratore dell'istanza tramite gli ACL di rete sull'istanza NFSv4.1 di Filestore, durante la creazione o se aggiornate dopo la creazione.

L'opzione di sicurezza sys utilizza l'autenticazione Unix standard, mentre le opzioni krb5, krb5i e krb5p utilizzano l'autenticazione basata su Kerberos.

Le opzioni krb5, krb5i e krb5p richiedono che i client siano connessi a allo stesso dominio Managed Microsoft AD dell'istanza Filestore. Completa i seguenti passaggi appropriati per il tuo ambiente.

Immagine Ubuntu

  1. Accedi all'istanza Compute Engine tramite SSH.
  2. Esegui i seguenti comandi per aggiungere il dominio Managed Microsoft AD.

    1. Esegui il seguente comando di configurazione:

      sudo apt-get update \
      sudo apt-get -y -qq install adcli realmd sssd sssd-tools packagekit krb5-user \ nfs-common expect retry
      
    2. Quando ti viene richiesto il realm, sostituisci la voce esistente con il dominio Managed Microsoft AD utilizzato nell'istanza Filestore. Inserisci il valore in maiuscolo, quindi premi il tasto freccia per selezionare OK e poi premi Invio.

    3. Quando ti viene richiesto di inserire gli host, lascia il campo vuoto e continua.

    4. Completa uno dei seguenti passaggi:

      • Per le VM con una lunghezza del nome host inferiore o uguale a 15 caratteri, esegui il seguente comando:

        sudo realm join -vU JOIN_DOMAIN_USER --automatic-id-mapping=no MANAGED_AD_DOMAIN_NAME
        

        Sostituisci quanto segue:

        • JOIN_DOMAIN_USER è il nome dell'account utente utilizzato per aggiungere il dominio.
        • MANAGED_AD_DOMAIN_NAME è il nome di dominio del servizio Managed Microsoft AD che vuoi utilizzare.
      • Per le VM con una lunghezza del nome host superiore a 15 caratteri, esegui il seguente comando:

        sudo realm join -vU JOIN_DOMAIN_USER --automatic-id-mapping=no \ --user-principal=host/`hostname -f`@MANAGED_AD_REALM_NAME MANAGED_AD_DOMAIN_NAME
        

        Sostituisci quanto segue:

        • JOIN_DOMAIN_USER è il nome dell'account utente utilizzato per aggiungere il dominio.
        • MANAGED_AD_REALM_NAME è il nome del realm del servizio Managed Microsoft AD che vuoi utilizzare.
        • MANAGED_AD_DOMAIN_NAME è il nome di dominio del servizio Managed Microsoft AD che vuoi utilizzare.
  3. Aggiorna la configurazione Kerberos. Aggiorna /etc/krb5.conf con la definizione del realm e il mapping realm-dominio richiesti:

     [realms]
              DOMAIN_NAME = {
                       kdc = DOMAIN_NAME
                       default_domain = DOMAIN_NAME
              }
     [domain_realm]
              .domain_name_lowercase = DOMAIN_NAME
              domain_name_lowercase = DOMAIN_NAME
    

    Sostituisci quanto segue:

    • DOMAIN_NAME è il nome di dominio che vuoi utilizzare, inserito in maiuscolo.
    • domain_name_lowercase è il nome di dominio che vuoi utilizzare, inserito in minuscolo.

    Di seguito è riportato un esempio:

    [realms]
           FILE.DEMO.LOCAL = {
                    kdc = FILE.DEMO.LOCAL
                    default_domain = FILE.DEMO.LOCAL
           }
    
    [domain_realm]
           .file.demo.local = FILE.DEMO.LOCAL
           file.demo.local = FILE.DEMO.LOCAL
    
  4. Esegui il servizio rpc-gssd. Aggiungi il seguente valore dell'attributo No-Strip alla sezione [General] all'interno di /etc/idmapd.conf:

     [General]
     No-Strip = both
    
  5. Esegui questo comando:

    sudo systemctl restart rpc-gssd
    

Immagine CentOS

  1. Accedi all'istanza Compute Engine tramite SSH.
  2. Aggiungi il dominio Managed Microsoft AD:

    sudo yum update \
    sudo yum install -y adcli realmd sssd samba-common-tools krb5-workstation nfs-utils \ bind-utils openldap-clients
    
  3. Completa uno dei seguenti passaggi:

    • Per le VM con una lunghezza del nome host inferiore o uguale a 15 caratteri, esegui il seguente comando:

      sudo realm join -vU JOIN_DOMAIN_USER --automatic-id-mapping=no MANAGED_AD_DOMAIN_NAME
      

      Sostituisci quanto segue:

      • JOIN_DOMAIN_USER è il nome dell'account utente utilizzato per aggiungere il dominio.
      • MANAGED_AD_DOMAIN_NAME è il nome di dominio del servizio Managed Microsoft AD che vuoi utilizzare.
    • Per le VM con una lunghezza del nome host superiore a 15 caratteri, esegui il seguente comando:

      sudo realm join -vU JOIN_DOMAIN_USER --automatic-id-mapping=no \ --user-principal=host/`hostname -f`@MANAGED_AD_REALM_NAME MANAGED_AD_DOMAIN_NAME
      

      Sostituisci quanto segue:

      • JOIN_DOMAIN_USER è il nome dell'account utente utilizzato per aggiungere il dominio.
      • MANAGED_AD_REALM_NAME è il nome del realm del servizio Managed Microsoft AD che vuoi utilizzare.
      • MANAGED_AD_DOMAIN_NAME è il nome di dominio del servizio Managed Microsoft AD che vuoi utilizzare.
  4. Assicurati che il servizio sssd sia in esecuzione:

    sudo systemctl status sssd
    
  5. Esegui il servizio rpc-gssd. Aggiungi quanto segue sotto il valore dell'attributo No-Strip alla sezione [General] all'interno di /etc/idmapd.conf:

    [General]
    No-Strip = both
    
  6. Esegui questo comando. Questo comando consente di assicurarsi che il client NFS non rimuova il nome di dominio dal nome host del server NFS. Per saperne di più, consulta gli archivi di elenchi di NFS Ganesha e l'archivio di Arch Linux:

    sudo systemctl start rpc-gssd
    

Passaggi successivi