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 (pré-lançamento) para instâncias criadas nos seguintes níveis de serviço:
- Zonal
- Regional
- Enterprise
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 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 Microsoft AD gerenciado é a única solução totalmente gerenciada do Google Cloud que aceita LDAP e Kerberos, requisitos para o protocolo NFSv4.1 e benefícios de segurança e privacidade. Embora a integração com o Microsoft AD gerenciado não seja necessária, é altamente recomendável oferecer uma experiência ideal do usuário do Google Cloud ao gerenciar contas de usuários e grupos e permissões flutuantes.
Devo usar o 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ê vai aprender a realizar as seguintes tarefas:
- Crie uma instância do Filestore que use o NFSv4.1.
- Conecte ou desconecte o Microsoft AD gerenciado de uma instância do Filestore.
Criar uma instância do Filestore que use 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
Tanto o domínio do Microsoft AD gerenciado quanto a instância do Filestore precisam usar a mesma VPC enquanto estiverem 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á fazer peering com o domínio do Microsoft AD gerenciado.
Para mais informações, acesse 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, como mostrado a seguir.
Para mais informações sobre como configurar objetos no Microsoft AD gerenciado, consulte Objetos gerenciados do Active Directory.
Usuários e computadores do Active Directory
Nas etapas a seguir, descrevemos os atributos que você precisa definir para usuários e grupos do LDAP. É possível gerenciar os atributos POSIX usando o Snapchat de 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 ver. Para expandir o conteúdo, clique na seta
.No menu Exibir em 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.
Nesse 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. Etapas opcionais estão incluídas para usuários que optam por não usar o Microsoft AD gerenciado.
Verifique se você tem cota suficiente.
Intervalos de cota de instância por local da região e nível de serviço que você quer usar. Para aumentar a cota disponível, você precisa enviar uma solicitação de aumento de cota.
Console do Google Cloud
Configurar os parâmetros de 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 de instância 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 Regional ou Zonal.
Para criar uma instância corporativa, execute as operações diretamente pela API Filestore.
Em Capacidade alocada, insira a capacidade que você quer usar. É necessário 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 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 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 este 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 como ele será usado pelos clientes NFSv4.1.
No painel Controle de acesso, conclua uma das seguintes etapas:
Se estiver usando o Microsoft AD gerenciado, selecione Restringir acesso por intervalo ou endereço IP.
- Defina a regra de acesso por IP ou sub-rede. 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 Montar
sec=
1 e marque a caixa de seleção sys.
O proprietário
/
padrão do Filestore éroot
. Para ativar 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 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
Siga uma destas etapas:
Se estiver usando o Microsoft AD gerenciado, execute o seguinte comando
gcloud beta filestore instances create
para criar uma instância regional, corporativa ou de zona 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 é a 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 é 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 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
, econnect-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 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 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 a 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 reservado, 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 de 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, apenas a variação de segurança sys
tem suporte. 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 Kerberos.
krb5i
Inclui a autenticação fornecida por
krb5
e também usa o Kerberos para executar verificações de integridade das mensagens 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 da mensagem dekrb5i
. Além disso, também usa o Kerberos para criptografia de dados em trânsito.
Para aproveitar essas opções, é necessário fazer a integração do serviço gerenciado para o Microsoft Active Directory.
Se um domínio do serviço gerenciado para o Microsoft Active Directory não for especificado, apenas a variação de segurança sys
terá suporte.
Para mais informações, consulte as Limitações do NFSv4.1.
Como montar instâncias NFSv4.1 do Filestore em clientes Linux
As etapas a seguir mostram como montar instâncias em clientes Linux.
Ative 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
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 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
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 nome do ponto de montagem ou do diretório em que você quer ativar.
Configuração do cliente Linux
Uma instância do Filestore do NFSv4.1 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 forem atualizadas após a criação.
A variação de segurança sys
usa a 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
- Estabeleça a conexão SSH com a instância do Compute Engine.
Execute os comandos a seguir para ingressar no domínio do Microsoft AD gerenciado.
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
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 o campo em branco e continue.
Siga uma destas 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 superior a 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 de domínio 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.
Atualizar configuração do Kerberos. Atualize
/etc/krb5.conf
com a definição de realm necessária e o mapeamento de domínio de realm:[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.
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 de atributo
No-Strip
à seção[General]
em/etc/idmapd.conf
:[General] No-Strip = both
Execute este comando:
sudo systemctl restart rpc-gssd
Imagem da Centos
- Ssh para a instância do Compute Engine.
Participe do 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 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 participar do 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 superior a 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 participar do domínio.
- MANAGED_AD_REALM_NAME é o nome de domínio 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
Executar 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 remova o nome de domínio do nome do host do servidor NFS. Para mais informações, consulte Arquivos da lista Ganesha do NFS e Arquivo do Arch Linux:
sudo systemctl start rpc-gssd
Desconecte e reconecte-se ao Microsoft AD gerenciado de 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 do 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 Salvar.
Ao lado de Nome do serviço de diretório, 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 Nome do serviço de diretório agora está definido como Nenhum.
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 Salvar.
Atualize a página.
As configurações da regra serã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
Participar do 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 de 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 serão atualizadas.
A seguir
- Editar uma instância do Filestore.
- Crie uma instância em uma rede VPC compartilhada em projetos de serviço.