Nesta página, descrevemos como controlar o acesso a instâncias do Filestore.
Com o protocolo NFSv4.1 (pré-lançamento), é possível usar o Kerberos para proteger o acesso a instâncias do Filestore. Para Para mais informações, consulte Sobre os protocolos compatíveis.
Também é possível usar as opções do Linux para controlar o acesso ao NFS e O Identity and Access Management (IAM) para controlar o acesso às instâncias operações, como criar, editar, visualizar e excluir instâncias. O guia a seguir mostra como concluir cada uma dessas tarefas.
Configurações de exportação de compartilhamento de arquivos
Um compartilhamento de arquivos do Filestore é atribuído às seguintes configurações
padrão de
/etc/exports
:
- A lista de clientes, que identifica os clientes com permissão para se conectar ao arquivo share: contém todos os endereços IP internos da rede VPC que você selecionados para a instância do Filestore. Endereços IP internos podem ser qualquer intervalo listado na sub-rede de destino. No entanto, se você têm clientes que não usam o RFC 1918; intervalos de sub-rede, é preciso conceder explicitamente a eles acesso instância do Filestore usando Controle de acesso baseado em IP.
- A opção
rw
é usada, então o compartilhamento de arquivos permite operações de leitura e gravação. - A opção de mapeamento de ID do usuário
no_root_squash
é usada. Portanto, espera-se que todos os usuários e grupos, incluindo o usuário raiz, sejam os mesmos na instância do Filestore e no cliente. - Todas as outras opções usam os
padrões
/etc/exports
.
Instâncias de nível básico
As instâncias de SSD básico e HDD básico criam um compartilhamento exportado
/config/google-prober
, usada para auxiliar em processos internos de sondagem, que
para verificar o acesso, a durabilidade
ou o desempenho. O compartilhamento é exportado para
lista de clientes acessível apenas ao endereço IP da instância, usando a mesma
conforme indicado na seção anterior. O compartilhamento pode ser acessado pelas sondagens
hospedados na instância ou originados apenas dela e não pode ser acessado fora
a instância. A instância exporta o compartilhamento, independentemente de
Controle de acesso baseado em IP
é aplicada. Os usuários podem ver o compartilhamento exportado usando o comando showmount -e
.
Controle de acesso baseado em IP
Para alterar essas configurações de exportação, crie regras de controle de acesso usando no console do Google Cloud ou especificando um arquivo de configuração JSON durante criação de instâncias usando a CLI gcloud. Para mais detalhes, consulte Como configurar o controle de acesso baseado em IP.
Também é possível adicionar novas regras de controle de acesso ou modificar as existentes depois que uma instância é criada. Para detalhes, consulte Como editar instâncias.
Permissões de compartilhamento de arquivos
Quando você cria uma instância do Filestore, o compartilhamento de arquivos para essa
instância tem permissões de arquivo POSIX padrão de rwxr-xr-x
. Essas permissões
significa que, em uma instância do Filestore, só usuários com acesso root
têm acesso de leitura e gravação ao compartilhamento de arquivos. Outros usuários só têm acesso de
leitura por padrão. Os usuários raiz do cliente podem alterar permissões e proprietários.
Como configurar o acesso em um compartilhamento de arquivos
Ao ativar um compartilhamento de arquivos, use
as opções de ativação e
as configurações de /etc/fstab
para determinar se o
compartilhamento de arquivos é gravável e se os arquivos podem ser executados nele. Depois de ativar o compartilhamento de arquivos,
use os comandos padrão do Linux, como chmod
e
setfacl
para definir permissões de arquivo e compartilhamento de arquivos. Somente os níveis básicos são compatíveis com o setfacl
.
Como definir permissões consistentes
É altamente recomendável definir permissões consistentes para cada usuário em todos os clientes que se conectam à mesma instância do Filestore para evitar o escalonamento de privilégios. Se um compartilhamento de arquivos for ativado em mais de um cliente, e um usuário tiver privilégios de raiz em um cliente, mas não nos outros, o seguinte cenário de escalonamento de privilégios será possível:
- Um usuário define o atributo
setuid
em um arquivo executável do cliente em que o usuário tem acesso de raiz. - Em seguida, o usuário faz upload do arquivo executável para o compartilhamento de arquivos.
- O usuário executa o arquivo enviado como raiz em qualquer cliente em que ele tenha pelo menos a permissão de leitura.
Esse cenário é possível porque o bit setuid
permite que o usuário execute um arquivo
usando as permissões do proprietário, que, neste caso, é raiz.
Sobreposição de permissões
Zonal, regional e empresarial agora dão suporte a permissões sobrepostas.
Se duas regras de controle de acesso separadas forem definidas para endereços IP sobrepostos sub-redes, a regra definida para a sub-rede menor tem prioridade.
Por exemplo, se um arquivo de configuração JSON contiver uma regra que concede acesso aos recursos
acesso de gravação para a sub-rede de endereços IPv4 10.0.0.0/24
e uma regra separada
concede acesso somente leitura à sub-rede de endereços IPv4 10.0.0.0/28
, Filestore
reconhece e aplica primeiro a regra da sub-rede menor. A outra regra é
são aplicadas à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 permissão de leitura e gravação
permissões, enquanto um cliente que usa 10.0.0.12
recebe permissões somente 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"
}
]
}
}
Algumas restrições são aplicáveis:
Permissões sobrepostas para sub-redes IPv4 idênticas não são aceitas e retornam um erro.
Permissões sobrepostas não são compatíveis com instâncias de SSD básico ou de HDD básico.
A seguir
- Configurar o controle de acesso baseado em IP ou confira um exemplo.
- Criação de instâncias.
- Editar instâncias.
- Resolva problemas comuns de rede ou conexão do Filestore.