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 para instâncias criadas nos seguintes níveis de serviço:
- Zonal
- Regional
- Enterprise
Esse recurso pode ser integrado ao Serviço gerenciado para o 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 configurações de segurança:
- 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.
- Autenticação de cliente e servidor (
O AD gerenciado da Microsoft é a única solução totalmente gerenciada do Google Cloud que oferece suporte a LDAP e Kerberos, requisitos para o protocolo NFSv4.1 e os benefícios de segurança e privacidade. Embora a integração com o AD gerenciado do Microsoft não seja obrigatória, é altamente recomendável que uma experiência de usuário ideal do Google Cloud gerencie contas de usuário e grupos e permissões variáveis.
Você precisa usar o NFSv4.1?
Muitas organizações empresariais dependem de sistemas legados para operações essenciais de 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 pensando na autenticação. A integração do protocolo NFSv4.1 do Filestore com o Microsoft AD gerenciado agora atende a esse requisito crítico do usuário.
Objetivos
Neste guia, você vai 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 Managed Microsoft AD e a instância do Filestore precisam usar a mesma VPC no mesmo projeto.
Se o serviço do Managed Microsoft AD for hospedado em um projeto separado da instância do Filestore que você quer usar, a rede VPC do Filestore precisa ser pareada com o domínio do Managed Microsoft AD.
Para mais informações, consulte Implantar o Microsoft AD gerenciado com acesso entre projetos usando o 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 Managed Microsoft AD, consulte Objetos do Active Directory gerenciado.
Usuários e Computadores do Active Directory
As etapas a seguir descrevem os atributos que você precisa definir para usuários e grupos do LDAP. É possível gerenciar atributos POSIX usando o snap-in do MMC 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 consultar. Para expandir o conteúdo, clique na seta de expansão
.No menu View dos usuários e computadores do Active Directory, selecione Advanced Features.
No painel à esquerda, clique duas vezes em Usuários.
Na lista de usuários, clique duas vezes em um usuário para acessar 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. 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. 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(projectNumber)')@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 Managed Microsoft AD está localizado.
- PROJECT_ID é o ID do projeto em que a instância do Filestore está localizada.
Talvez você encontre um erro semelhante a este:
INVALID_ARGUMENT: Service account service-123456789012@cloud-filer.iam.gserviceaccount.com does not exist.
Se sim, use o seguinte comando para resolver o problema:
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ê vai criar uma instância do Filestore configurada para uso com o protocolo NFSv4.1. Etapas opcionais foram incluídas para usuários que não querem usar o Microsoft AD gerenciado.
Verifique se você tem cota suficiente.
Os intervalos de cota de instâncias variam de acordo com a localização da região e o 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 o nome, o tipo de instância e a capacidade:
- No campo ID da instância, digite o nome que você quer usar para a instância do Filestore.
Em Tipo de instância, selecione Regional ou Zonal.
Para criar uma instância empresarial, é necessário executar operações diretamente pela API Filestore.
Em Capacidade alocada, insira a capacidade que você quer usar. Você precisa inserir 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 Managed Microsoft AD estiver no mesmo projeto que a instância do Filestore, a rede VPC precisará ser autorizada no domínio do Managed Microsoft AD.
- Se o Managed Microsoft AD estiver em um projeto separado, a rede VPC precisa ser configurada com o peering de rede do Active Directory na configuração do Managed Microsoft AD.
Em Intervalo de IP alocado, selecione Usar um intervalo de IP alocado automaticamente (recomendado).
Em Protocolo, selecione NFSv4.1.
Configurar as configurações de autenticação da instância
- Configure as configurações de autenticação da instância.
- Clique em Autenticação.
- Selecione o projeto que hospeda o Managed Microsoft AD. Para os fins deste guia, vamos supor que o projeto atual é o que queremos usar.
- Na lista Vincular a um domínio do Active Directory, selecione o domínio do Microsoft AD gerenciado que você quer usar.
- No campo Nome da conta de computador, insira o nome da conta de computador que você quer usar para identificar a instância do Filestore no domínio do Managed Microsoft AD. O nome é limitado a 15 caracteres alfanuméricos.
- No campo Nome do compartilhamento de arquivos, insira o nome do compartilhamento, que será usado pelos clientes do NFSv4.1.
No painel Controle de acesso, siga uma destas etapas:
Se estiver usando o Microsoft AD gerenciado, selecione Restringir acesso por endereço IP ou intervalo.
- 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 selecione a caixa de seleção sys.
O proprietário
/
padrão do Filestore éroot
. Para permitir o acesso à instância para outros usuários e grupos, crie uma regra de acesso 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 Managed Microsoft AD, selecione Permitir acesso a todos os clientes na rede VPC.
Se o Microsoft AD gerenciado não for usado, a única configuração de segurança com suporte será
sec=sys
.
Clique em Criar para criar a instância.
gcloud
Instale e inicialize a gcloud CLI.
Se a CLI gcloud já estiver instalada, execute o seguinte comando para atualizá-la:
gcloud components update
Siga uma destas etapas:
Se você estiver usando o Microsoft AD gerenciado, execute o comando
gcloud beta filestore instances create
a seguir para criar uma instância zonal, regional ou empresarial 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 que você especifica para o compartilhamento de arquivos NFS que é exibido pela instância.
- CAPACITY é o tamanho que você quer que o compartilhamento de arquivos tenha, entre 1 e 10 TiB.
VPC_NETWORK é o nome da rede VPC que você quer que a instância use. Consulte Selecionar a rede VPC. Se você quiser especificar uma VPC compartilhada de um projeto de serviço, especifique o nome da rede totalmente qualificado, que está no formato
projects/HOST_PROJECT_ID/global/networks/SHARED_VPC_NAME
, e especifiqueconnect-mode=PRIVATE_SERVICE_ACCESS
, semelhante a este:--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 a ser usada 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 do Microsoft AD gerenciado está localizado.
MANAGED_AD_DOMAIN_NAME é o nome de domínio do serviço do Managed 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ê especificar uma VPC compartilhada como a rede, também precisará especificarPRIVATE_SERVICE_ACCESS
como o modo de conexão. Essa flag é 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ê está especificando
connect-mode=PRIVATE_SERVICE_ACCESS
e quer usar um intervalo de endereços IP reservado, especifique o nome de um intervalo de endereço alocado em vez de um intervalo CIDR. Consulte Configurar um endereço IP reservado. Recomendamos que você pule essa flag para permitir que o Filestore encontre automaticamente um intervalo de endereços IP gratuito e o atribua à instância.
Se você não estiver usando o Microsoft AD gerenciado, execute o mesmo comando da etapa anterior para criar uma instância do Filestore, omitindo a flag
--managed-ad
e as flags para o pareamento 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
Como entender as listas de controle de acesso (ACLs) baseadas em rede no NFSv4.1.
No NFSv3, somente o tipo de segurança sys
é aceito. Essa configuração confia
no uid
e gid
do usuário fornecidos pelo cliente durante a montagem.
No protocolo NFSv4.1 do Filestore, várias configurações ou versões de segurança de ACL de rede estão disponíveis:
krb5
Autentica o cliente usando um ticket Kerberos, que é validado no servidor Kerberos do Microsoft AD gerenciado.
krb5i
Inclui a autenticação fornecida por
krb5
e também usa o Kerberos para executar verificações de integridade de mensagem em todo o tráfego de rede de e para a instância.krb5p
Inclui a autenticação fornecida por
krb5
e as verificações de integridade de mensagens dekrb5i
e também usa o Kerberos para criptografia de dados em trânsito.
Se você quiser aproveitar essas opções, a integração do serviço gerenciado para o Microsoft Active Directory será necessária.
Se um serviço gerenciado para o domínio do Microsoft Active Directory não for especificado, apenas o tipo de segurança sys
será aceito.
Saiba mais em Limitações do NFSv4.1.
Como montar 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 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=krb5i,rw \ FILESTORE-INSTANCE-FQDN:/INSTANCE_SHARE_POINT /MOUNT_POINT
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
Monte 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 que você quer montar.
Configuração do cliente Linux
Uma instância do Filestore NFSv4.1 permite que os clientes realizem operações NFS usando vários tipos de segurança. Esses sabores são configurados pelo administrador da instância por ACLs de rede na instância do Filestore NFSv4.1 durante a criação ou se forem atualizados após a criação.
O tipo de segurança sys
usa a autenticação padrão do Unix, enquanto os tipos krb5
,
krb5i
e krb5p
usam a autenticação baseada em Kerberos.
Os tipos krb5
, krb5i
e krb5p
exigem que os clientes estejam conectados ao
mesmo domínio do Microsoft AD gerenciado da instância do Filestore.
Conclua as etapas a seguir adequadas ao seu ambiente.
Imagem do Ubuntu
- Faça SSH na instância do Compute Engine.
Execute os comandos a seguir para ingressar no domínio do Microsoft AD gerenciado.
Execute o comando de configuração a seguir:
sudo apt-get update \ sudo apt-get -y -qq install adcli realmd sssd sssd-tools packagekit krb5-user \ nfs-common expect retry
Quando solicitado o realm, substitua a entrada atual pelo domínio do Microsoft AD gerenciado usado na instância do Filestore. Digite o valor em maiúsculas e pressione a tecla de seta para selecionar OK e pressione Enter.
Quando for solicitado, deixe o campo vazio e prossiga.
Siga uma destas etapas:
Para VMs com um nome de host com menos ou igual a 15 caracteres, execute o comando a seguir:
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 com mais de 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 domínio do serviço do Microsoft AD gerenciado que você quer usar.
- MANAGED_AD_DOMAIN_NAME é o nome de domínio do serviço do Managed Microsoft AD que você quer usar.
Atualize a configuração do Kerberos. Atualize
/etc/krb5.conf
com a definição do realm e o mapeamento de domínio do 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 letras maiúsculas.
- domain_name_lowercase é o nome de domínio que você quer usar, digitado em letras minúsculas.
Confira o exemplo a seguir:
[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 de atributo
No-Strip
à seção[General]
em/etc/idmapd.conf
:[General] No-Strip = both
Execute este comando:
sudo systemctl restart rpc-gssd
Imagem de Centos
- Faça SSH para a instância do Compute Engine.
Vincule ao 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
Siga uma destas etapas:
Para VMs com um nome de host com menos ou igual a 15 caracteres, execute o comando a seguir:
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 com mais de 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 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.
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]
em/etc/idmapd.conf
:[General] No-Strip = both
Execute o comando a seguir. Esse comando ajuda a garantir que o cliente NFS não retira o nome de domínio do nome do host do servidor NFS. Para mais informações, consulte os arquivos da lista NFS Ganesha e o arquivo Arch Linux:
sudo systemctl start rpc-gssd
Desconectar e se reconectar ao Microsoft AD gerenciado em uma instância do Filestore
Console do Google Cloud
Desconectar um Microsoft AD gerenciado de uma instância do Filestore
Desconecte 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 na desconexão do domínio, leia o alerta e clique em Editar instância.
Pelo menos uma regra em Controle de acesso precisa ser mapeada para a função 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 Salvar.
Ao lado de Nome do serviço de diretório, clique em
Desconectar domínio do AD.No campo da janela Disconnect from domain?, insira o nome do domínio que você quer desconectar.
Clique em Desconectar.
Editar as regras de acesso
Atualize a página. O nome do serviço de diretório agora está definido como Nenhum.
Clique em Editar.
No painel Editar compartilhamento, localize qualquer regra que defina o acesso para uma função diferente de Administrador, como Editor. Na regra, clique em Mount
sec=
... e selecionesys
para adicioná-lo à configuração atual. Clique em OK.Clique em Salvar.
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 de diretório, clique em
Participar do domínio do AD.Na janela Join this instance to an Active Directory Domain, selecione Use domains from the current project. No menu Join an Active Directory Domain, selecione o domínio que você quer usar.
No menu Nome da conta de computador, insira um nome.
Clique em Participar do domínio.
Atualize a página. O nome do serviço do diretório foi atualizado com sua seleção.
Clique em Editar.
No painel Editar compartilhamento, clique em Montar
sec=
... em todas as regras aplicáveis e remova a seleçãosys
. Clique em OK.Clique em Salvar.
Atualize a página.
As configurações da regra são atualizadas.
A seguir
- Edite uma instância do Filestore.
- Crie uma instância em uma rede VPC compartilhada em projetos de serviço.