Esta página descreve como controlar o acesso a instâncias do Filestore.
Com o protocolo NFSv4.1, pode usar o Kerberos para proteger o acesso a instâncias do Filestore. Para mais informações, consulte o artigo Acerca dos protocolos suportados.
Em alternativa, pode usar as opções do Linux para controlar o acesso ao NFS e a gestão de identidade e de acesso (IAM) para controlar o acesso a operações de instâncias, como criar, editar, ver e eliminar instâncias. O guia seguinte explica como concluir cada uma destas tarefas.
Definições de exportação de partilha de ficheiros
A partilha de ficheiros do Filestore tem as seguintes definições
/etc/exports
predefinidas:
- A lista de clientes, que identifica os clientes autorizados a estabelecer ligação à partilha de ficheiros, contém todos os endereços IP internos na rede VPC que selecionou para a instância do Filestore. Os endereços IP internos podem ser qualquer intervalo indicado nos intervalos de sub-redes. No entanto, se tiver clientes em intervalos de sub-redes não RFC 1918, tem de lhes conceder explicitamente acesso à instância do Filestore através do controlo de acesso baseado em IP.
- A opção
rw
é usada, pelo que a partilha de ficheiros permite operações de leitura e escrita. - A opção de mapeamento de IDs de utilizadores
no_root_squash
é usada, pelo que todos os utilizadores e grupos, incluindo o utilizador raiz, devem ser os mesmos na instância do Filestore e no cliente. - Todas as outras opções usam as predefinições de
/etc/exports
.
Instâncias de nível básico
As instâncias de SSD básico e HDD básico criam uma partilha exportada etiquetada como /config/google-prober
, usada para ajudar a suportar processos de sondagem internos, que, por sua vez, validam o acesso, a durabilidade ou o desempenho. A partilha é exportada para uma lista de clientes acessível apenas ao endereço IP da instância, usando as mesmas definições indicadas na secção anterior. A partilha é acessível a sondadores alojados ou originários apenas da instância e é inacessível fora da instância. A instância exporta a partilha independentemente de o controlo de acesso baseado em IP ser aplicado. Os utilizadores podem ver a partilha exportada através do comando showmount -e
.
Controlo de acesso baseado em IP
Pode alterar estas definições de exportação criando regras de controlo de acesso através da consola ou especificando um ficheiro de configuração JSON durante a criação de instâncias através da CLI gcloud. Google Cloud Para ver detalhes, consulte o artigo Configurar o controlo de acesso baseado em IP.
Também pode adicionar novas regras de controlo de acesso ou modificar as existentes depois de criar uma instância. Para obter detalhes, consulte o artigo Editar instâncias.
Autorizações de partilha de ficheiros
Quando cria uma instância do Filestore, a partilha de ficheiros dessa instância tem autorizações de ficheiros POSIX predefinidas de rwxr-xr-x
. Estas autorizações
significam que, numa instância do Filestore, apenas os utilizadores de raiz nos clientes
ligados têm acesso de leitura e escrita à partilha de ficheiros. Por predefinição, os outros utilizadores só têm acesso de leitura. Os utilizadores raiz do cliente podem alterar as autorizações e os proprietários.
Configurar o acesso numa partilha de ficheiros
Ao montar uma partilha de ficheiros, pode usar as
opções de montagem e as definições de
/etc/fstab
para determinar se a partilha de ficheiros é gravável e se os ficheiros podem ser executados na mesma. Depois de montar a partilha de ficheiros,
pode usar comandos Linux padrão, como chmod
,
e setfacl
para definir autorizações de ficheiros e partilhas de ficheiros. Apenas os níveis básicos suportam setfacl
.
Definir autorizações consistentes
Recomendamos vivamente que defina autorizações consistentes para cada utilizador em todos os clientes que se ligam à mesma instância do Filestore para evitar a escalada de privilégios. Se uma partilha de ficheiros estiver montada em mais do que um cliente e um utilizador tiver privilégios de raiz num cliente, mas não nos outros, o seguinte cenário de escalada de privilégios é possível:
- Um utilizador define o atributo
setuid
num ficheiro executável do cliente onde o utilizador tem acesso de raiz. - Em seguida, o utilizador carrega o ficheiro executável para a partilha de ficheiros.
- O utilizador executa o ficheiro carregado como raiz em qualquer cliente em que o utilizador tenha, pelo menos, autorização de leitura.
Este cenário é possível porque o bit setuid
permite que o utilizador execute um ficheiro com as autorizações do proprietário do ficheiro, que, neste caso, é o utilizador de raiz.
Autorizações sobrepostas
As instâncias zonais, regionais e empresariais suportam agora autorizações sobrepostas.
Se forem definidas duas regras de controlo de acesso separadas para sub-redes de endereços IP sobrepostas, a regra definida para a sub-rede mais pequena tem prioridade.
Por exemplo, se um ficheiro de configuração JSON contiver uma regra que conceda acesso de leitura e
escrita para a sub-rede de endereços IPv4 10.0.0.0/24
e uma regra separada
conceda acesso só de leitura para a sub-rede de endereços IPv4 10.0.0.0/28
, o Filestore
reconhece e aplica primeiro a regra para a sub-rede mais pequena. A outra regra é, em seguida, aplicada às partes restantes da sub-rede de endereços IP definida. Neste exemplo, um cliente que usa o endereço IPv4 10.0.0.20
recebe autorizações de leitura e escrita, enquanto um cliente que usa 10.0.0.12
recebe autorizações só de leitura:
{
"--file-share":
{
"capacity": "2048",
"name": "my_vol",
"nfs-export-options": [
{
"access-mode": "READ_WRITE",
"ip-ranges": [
"10.0.0.0/24"
],
"squash-mode": "ROOT_SQUASH",
"anon_uid": 1003,
"anon_gid": 1003
},
{
"access-mode": "READ_ONLY",
"ip-ranges": [
"10.0.0.0/28"
],
"squash-mode": "NO_ROOT_SQUASH"
}
]
}
}
Aplicam-se algumas restrições:
As autorizações sobrepostas para sub-redes IPv4 idênticas não são suportadas e devolvem um erro.
As autorizações sobrepostas não são suportadas para instâncias de SSD básico ou HDD básico.
O que se segue?
- Configure o controlo de acesso baseado em IP ou veja um exemplo.
- Criar instâncias.
- Edite instâncias.
- Resolva problemas comuns de rede ou ligação do Filestore.