Informazioni sul protocollo NFSv4.1

La guida seguente descrive il protocollo NFSv4.1.

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

  • A livello di zona
  • 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 impostazioni di sicurezza:

  • Autenticazione client e server (krb5).
  • Controlli dell'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 Google Cloud completamente gestita che supporta sia LDAP che 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, è altamente consigliata per un'esperienza utente ottimale per gestire gli account utente e i gruppi e le autorizzazioni fluttuanti. Google Cloud

Devi utilizzare NFSv4.1?

Molte organizzazioni aziendali si affidano a sistemi legacy per operazioni critiche per l'attività. Molti di questi sistemi richiedono l'autenticazione e la crittografia in transito per l'archiviazione dei file di rete. NFSv3 non è stato progettato con l'autenticazione in mente. L'integrazione del protocollo NFSv4.1 di Filestore con Managed Microsoft AD ora soddisfa questo requisito critico degli utenti.

Per ulteriori informazioni sui vantaggi di NFSv4.1, consulta Informazioni sui protocolli supportati.

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

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

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

  • krb5

    Autentica il client utilizzando un ticket Kerberos, convalidato rispetto al server Kerberos 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ù, vedi Creare un'istanza Filestore con Managed Microsoft AD.

Se non viene specificato un dominio Managed Service for Microsoft Active Directory, è supportato solo il tipo di sicurezza sys.

Per ulteriori informazioni, vedi Limitazioni di NFSv4.1.

Montaggio di istanze Filestore NFSv4.1 sui 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
    
  • Esegui il montaggio con sec=krb5 per l'autenticazione basata su Kerberos:

    sudo mount -vvvv -t nfs4 -o vers=4.1,sec=krb5i,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
    
  • Esegui il montaggio 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 client Linux

Un'istanza Filestore NFSv4.1 consente ai client di eseguire operazioni NFS utilizzando varie versioni di sicurezza. Questi flavor vengono configurati dall'amministratore dell'istanza tramite gli elenchi di controllo degli accessi alla rete sull'istanza Filestore NFSv4.1, durante la creazione o se aggiornati dopo la creazione.

La variante di sicurezza sys utilizza l'autenticazione Unix standard, mentre le varianti krb5, krb5i e krb5p utilizzano l'autenticazione basata su Kerberos.

Le versioni krb5, krb5i e krb5p richiedono che i client siano connessi 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 unirti al dominio Managed Microsoft AD.

    1. Esegui questo 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 chiesto il realm, sostituisci la voce esistente con il dominio Microsoft AD gestito utilizzato nell'istanza Filestore. Inserisci il valore in maiuscolo, quindi premi il tasto freccia per selezionare Ok, poi premi Invio.

    3. Quando ti viene chiesto di inserire gli host, lascia il campo vuoto e procedi.

    4. Completa uno dei seguenti passaggi:

      • Per le VM con una lunghezza del nome host inferiore o uguale a 15 caratteri, esegui questo 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 accedere al dominio.
        • MANAGED_AD_DOMAIN_NAME è il nome di dominio del servizio Managed Microsoft AD che vuoi utilizzare.
      • Per le VM con un nome host di lunghezza superiore a 15 caratteri, esegui questo 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 accedere al 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 la mappatura realm-dominio richieste:

     [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.

    Per un esempio, consulta quanto segue:

    [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 di Centos

  1. Connettiti tramite SSH all'istanza Compute Engine.
  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 minore 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 accedere al dominio.
      • MANAGED_AD_DOMAIN_NAME è il nome di dominio del servizio Microsoft AD gestito che vuoi utilizzare.
    • Per le VM con un nome host di lunghezza 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 accedere al 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 Microsoft AD gestito 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 NFS Ganesha List Archives e Arch Linux Archive:

    sudo systemctl start rpc-gssd
    

Passaggi successivi