Acerca do protocolo NFSv4.1

O guia seguinte descreve o protocolo NFSv4.1.

O Filestore oferece suporte para o protocolo NFSv4.1 para instâncias criadas nos seguintes níveis de serviço:

  • Zonal
  • Regional
  • Empresarial

Esta capacidade pode ser integrada com o serviço gerido para o Microsoft Active Directory (Microsoft AD gerido) para suportar cargas de trabalho que requerem autenticação de cliente e servidor, verificações de integridade dos dados das mensagens e encriptação de dados em trânsito, capacidades anteriormente indisponíveis no Filestore.

A autenticação é suportada através do LDAP e do Kerberos e inclui os seguintes tipos de segurança (definições):

  • Autenticação de cliente e servidor (krb5).
  • Verificações de integridade das mensagens (krb5i). Inclui as capacidades da definição anterior.
  • Encriptação de dados em trânsito (krb5p). Inclui as capacidades da definição anterior.

O Microsoft AD gerido é a única solução totalmente gerida Google Cloud que suporta o LDAP e o Kerberos, requisitos para o protocolo NFSv4.1 e as respetivas vantagens de segurança e privacidade. Embora a integração com o Microsoft AD gerido não seja necessária, é altamente recomendada para uma experiência do utilizador Google Cloud ideal Google Cloud gerir contas de utilizador e grupos e autorizações flutuantes.

Deve usar o NFSv4.1?

Muitas organizações empresariais dependem de sistemas antigos para operações essenciais para a empresa. Muitos destes sistemas requerem autenticação e encriptação em trânsito para o respetivo armazenamento de ficheiros na rede. O NFSv3 não foi concebido a pensar na autenticação. A integração do protocolo NFSv4.1 do Filestore com o Managed Microsoft AD cumpre agora este requisito crítico do utilizador.

Para mais informações sobre as vantagens do NFSv4.1, consulte o artigo Acerca dos protocolos suportados.

Compreender as listas de controlo de acesso (ACLs) baseadas em rede no NFSv4.1.

No NFSv3, apenas é suportado o tipo de segurança sys. Esta definição confia no utilizador uid e no gid fornecidos pelo cliente durante a montagem.

No protocolo NFSv4.1 do Filestore, estão disponíveis várias configurações ou tipos de segurança de ACLs de rede:

  • krb5

    Autentica o cliente através de um pedido Kerberos, que é validado junto do servidor Kerberos do Microsoft AD gerido.

  • krb5i

    Inclui a autenticação fornecida pelo krb5 e também usa o Kerberos para executar verificações de integridade de mensagens em todo o tráfego de rede de e para a instância.

  • krb5p

    Inclui a autenticação fornecida pelo krb5 e verificações de integridade das mensagens do krb5i e também usa o Kerberos para a encriptação de dados em trânsito.

Se quiser tirar partido destas opções, é necessária a integração do serviço gerido para o Microsoft Active Directory. Para mais informações, consulte o artigo Crie uma instância do Filestore com o Microsoft AD gerido.

Se não for especificado um domínio do Serviço gerido para Microsoft Active Directory, apenas é suportado o sys tipo de segurança.

Para mais informações, consulte as limitações do NFSv4.1.

Montar instâncias NFSv4.1 do Filestore em clientes Linux

Os passos seguintes mostram como montar instâncias em clientes Linux.

  • Montagem com sec=sys para autorizações NFS padrão:

    sudo mount -vvvv -t nfs4 -o vers=4.1,sec=sys,rw \ FILESTORE-INSTANCE-FQDN:/INSTANCE_SHARE_POINT /MOUNT_POINT
    
  • Montagem com sec=krb5 para autenticação baseada em Kerberos:

    sudo mount -vvvv -t nfs4 -o vers=4.1,sec=krb5,rw \ FILESTORE-INSTANCE-FQDN:/INSTANCE_SHARE_POINT /MOUNT_POINT
    
  • Montagem com sec=krb5i para autenticação baseada em Kerberos e verificações de integridade das mensagens:

    sudo mount -vvvv -t nfs4 -o vers=4.1,sec=krb5i,rw \ FILESTORE-INSTANCE-FQDN:/INSTANCE_SHARE_POINT /MOUNT_POINT
    
  • Monte com sec=krb5p para autenticação baseada em Kerberos, verificações de integridade e encriptação em trânsito:

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

    Substitua o seguinte:

    • FILESTORE-INSTANCE-FQDN é o nome do domínio totalmente qualificado onde a instância do Filestore está localizada.
    • INSTANCE_SHARE_POINT é o nome da partilha de ficheiros da instância do Filestore que quer associar.
    • MOUNT_POINT é o ponto de montagem ou o nome do diretório onde quer montar.

Configuração do cliente Linux

Uma instância do Filestore NFSv4.1 permite que os clientes executem operações NFS usando vários tipos de segurança. Estas variantes são configuradas pelo administrador da instância através de ACLs de rede na instância do Filestore NFSv4.1, durante a criação ou se forem atualizadas após a criação.

O tipo de segurança sys usa a autenticação Unix padrão, enquanto os tipos krb5, krb5i e krb5p usam a autenticação baseada em Kerberos.

As variantes krb5, krb5i e krb5p requerem que os clientes estejam ligados ao mesmo domínio do Microsoft AD gerido que a instância do Filestore. Conclua os passos seguintes adequados ao seu ambiente.

Imagem do Ubuntu

  1. Estabeleça uma ligação SSH à instância do Compute Engine.
  2. Execute os seguintes comandos para aderir ao domínio do Microsoft AD gerido.

    1. Execute o seguinte comando de configuração:

      sudo apt-get update \
      sudo apt-get -y -qq install adcli realmd sssd sssd-tools packagekit krb5-user \ nfs-common expect retry
      
    2. Quando lhe for pedido o domínio, substitua a entrada existente pelo domínio do Microsoft AD gerido usado na instância do Filestore. Introduza o valor em maiúsculas e, de seguida, prima a tecla de seta para selecionar OK e, em seguida, prima Enter.

    3. Quando lhe for pedido que introduza anfitriões, deixe o campo vazio e avance.

    4. Conclua um dos seguintes passos:

      • Para VMs com um comprimento do nome do anfitrião igual ou inferior a 15 carateres, execute o seguinte comando:

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

        Substitua o seguinte:

        • JOIN_DOMAIN_USER é o nome da conta de utilizador usada para aderir ao domínio.
        • MANAGED_AD_DOMAIN_NAME é o nome do domínio do serviço Managed Microsoft AD que quer usar.
      • Para VMs com um nome de anfitrião com mais de 15 carateres, execute o seguinte 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
        

        Substitua o seguinte:

        • JOIN_DOMAIN_USER é o nome da conta de utilizador usada para aderir ao domínio.
        • MANAGED_AD_REALM_NAME é o nome do domínio do serviço Microsoft AD gerido que quer usar.
        • MANAGED_AD_DOMAIN_NAME é o nome do domínio do serviço Managed Microsoft AD que quer usar.
  3. Atualize a configuração do Kerberos. Atualize /etc/krb5.conf com a definição de domínio necessária e o mapeamento de domínio do domínio:

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

    Substitua o seguinte:

    • DOMAIN_NAME é o nome do domínio que quer usar, introduzido em letras maiúsculas.
    • domain_name_lowercase é o nome do domínio que quer usar, introduzido em letras minúsculas.

    Consulte o seguinte exemplo:

    [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. Execute o serviço rpc-gssd. Adicione o seguinte valor do atributo No-Strip à secção [General] dentro de /etc/idmapd.conf:

     [General]
     No-Strip = both
    
  5. Execute o seguinte comando:

    sudo systemctl restart rpc-gssd
    

Imagem do Centos

  1. Estabeleça uma ligação SSH à instância do Compute Engine.
  2. Aderir ao domínio do Microsoft AD gerido:

    sudo yum update \
    sudo yum install -y adcli realmd sssd samba-common-tools krb5-workstation nfs-utils \ bind-utils openldap-clients
    
  3. Conclua um dos seguintes passos:

    • Para VMs com um comprimento do nome do anfitrião inferior ou igual a 15 carateres, execute o seguinte comando:

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

      Substitua o seguinte:

      • JOIN_DOMAIN_USER é o nome da conta de utilizador usada para aderir ao domínio.
      • MANAGED_AD_DOMAIN_NAME é o nome do domínio do serviço Managed Microsoft AD que quer usar.
    • Para VMs com um comprimento do nome do anfitrião superior a 15 carateres, execute o seguinte 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
      

      Substitua o seguinte:

      • JOIN_DOMAIN_USER é o nome da conta de utilizador usada para aderir ao domínio.
      • MANAGED_AD_REALM_NAME é o nome do domínio do serviço Microsoft AD gerido que quer usar.
      • MANAGED_AD_DOMAIN_NAME é o nome do domínio do serviço Managed Microsoft AD que quer usar.
  4. Certifique-se de que o serviço sssd está em execução:

    sudo systemctl status sssd
    
  5. Execute o serviço rpc-gssd. Adicione o seguinte abaixo do valor do atributo No-Strip à secção [General] dentro de /etc/idmapd.conf:

    [General]
    No-Strip = both
    
  6. Execute o seguinte comando. Este comando ajuda a garantir que o cliente NFS não remove o nome do domínio do nome do anfitrião do servidor NFS. Para mais informações, consulte os arquivos da lista do NFS Ganesha e o arquivo do Arch Linux:

    sudo systemctl start rpc-gssd
    

O que se segue?