O guia seguinte mostra como implementar o protocolo NFSv4.1 com uma nova instância do Filestore.
Acerca do NFSv4.1
O Filestore oferece suporte para o protocolo NFSv4.1 para instâncias criadas nos seguintes níveis de serviço:
- Zonal
- Regional
- Enterprise
Esta capacidade pode ser integrada com o Managed Service for Microsoft Active Directory (Managed Microsoft AD) 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.
Objetivos
Neste guia, vai aprender a concluir as seguintes tarefas:
- Crie uma instância do Filestore que use o NFSv4.1.
- Associe ou desassocie o Managed Microsoft AD de uma instância do Filestore.
Crie uma instância do Filestore que use o NFSv4.1
Se quiser usar o Microsoft AD gerido com uma instância do Filestore, tem de criar o domínio do Microsoft AD gerido antes da instância do Filestore.
O domínio do Microsoft AD gerido e a instância do Filestore têm de usar a mesma VPC enquanto estiverem no mesmo projeto.
Se o seu serviço Managed Microsoft AD estiver alojado num projeto separado da instância do Filestore que quer usar, a rede VPC do Filestore tem de estar interligada ao domínio do Managed Microsoft AD.
Para mais informações, consulte o artigo Implemente o Microsoft AD gerido com acesso entre projetos através da interligação de domínios.
Conclua todos os passos de configuração para criar uma instância do Filestore.
Certifique-se de que os utilizadores do Microsoft AD gerido têm os campos POSIX RFC 2307 e RFC 2307bis preenchidos, semelhantes aos seguintes.
Para mais informações sobre como configurar objetos no Managed Microsoft AD, consulte o artigo Objetos do Active Directory gerido.
Utilizadores e computadores do Active Directory
Os passos seguintes descrevem os atributos que tem de definir para os utilizadores e os grupos do LDAP. Pode gerir os atributos POSIX através do snap-in MMC Utilizadores e computadores do Active Directory.
Abra o editor de atributos da seguinte forma:
- Clique em Iniciar.
Clique em Ferramentas administrativas do Windows e selecione Utilizadores e computadores do Active Directory.
É apresentada a janela Utilizadores e computadores do Active Directory.
Selecione o nome do domínio que quer ver. Para expandir o respetivo conteúdo, clique na
seta de expansão.No menu Ver do Active Directory Users and Computers, selecione Funcionalidades avançadas.
No painel esquerdo, clique duas vezes em Utilizadores.
Na lista de utilizadores, clique duas vezes num utilizador para ver o separador Editor de atributos.
Os utilizadores do LDAP têm de ter os seguintes atributos definidos:
uid
uidNumber
cn
gidNumber
objectClass
Cada utilizador tem de ter um
uidNumber
único. Tenha em atenção que o valor do atributouid
é sensível a maiúsculas e minúsculas. Para o atributoobjectClass
,user
é a predefinição na maioria das implementações do Active Directory (AD). Segue-se um exemplo:uid: Alice uidNumber: 139 gidNumber: 555 objectClass: user
Os grupos LDAP têm de ter os seguintes atributos definidos:
cn
gidNumber
objectClass
Cada grupo tem de ter um
gidNumber
exclusivo. Tenha em atenção que o valor do atributocn
é sensível a maiúsculas e minúsculas. Para o atributoobjectClass
,group
é a predefinição na maioria das implementações de AD. Segue-se um exemplo:cn: AliceGroup gidNumber: 555 objectClass: group
Conceda acesso ao Filestore para criar e gerir objetos no Managed Microsoft AD através do 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 o seguinte:
- MANAGED_MICROSOFT_AD_PROJECT_ID é o ID do projeto do projeto onde o domínio do Microsoft AD gerido está localizado.
- PROJECT_ID é o ID do projeto onde a instância do Filestore está localizada.
Pode ver um erro semelhante ao seguinte:
INVALID_ARGUMENT: Service account service-123456789012@cloud-filer.iam.gserviceaccount.com does not exist.
Se for o caso, use o seguinte comando para o resolver:
gcloud beta services identity create --service=file.googleapis.com --project \ MANAGED_MICROSOFT_AD_PROJECT_ID
Crie uma instância do Filestore com ou sem o Managed Microsoft AD
Crie uma instância do Filestore que use o protocolo NFSv4.1 com o Managed Microsoft AD. São incluídos passos opcionais para os utilizadores que optam por não usar o Microsoft AD gerido.
Antes de começar
Antes de criar uma nova instância do Filestore, certifique-se de que tem quota suficiente. Os intervalos de quotas de instâncias variam consoante a localização da região e o nível de serviço que quer usar. Para aumentar a quota disponível, tem de enviar um pedido de aumento da quota.
Crie uma instância do Filestore com o Microsoft AD gerido
Google Cloud consola
Configure os parâmetros da instância
Na Google Cloud consola, aceda à página Instâncias do Filestore.
Clique em Criar instância.
Especifique os parâmetros básicos da instância:
- No campo ID da instância, introduza o nome que quer usar para a instância do Filestore.
Em Tipo de instância, selecione Regional ou Zonal.
Para criar uma instância empresarial, tem de executar operações diretamente através da API Filestore.
Em Capacidade atribuída, introduza a capacidade que quer usar. Tem de introduzir um valor entre 1 TB e 10 TB, em incrementos de 256 GiB (0,25 TiB).
Em Região, selecione a região que quer usar.
Em Rede de VPC, selecione a rede que 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 tem de ser autorizada no domínio do Managed Microsoft AD.
- Se o Managed Microsoft AD estiver num projeto separado, a rede VPC deve ser configurada com o peering de rede do Active Directory na configuração do Managed Microsoft AD.
Em Intervalo de IPs atribuído, selecione Usar um intervalo de IPs atribuído automaticamente (recomendado).
Em Protocolo, selecione NFSv4.1.
Configure as definições de autenticação da instância
- Configure as definições de autenticação da instância.
- Clique em Autenticação.
- Selecione o projeto que aloja o Managed Microsoft AD. Para efeitos deste guia, vamos assumir que o projeto atual é o que queremos usar. Na lista Associar um domínio do Active Directory, selecione o domínio do Microsoft AD gerido que quer usar.
- No campo Nome da conta do computador, introduza o nome da conta do computador que quer usar para identificar a instância do Filestore no domínio do Microsoft AD gerido. O nome tem um limite de 15 carateres alfanuméricos.
- No campo Nome da partilha de ficheiros, introduza o nome da partilha tal como vai ser usado pelos clientes NFSv4.1.
No painel Controlo de acesso, conclua um dos seguintes passos:
Se usar o Microsoft AD gerido, selecione Restringir acesso por endereço IP ou intervalo.
- Defina a regra de acesso por IP ou sub-rede que quer definir. Para os fins deste guia, use as seguintes definições:
- No campo Endereço IP ou intervalo 1, introduza o endereço IP ou o intervalo que quer usar.
- Clique na lista pendente Acesso 1 e selecione Administrador.
Clique na lista pendente Mount
sec=
1 e selecione a caixa de verificação sys.
O proprietário predefinido do Filestore
/
éroot
. Para ativar o acesso à instância para outros utilizadores e grupos, tem de criar uma regra de acesso que ative o acesso à VM de gestão através da funçãoAdmin
e da definição de segurançasec=sys
.Se não estiver a usar o Microsoft AD gerido, selecione Conceder acesso a todos os clientes na rede VPC.
Se o Microsoft AD gerido não for usado, a única definição de segurança suportada é
sec=sys
.
Clique em Criar para criar a instância.
gcloud
Instale e inicialize a CLI gcloud.
Se já tiver a CLI gcloud instalada, execute o seguinte comando para a atualizar:
gcloud components update
Execute o comando
gcloud beta filestore instances create
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
Onde:
- INSTANCE_ID é o ID da instância do Filestore que quer criar. Consulte a secção Atribua um nome à instância.
- DESCRIPTION é uma descrição da instância que quer usar.
- LOCATION é a localização onde quer que a instância do Filestore resida.
- TIER é o nível de serviço que quer usar.
- PROTOCOL é
NFS_v4_1
. - FILE_SHARE_NAME é o nome que especifica para a partilha de ficheiros NFS que é servida a partir da instância.
- CAPACITY é o tamanho pretendido para a partilha de ficheiros, entre 1 TiB e 10 TiB.
VPC_NETWORK é o nome da rede VPC que quer que a instância use. Consulte Selecione a rede de VPC.
- Se quiser especificar uma VPC partilhada a partir de um projeto de serviço, tem de especificar o nome da rede totalmente qualificado, que está no seguinte formato:
projects/HOST_PROJECT_ID/global/networks/SHARED_VPC_NAME
Especifique
connect-mode=PRIVATE_SERVICE_ACCESS
, semelhante ao seguinte:--network=name=projects/host/global/networks/shared-vpc-1,connect-mode=PRIVATE_SERVICE_ACCESS
- Não pode especificar uma rede antiga para o valor vpc_network. Se necessário, crie uma nova rede VPC para usar seguindo as instruções em Crie uma rede VPC no modo automático.
MANAGED_AD_PROJECT_ID é o ID do projeto onde o serviço Managed Microsoft AD está localizado.
MANAGED_AD_DOMAIN_NAME é o nome do domínio do serviço Microsoft AD gerido que quer usar. Escolhe este nome de domínio quando cria um domínio do Microsoft AD gerido.
DOMAIN_COMPUTER_ACCOUNT é qualquer nome que queira dar ao cluster 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 estiver a especificar uma VPC partilhada como a rede, também tem de especificarPRIVATE_SERVICE_ACCESS
como o modo de ligação. Esta flag é necessária para o intercâmbio da rede da VPC, que é um requisito quando usa o Microsoft AD gerido.RESERVED_IP_RANGE é o intervalo de endereços IP da instância do Filestore. Se estiver a especificar
connect-mode=PRIVATE_SERVICE_ACCESS
e quiser usar um intervalo de endereços IP reservado, tem de especificar o nome de um intervalo de endereços atribuído em vez de um intervalo CIDR. Consulte o artigo Configurar um endereço IP reservado. Recomendamos que ignore esta flag para permitir que o Filestore encontre automaticamente um intervalo de endereços IP livre e o atribua à instância.
Crie uma instância do Filestore sem o Managed Microsoft AD
gcloud
Se não quiser usar o Managed Microsoft AD, execute o mesmo comando gcloud beta filestore instances create
que no guia Crie uma instância do Filestore com o Managed Microsoft AD para criar uma instância 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" \
--project=CONSUMER_PROJECT_ID
Na sua configuração, omita a flag --managed-ad
e as flags para o intercâmbio da rede da VPC, nomeadamente connect-mode
e reserved-ip-range
.
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 dokrb5i
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.
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.
Monte 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=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 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
- Estabeleça uma ligação SSH à instância do Compute Engine.
Execute os seguintes comandos para aderir ao domínio do Microsoft AD gerido.
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 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.
Quando lhe for pedido que indique anfitriões, deixe o campo vazio e avance.
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.
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-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
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
Execute o seguinte comando:
sudo systemctl restart rpc-gssd
Imagem do Centos
- Estabeleça uma ligação SSH à instância do Compute Engine.
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
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 Microsoft AD gerido 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 Microsoft AD gerido que quer usar.
Certifique-se de que 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
à secção[General]
dentro de/etc/idmapd.conf
:[General] No-Strip = both
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
Desligue e volte a estabelecer ligação ao Managed Microsoft AD a partir de uma instância do Filestore
Google Cloud consola
Desassocie um Managed Microsoft AD de uma instância do Filestore
Desassocie uma instância do Filestore associada ao Managed Microsoft AD.
Na Google Cloud consola, aceda à página Instâncias do Filestore.
Clique no ID da instância da instância que quer editar.
No painel Ponto de montagem NFS, em Protocolo, junto a Nome do serviço de diretório, clique em
Desassociar domínio do AD.Na janela Falha ao desligar do domínio, leia o alerta e, de seguida, clique em Editar instância.
Pelo menos uma regra no Controlo de acesso tem de ser mapeada para a função de administrador com a definição de segurança de montagem
sys
, como Acesso=Montagem de administrador esec=
sys.No painel Editar partilha, localize a regra em que o Acesso está definido como Administrador. Clique em Montar
sec=
... e selecionesys
para adicionar essa opção à definição existente.Clique em OK.
Clique em Guardar.
Junto a Nome do serviço de diretório, clique em
Desassociar domínio do AD.No campo da janela Desassociar do domínio?, introduza o nome do domínio do qual quer desassociar.
Clique em Desassociar.
Edite as regras de acesso
Atualize a página. Tenha em atenção que o Nome do serviço de diretório está agora definido como Nenhum.
Clique em Edit.
No painel Editar partilha, localize qualquer regra que defina o acesso para uma função que não seja Administrador, como Editor. Na regra, clique em Montar
sec=
... e selecionesys
para a adicionar à definição existente. Clique em OK.Clique em Guardar.
Atualize a página.
As definições da regra são atualizadas.
Volte a associar um Managed Microsoft AD a uma instância do Filestore
Volte a associar uma instância do Filestore ao Managed Microsoft AD.
No painel Ponto de montagem NFS, em Protocolo, junto a Nome do serviço de diretório, clique em
Aderir ao domínio do AD.Na janela Associe esta instância a um domínio do Active Directory, selecione Usar domínios do projeto atual no menu Associe um domínio do Active Directory e selecione o domínio que quer usar.
No menu Nome da conta do computador, introduza um nome.
Clique em Aderir ao domínio.
Atualize a página. Tenha em atenção que o Nome do serviço de diretório foi atualizado com a sua seleção.
Clique em Edit.
No painel Editar partilha, clique em Montar
sec=
... em todas as regras aplicáveis e remova a seleçãosys
. Clique em OK.Clique em Guardar.
Atualize a página.
As definições das regras são atualizadas.
O que se segue?
- Edite uma instância do Filestore
- Crie uma instância numa rede de VPC partilhada em projetos de serviço