Sobre o protocolo NFSv4.1

O guia a seguir descreve o protocolo NFSv4.1.

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

  • Zonal
  • Regional
  • Enterprise

Essa capacidade pode ser integrada ao Serviço gerenciado para Microsoft Active Directory (Microsoft AD gerenciado) para oferecer suporte a cargas de trabalho que exigem autenticação de cliente e servidor, verificações de integridade de dados de mensagens e criptografia de dados em trânsito, recursos que antes não estavam disponíveis no Filestore.

A autenticação é compatível com LDAP e Kerberos e inclui as seguintes opções de segurança (configurações):

  • Autenticação de cliente e servidor (krb5).
  • Verificações de integridade da mensagem (krb5i). Inclui os recursos da configuração anterior.
  • Criptografia de dados em trânsito (krb5p). Inclui os recursos da configuração anterior.

O Managed Microsoft AD é a única solução Google Cloud totalmente gerenciada que oferece suporte a LDAP e Kerberos, requisitos para o protocolo NFSv4.1 e seus benefícios de segurança e privacidade. Embora a integração com o Managed Microsoft AD não seja obrigatória, ela é altamente recomendada para uma experiência do usuário Google Cloud ideal ao gerenciar contas de usuário e grupos e permissões variáveis.

Você precisa usar o NFSv4.1?

Muitas empresas dependem de sistemas legados para operações essenciais aos negócios. Muitos desses sistemas exigem autenticação e criptografia em trânsito para o armazenamento de arquivos de rede. O NFSv3 não foi projetado com autenticação. A integração do protocolo NFSv4.1 do Filestore com o Managed Microsoft AD agora atende a esse requisito crítico do usuário.

Para mais informações sobre os benefícios do NFSv4.1, consulte Sobre protocolos compatíveis.

Entenda as listas de controle de acesso (ACLs) baseadas em rede no NFSv4.1.

No NFSv3, apenas o sabor de segurança sys é compatível. Essa configuração confia no usuário uid e no gid fornecidos pelo cliente durante a montagem.

No protocolo NFSv4.1 do Filestore, há várias opções ou configurações de segurança de ACL de rede disponíveis:

  • krb5

    Autentica o cliente usando um tíquete Kerberos, que é validado no servidor Kerberos do Managed Microsoft AD.

  • krb5i

    Inclui a autenticação fornecida por 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 por krb5 e verificações de integridade de mensagens de krb5i e também usa o Kerberos para criptografia de dados em trânsito.

Se você quiser aproveitar essas opções, será necessário fazer a integração com o serviço gerenciado para Microsoft Active Directory. Para mais informações, consulte Criar uma instância do Filestore com o Managed Microsoft AD.

Se um domínio do Serviço gerenciado para Microsoft Active Directory não for especificado, apenas a opção de segurança sys será compatível.

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

Como ativar instâncias do Filestore NFSv4.1 em clientes Linux

As etapas a seguir mostram como montar instâncias em clientes Linux.

  • Faça a montagem com sec=sys para permissões padrão do NFS:

    sudo mount -vvvv -t nfs4 -o vers=4.1,sec=sys,rw \ FILESTORE-INSTANCE-FQDN:/INSTANCE_SHARE_POINT /MOUNT_POINT
    
  • Faça a 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
    
  • Faça a montagem com sec=krb5i para autenticação baseada em Kerberos e verificações de integridade de mensagens:

    sudo mount -vvvv -t nfs4 -o vers=4.1,sec=krb5i,rw \ FILESTORE-INSTANCE-FQDN:/INSTANCE_SHARE_POINT /MOUNT_POINT
    
  • Faça a montagem com sec=krb5p para autenticação baseada em Kerberos, verificações de integridade e criptografia 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:

    • FILESTORE-INSTANCE-FQDN é o nome de domínio totalmente qualificado em que a instância do Filestore está localizada.
    • INSTANCE_SHARE_POINT é o nome do compartilhamento de arquivos da instância do Filestore que você quer conectar.
    • MOUNT_POINT é o ponto de montagem ou o nome do diretório em que você quer fazer a montagem.

Configuração do cliente Linux

Uma instância do Filestore NFSv4.1 permite que os clientes realizem operações do NFS usando várias opções de segurança. Essas opções são configuradas pelo administrador da instância usando ACLs de rede na instância do Filestore NFSv4.1 durante a criação ou se forem atualizadas depois.

A opção de segurança sys usa a autenticação padrão do Unix, enquanto as opções krb5, krb5i e krb5p usam a autenticação baseada em Kerberos.

As opções krb5, krb5i e krb5p exigem que os clientes estejam conectados ao mesmo domínio do Managed Microsoft AD que a instância do Filestore. Conclua as etapas a seguir adequadas para seu ambiente.

Imagem do Ubuntu

  1. Faça SSH na instância do Compute Engine.
  2. Execute os comandos a seguir para associar o domínio do Microsoft AD gerenciado.

    1. Execute este 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 for solicitado o domínio, substitua a entrada atual pelo domínio do Microsoft AD gerenciado usado na instância do Filestore. Digite o valor em maiúsculas, pressione a tecla de seta para selecionar OK e pressione Enter.

    3. Quando for solicitado, deixe o campo "Hosts" vazio e continue.

    4. Siga uma destas etapas:

      • Para VMs com um nome de host de até 15 caracteres, execute o seguinte comando:

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

        Substitua:

        • JOIN_DOMAIN_USER é o nome da conta de usuário usada para associar o domínio.
        • MANAGED_AD_DOMAIN_NAME é o nome de domínio do serviço do Managed Microsoft AD que você quer usar.
      • Para VMs com um nome de host maior que 15 caracteres, 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:

        • JOIN_DOMAIN_USER é o nome da conta de usuário usada para associar o domínio.
        • MANAGED_AD_REALM_NAME é o nome do domínio do serviço do Managed Microsoft AD que você quer usar.
        • MANAGED_AD_DOMAIN_NAME é o nome de domínio do serviço do Managed Microsoft AD que você quer usar.
  3. Atualiza a configuração do Kerberos. Atualize /etc/krb5.conf com a definição de realm e o mapeamento realm-domínio necessários:

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

    Substitua:

    • DOMAIN_NAME é o nome de domínio que você quer usar, inserido em maiúsculas.
    • domain_name_lowercase é o nome de domínio que você quer usar, inserido em letras minúsculas.

    Confira um 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 de atributo No-Strip à seção [General] em /etc/idmapd.conf:

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

    sudo systemctl restart rpc-gssd
    

Imagem do CentOS

  1. Faça SSH na instância do Compute Engine.
  2. Associe ao domínio do 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. Siga uma destas etapas:

    • Para VMs com um nome de host de até 15 caracteres, execute o seguinte comando:

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

      Substitua:

      • JOIN_DOMAIN_USER é o nome da conta de usuário usada para ingressar no domínio.
      • MANAGED_AD_DOMAIN_NAME é o nome de domínio do serviço do Managed Microsoft AD que você quer usar.
    • Para VMs com um nome de host maior que 15 caracteres, execute o comando a seguir:

      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:

      • JOIN_DOMAIN_USER é o nome da conta de usuário usada para ingressar no domínio.
      • MANAGED_AD_REALM_NAME é o nome do domínio do serviço do Managed Microsoft AD que você quer usar.
      • MANAGED_AD_DOMAIN_NAME é o nome de domínio do serviço do Managed Microsoft AD que você quer usar.
  4. Verifique se 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 à seção [General] em /etc/idmapd.conf:

    [General]
    No-Strip = both
    
  6. Execute o comando a seguir. Esse comando ajuda a garantir que o cliente NFS não remova o nome de domínio do nome do host do servidor NFS. Para mais informações, consulte NFS Ganesha List Archives e Arch Linux Archive:

    sudo systemctl start rpc-gssd
    

A seguir