O guia a seguir mostra como implementar o protocolo NFSv4.1 com uma nova instância do Filestore.
Sobre o NFSv4.1
O Filestore oferece suporte ao protocolo NFSv4.1 (Visualização) para instâncias criadas em níveis de serviço empresariais ou zonais.
Esse recurso pode ser integrado 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 anteriormente indisponíveis no Filestore.
A autenticação é compatível com LDAP e Kerberos e inclui as seguintes variações de segurança (configurações):
- Autenticação de cliente e servidor (
krb5
). - Verificações de integridade de mensagens (
krb5i
). Inclui os recursos da configuração anterior. - Criptografia de dados em trânsito (
krb5p
). Inclui os recursos da configuração anterior.
- Autenticação de cliente e servidor (
O Microsoft AD gerenciado é a única solução do Google Cloud totalmente gerenciada compatível com LDAP e Kerberos, requisitos para o protocolo NFSv4.1 e seus benefícios de segurança e privacidade. Embora a integração com o Microsoft AD gerenciado não seja necessária, ela é altamente recomendada para uma experiência ideal do usuário no Google Cloud para gerenciar contas de usuário e grupos e permissões flutuantes.
É melhor usar NFSv4.1?
Muitas organizações empresariais 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 a autenticação em mente. A integração do protocolo NFSv4.1 do Filestore com o Microsoft AD gerenciado agora atende a esse requisito essencial do usuário.
Objetivos
Neste guia, você aprenderá a concluir as seguintes tarefas:
- Crie uma instância do Filestore que use o NFSv4.1.
- Conectar ou desconectar o Microsoft AD gerenciado de uma instância do Filestore.
Criar uma instância do Filestore que usa o NFSv4.1
Para usar o Microsoft AD gerenciado com uma instância do Filestore, o domínio do Microsoft AD gerenciado precisa ser criado antes da instância do Filestore.
Antes de começar
O domínio do Microsoft AD gerenciado e a instância do Filestore precisam usar a mesma VPC enquanto estão no mesmo projeto.
Se o serviço gerenciado do Microsoft AD estiver hospedado em um projeto separado da instância do Filestore que você quer usar, a rede VPC do Filestore precisará ser feita em peering com o domínio do Microsoft AD gerenciado.
Para mais informações, consulte Implantar o Microsoft AD gerenciado com acesso entre projetos usando peering de domínio.
Conclua todas as etapas de configuração para criar uma instância do Filestore.
Verifique se os usuários do Microsoft AD gerenciado têm os campos POSIX RFC 2307 e RFC 2307bis preenchidos, semelhante ao seguinte.
Para mais informações sobre como configurar objetos no Microsoft AD gerenciado, consulte Objetos do Managed Active Directory.
Usuários e computadores do Active Directory
As etapas a seguir descrevem os atributos que você precisa definir para usuários e grupos LDAP. Gerencie atributos POSIX usando o Snap-in MMC de usuários e computadores do Active Directory.
Abra o Editor de atributos da seguinte forma:
- Clique em Iniciar.
Clique em Ferramentas Administrativas do Windows e selecione Usuários e Computadores do Active Directory.
A janela Usuários e computadores do Active Directory é aberta.
Selecione o nome de domínio que você quer conferir. Para expandir o conteúdo, clique na seta
de expansão.No menu Exibir usuários e computadores do Active Directory, selecione Recursos avançados.
No painel à esquerda, clique duas vezes em Usuários.
Na lista de usuários, clique duas vezes em um usuário para ver a guia Editor de atributos.
Os usuários LDAP precisam ter os seguintes atributos definidos:
uid
uidNumber
cn
gidNumber
objectClass
Cada usuário precisa ter um
uidNumber
exclusivo. Observe que o valor do atributouid
diferencia maiúsculas de minúsculas. Para o atributoobjectClass
,user
é a configuração padrão na maioria das implantações do Active Directory (AD). Veja um exemplo abaixo.uid: Alice uidNumber: 139 gidNumber: 555 objectClass: user
Os grupos LDAP precisam ter os seguintes atributos definidos:
cn
gidNumber
objectClass
Cada grupo precisa ter um
gidNumber
exclusivo. Observe que o valor do atributocn
diferencia maiúsculas de minúsculas. Para o atributoobjectClass
,group
é a configuração padrão na maioria das implantações do AD. Confira um exemplo:cn: AliceGroup gidNumber: 555 objectClass: group
Conceda acesso ao Filestore para criar e gerenciar objetos no Microsoft AD gerenciado usando o comando
gcloud projects add-iam-policy-binding
:gcloud projects add-iam-policy-binding MANAGED_MICROSOFT_AD_PROJECT_ID \ --member=serviceAccount:service-$(gcloud projects describe PROJECT_ID \ --format='value(PROJECT_ID)')@cloud-filer.iam.gserviceaccount.com \ --role=roles/managedidentities.filestoreintegrator
Substitua:
- MANAGED_MICROSOFT_AD_PROJECT_ID é o ID do projeto em que o domínio do Microsoft AD gerenciado está localizado.
- PROJECT_ID é o ID do projeto em que a instância do Filestore está localizada.
O seguinte erro pode aparecer:
INVALID_ARGUMENT: Service account service-PROJECT_ID@cloud-filer.iam.gserviceaccount.com does not exist.
Se esse for o caso, use o seguinte comando para resolvê-lo:
gcloud beta services identity create --service=file.googleapis.com -project \ MANAGED_MICROSOFT_AD_PROJECT_ID
Criar uma instância do Filestore com ou sem o Microsoft AD gerenciado
Nesta seção, você criará uma instância do Filestore configurada para uso com o protocolo NFSv4.1. As etapas opcionais estão incluídas para os usuários que optam por não usar o Microsoft AD gerenciado.
Verifique se você tem cota suficiente.
Intervalos de cota da instância por local da região e nível de serviço que você quer usar. Para aumentar a cota disponível, envie uma solicitação de aumento de cota.
Console do Google Cloud
Configurar os parâmetros da instância
No console do Google Cloud, acesse a página de instâncias do Filestore.
Clique em Criar instância.
Especifique os parâmetros básicos da instância, incluindo nome, tipo e capacidade:
- No campo ID da instância, insira o nome que você quer usar para a instância do Filestore.
- Em Tipo de instância, selecione Empresarial ou Zonal.
- Em Capacidade alocada, insira a capacidade que você quer usar. Insira um valor entre 1 TB e 10 TB, em incrementos de 256 GiB (0,25 TiB).
- Em Região, selecione a região que você quer usar.
- Em Rede VPC, selecione a rede que você quer usar para a instância do Filestore e os clientes NFS.
- Se o Microsoft AD gerenciado estiver no mesmo projeto que a instância do Filestore, a rede VPC precisará ser autorizada no domínio do Microsoft AD gerenciado.
- Se o Microsoft AD gerenciado estiver em um projeto separado, a rede VPC precisará ser configurada com o peering de rede do Active Directory na configuração do Microsoft AD gerenciado.
- Em Intervalo de IP alocado, selecione Usar um intervalo de IP alocado automaticamente (recomendado).
- Em Protocolo, selecione NFSv4.1.
Definir as configurações de autenticação da instância
- Defina as configurações de autenticação da instância.
- Clique em Autenticação.
- Selecione o projeto que hospeda o Microsoft AD gerenciado. Para os fins deste guia, vamos presumir que o projeto atual é o que queremos usar.
- Na lista Participar de um domínio do Active Directory, selecione o domínio do Microsoft AD gerenciado que você quer usar.
- No campo Nome da conta do computador, insira o nome da conta do computador que você quer usar para identificar a instância do Filestore no domínio do Microsoft AD gerenciado. O nome é limitado a 15 caracteres alfanuméricos.
- No campo Nome do compartilhamento de arquivos, insira o nome do compartilhamento, porque ele será usado pelos clientes NFSv4.1.
No painel Controle de acesso, siga uma das etapas a seguir:
Se estiver usando o Microsoft AD gerenciado, selecione Restringir o acesso por intervalo ou endereço IP.
- Defina a regra de acesso por IP ou sub-rede que você quer definir. Para os fins deste guia, use as seguintes configurações:
- No campo Endereço IP ou intervalo 1, insira o endereço IP ou o intervalo que você quer usar.
- Clique na lista suspensa Acesso 1 e selecione Administrador.
- Clique na lista suspensa Mount
sec=
1 e marque a caixa de seleção sys.
O proprietário padrão de
/
do Filestore éroot
. Para permitir o acesso de outros usuários e grupos à instância, crie uma regra que permita o acesso à VM de gerenciamento usando o papelAdmin
e a configuração de segurançasec=sys
.Se você não estiver usando o Microsoft AD gerenciado, selecione Conceder acesso a todos os clientes na rede VPC.
Se o Microsoft AD gerenciado não for usado, a única configuração de segurança compatível será
sec=sys
.
Clique em Criar para gerar a instância.
gcloud
Instale e inicialize a CLI gcloud.
Se você já tiver a CLI gcloud instalada, execute o seguinte comando para atualizá-la:
gcloud components update
Conclua uma das seguintes etapas:
Se estiver usando o Microsoft AD gerenciado, execute o seguinte comando
gcloud beta filestore instances create
para criar uma instância empresarial ou zonal do Filestore:gcloud beta filestore instances create INSTANCE-ID \ --description="DESCRIPTION" \ --region=LOCATION \ --tier=TIER \ --protocol=PROTOCOL \ --file-share=name="FILE_SHARE_NAME",capacity=CAPACITYTB \ --network=name="VPC_NETWORK",connect-mode=CONNECT_MODE,reserved-ip-range="RESERVED_IP_RANGE" \ --managed-ad=domain=projects/MANAGED_AD_PROJECT_ID/locations/global/domains/MANAGED_AD_DOMAIN_NAME,computer=DOMAIN_COMPUTER_ACCOUNT \ --project=CONSUMER_PROJECT_ID
Substitua:
- INSTANCE_ID é o ID da instância do Filestore que você quer criar. Consulte Nomear sua instância.
- DESCRIPTION é uma descrição da instância que você quer usar.
- LOCATION é o local em que você quer que a instância do Filestore resida.
- TIER é o nível de serviço que você quer usar.
- PROTOCOL é
NFS_v4_1
. - FILE_SHARE_NAME é o nome especificado para o compartilhamento de arquivos NFS que é veiculado da instância.
- CAPACITY é o tamanho que você quer para o compartilhamento de arquivos, entre 1 TiB e 10 TiB.
VPC_NETWORK é o nome da rede VPC que a instância usará. Consulte Selecionar a rede VPC. Se você quiser especificar uma VPC compartilhada de um projeto de serviço, especifique o nome de rede totalmente qualificado, que está no formato
projects/HOST_PROJECT_ID/global/networks/SHARED_VPC_NAME
, e especifiqueconnect-mode=PRIVATE_SERVICE_ACCESS
, semelhante ao seguinte:--network=name=projects/host/global/networks/shared-vpc-1,connect-mode=PRIVATE_SERVICE_ACCESS
Não é possível especificar uma rede legada para o valor vpc_network. Se necessário, crie uma nova rede VPC para usar seguindo as instruções em Criar uma rede VPC de modo automático.
MANAGED_AD_PROJECT_ID é o ID do projeto em que o serviço gerenciado do Microsoft AD está localizado.
MANAGED_AD_DOMAIN_NAME é o nome de domínio do serviço gerenciado do Microsoft AD que você quer usar. É o nome de domínio que você escolhe ao criar um domínio do Microsoft AD gerenciado.
DOMAIN_COMPUTER_ACCOUNT é qualquer nome que você quer que o cluster seja chamado no domínio.
CONSUMER_PROJECT_ID é o ID do projeto que contém a instância do Filestore.
CONNECT_MODE é
DIRECT_PEERING
ouPRIVATE_SERVICE_ACCESS
. Se você estiver especificando uma VPC compartilhada como rede, também precisará especificarPRIVATE_SERVICE_ACCESS
como o modo de conexão. Essa sinalização é necessária para o peering de rede VPC, que é um requisito ao usar o Microsoft AD gerenciado.RESERVED_IP_RANGE é o intervalo de endereços IP da instância do Filestore. Se você estiver especificando
connect-mode=PRIVATE_SERVICE_ACCESS
e quiser usar um intervalo de endereços IP reservados, especifique o nome de um intervalo de endereços alocado em vez de um intervalo CIDR. Consulte Configurar um endereço IP reservado. Recomendamos que você ignore essa sinalização para permitir que o Filestore encontre automaticamente um intervalo de endereços IP gratuito e o atribua à instância.
Se não estiver usando o Microsoft AD gerenciado, execute o mesmo comando da etapa anterior para criar uma instância do Filestore, omitindo a sinalização
--managed-ad
e as sinalizações para o peering de rede VPC, ou seja,connect-mode
ereserved-ip-range
. Use o seguinte comando como exemplo:gcloud beta filestore instances create INSTANCE-ID \ --description="DESCRIPTION" \ --region=LOCATION \ --tier=TIER \ --protocol=PROTOCOL \ --file-share=name="FILE_SHARE_NAME",capacity=CAPACITYTB \ --network=name="VPC_NETWORK" \ --project=CONSUMER_PROJECT_ID
Noções básicas sobre as listas de controle de acesso (ACLs) baseadas em rede no NFSv4.1.
No NFSv3, somente a variação de segurança sys
é compatível. Essa configuração confia
no usuário uid
e gid
fornecidos pelo cliente durante a montagem.
No protocolo NFSv4.1 do Filestore, várias variações ou configurações de segurança de ACL de rede estão disponíveis:
krb5
Autentica o cliente usando um tíquete do Kerberos, que é validado no servidor do Microsoft AD gerenciado.
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 entrada e saída da instância.krb5p
Inclui a autenticação fornecida pelo
krb5
e as verificações de integridade da mensagem dekrb5i
. Além disso, usa o Kerberos para a criptografia de dados em trânsito.
Para aproveitar essas opções, é necessário integrar o serviço gerenciado para o Microsoft Active Directory.
Se um domínio de serviço gerenciado para o Microsoft Active Directory não for especificado, somente a variação de segurança sys
terá suporte.
Para mais informações, consulte Limitações do NFSv4.1.
Como montar instâncias NFSv4.1 do Filestore em clientes do Linux
As etapas a seguir mostram como montar instâncias em clientes Linux.
Ative com
sec=sys
para permissões padrão de NFS:sudo mount -vvvv -t nfs4 -o vers=4.1,sec=sys,rw \ FILESTORE-INSTANCE-FQDN:/INSTANCE_SHARE_POINT /MOUNT_POINT
Ative com
sec=krb5
para autenticação baseada em Kerberos:sudo mount -vvvv -t nfs4 -o vers=4.1,sec=krb5i,rw \ FILESTORE-INSTANCE-FQDN:/INSTANCE_SHARE_POINT /MOUNT_POINT
Ative com
sec=krb5i
para verificações de autenticação e integridade de mensagens baseadas em Kerberos:sudo mount -vvvv -t nfs4 -o vers=4.1,sec=krb5i,rw \ FILESTORE-INSTANCE-FQDN:/INSTANCE_SHARE_POINT /MOUNT_POINT
Ative 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-FQDN:/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 ativar.
Configuração do cliente Linux
Uma instância NFSv4.1 do Filestore permite que os clientes executem operações NFS usando várias variações de segurança. Essas variações são configuradas pelo administrador da instância por meio de ACLs de rede na instância NFSv4.1 do Filestore, durante a criação ou se atualizadas após a criação.
A variação de segurança sys
usa autenticação Unix padrão, enquanto as variações krb5
,
krb5i
e krb5p
usam autenticação baseada em Kerberos.
As variações krb5
, krb5i
e krb5p
exigem que os clientes estejam conectados ao
mesmo domínio do Microsoft AD gerenciado que a instância do Filestore.
Conclua as etapas a seguir de acordo com seu ambiente.
Imagem do Ubuntu
- Use SSH para se conectar à instância do Compute Engine.
Execute os seguintes comandos para ingressar no domínio do Microsoft AD gerenciado.
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
Quando o realm for solicitado, 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.
Quando os hosts forem solicitados, deixe em branco e continue.
Conclua uma das seguintes etapas:
Para VMs com um comprimento de nome de host menor ou igual a 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 utilizada para ingressar no domínio.
- MANAGED_AD_DOMAIN_NAME é o nome de domínio do serviço Microsoft AD gerenciado que você quer usar.
Para VMs com um comprimento de 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 utilizada para ingressar no domínio.
- MANAGED_AD_REALM_NAME é o nome do realm do serviço gerenciado do Microsoft AD que você quer usar.
- MANAGED_AD_DOMAIN_NAME é o nome de domínio do serviço Microsoft AD gerenciado que você quer usar.
Atualizar a configuração do Kerberos. Atualize
/etc/krb5.conf
com a definição de realm e o mapeamento de domínio de realm 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, digitado em maiúsculas.
- domain_name_lowercase é o nome de domínio que você quer usar, digitado em letras minúsculas.
Consulte os seguintes exemplos:
[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
Execute o serviço rpc-gssd. Adicione o seguinte valor do atributo
No-Strip
à seção[General]
dentro de/etc/idmapd.conf
:[General] No-Strip = both
Execute este comando:
sudo systemctl restart rpc-gssd
Imagem do CentOS
- Envie para a instância do Compute Engine.
Mesclar o domínio do Microsoft AD gerenciado:
sudo yum update \ sudo yum install -y adcli realmd sssd samba-common-tools krb5-workstation nfs-utils \ bind-utils openldap-clients
Conclua uma das seguintes etapas:
Para VMs com um comprimento de nome de host menor ou igual a 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 gerenciado do Microsoft AD que você quer usar.
Para VMs com um comprimento de 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 ingressar no domínio.
- MANAGED_AD_REALM_NAME é o nome do realm do serviço gerenciado do Microsoft AD que você quer usar.
- MANAGED_AD_DOMAIN_NAME é o nome de domínio do serviço gerenciado do Microsoft AD que você quer usar.
Verifique se o serviço sssd está em execução:
sudo systemctl status sssd
Execute o serviço rpc-gssd. Adicione o seguinte abaixo do valor do atributo
No-Strip
à seção[General]
dentro de/etc/idmapd.conf
:[General] No-Strip = both
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 Arquivos da lista do NFS Ganesha e Arquivo do Arco Linux:
sudo systemctl start rpc-gssd
Desconectar e reconectar o Microsoft AD gerenciado de uma instância do Filestore
Console do Google Cloud
Desconectar um Microsoft AD gerenciado de uma instância do Filestore
Desconectar uma instância do Filestore conectada ao Microsoft AD gerenciado.
No console do Google Cloud, acesse a página "Instâncias do Filestore".
Clique no código da instância que você quer editar.
No painel Ponto de montagem do NFS, em Protocolo, ao lado de Nome do serviço de diretório, clique em
Desconectar domínio do AD.Na janela Falha ao desconectar do domínio, leia o alerta e clique em Editar instância.
Pelo menos uma regra em Controle de acesso precisa ser mapeada para o papel de administrador com a configuração de segurança de montagem
sys
, como Access=Admin Mount esec=
sys.No painel Editar compartilhamento, localize a regra em que Acesso está definido como Administrador. Clique em Montar
sec=
... e selecionesys
para adicionar essa opção à configuração atual.Clique em OK.
Clique em Save.
Ao lado de Directory service name, clique em
Desconectar domínio do AD.No campo da janela Desconectar do domínio?, insira o nome do domínio do qual você quer se desconectar.
Clique em Desconectar.
Editar as regras de acesso
Atualize a página. Observe que o Directory service name agora está definido como None.
Clique em Editar.
No painel Editar compartilhamento, localize qualquer regra que defina acesso para um papel que não seja Administrador, como Editor. Na regra, clique em Montar
sec=
... e selecionesys
para adicioná-lo à configuração atual. Clique em OK.Clique em Save.
Atualize a página.
As configurações da regra são atualizadas.
Reconectar um Microsoft AD gerenciado a uma instância do Filestore
Reconectar uma instância do Filestore ao Microsoft AD gerenciado.
No painel Ponto de montagem do NFS, em Protocolo, ao lado de Nome do serviço do diretório, clique em
Juntar domínio do AD.Na janela Juntar esta instância a um domínio do Active Directory, selecione Usar domínios do projeto atual, no menu Participar de um domínio do Active Directory, selecione o domínio que você quer usar.
No menu Nome da conta do computador, digite um nome.
Clique em Join Domain.
Atualize a página. Observe que o nome do serviço do diretório foi atualizado com sua seleção.
Clique em Editar.
No painel Editar compartilhamento, clique em Mount
sec=
... em todas as regras aplicáveis e remova a seleçãosys
. Clique em OK.Clique em Save.
Atualize a página.
As configurações da regra são atualizadas.
A seguir
- Editar uma instância do Filestore.
- Crie uma instância em uma rede VPC compartilhada em projetos de serviço.