En esta página se describe cómo controlar el acceso a las instancias de Filestore.
Con el protocolo NFSv4.1, puedes usar Kerberos para proteger el acceso a las instancias de Filestore. Para obtener más información, consulta Acerca de los protocolos admitidos.
También puedes usar las opciones de Linux para controlar el acceso a NFS y Gestión de Identidades y Accesos (IAM) para controlar el acceso a las operaciones de las instancias, como crear, editar, ver y eliminar instancias. En la siguiente guía se explica cómo completar cada una de estas tareas.
Configuración de exportación de archivos compartidos
A los sistemas de archivos compartidos de Filestore se les asignan los siguientes ajustes predeterminados:/etc/exports
- La lista de clientes, que identifica los clientes que pueden conectarse al recurso compartido de archivos, contiene todas las direcciones IP internas de la red VPC que hayas seleccionado para la instancia de Filestore. Las direcciones IP internas pueden ser cualquier intervalo que figure en subnet ranges. Sin embargo, si tienes clientes en intervalos de subredes que no sean RFC 1918, debes concederles acceso explícitamente a la instancia de Filestore mediante el control de acceso basado en IP.
- Se usa la opción
rw
, por lo que el recurso compartido de archivos permite operaciones de lectura y escritura. - Se usa la opción de asignación de ID de usuario
no_root_squash
, por lo que se espera que todos los usuarios y grupos, incluido el usuario raíz, sean los mismos en la instancia de Filestore y en el cliente. - En el resto de las opciones se usan los valores predeterminados de
/etc/exports
.
Instancias de nivel básico
Las instancias de SSD básico y HDD básico crean un recurso compartido exportado etiquetado como /config/google-prober
, que se usa para ayudar a admitir procesos de sondeo internos, que a su vez verifican el acceso, la durabilidad o el rendimiento. El recurso compartido se exporta a una lista de clientes a la que solo se puede acceder mediante la dirección IP de la instancia, con los mismos ajustes que se indican en la sección anterior. Solo se puede acceder al recurso compartido desde los verificadores alojados en la instancia o que procedan de ella, y no se puede acceder desde fuera de la instancia. La instancia exporta el recurso compartido independientemente de si se aplica el control de acceso basado en IP. Los usuarios pueden ver el contenido compartido exportado con el comando showmount -e
.
Control de acceso basado en IP
Puedes cambiar estos ajustes de exportación creando reglas de control de acceso con la Google Cloud consola o especificando un archivo de configuración JSON durante la creación de la instancia con la CLI de gcloud. Para obtener más información, consulta el artículo sobre cómo configurar el control de acceso basado en IP.
También puedes añadir nuevas reglas de control de acceso o modificar las que ya tengas después de crear una instancia. Para obtener más información, consulta Editar instancias.
Permisos del recurso compartido de archivos
Cuando creas una instancia de Filestore, el recurso compartido de archivos de esa instancia tiene permisos de archivo POSIX predeterminados de rwxr-xr-x
. Estos permisos significan que, en una instancia de Filestore, solo los usuarios root de los clientes conectados tienen acceso de lectura y escritura al sistema de archivos compartido. Los demás usuarios solo tienen acceso de lectura de forma predeterminada. Los usuarios raíz de clientes pueden cambiar los permisos y los propietarios.
Configurar el acceso a un sistema de archivos compartidos
Al montar un recurso compartido de archivos, puedes usar opciones de montaje y ajustes de /etc/fstab
para determinar si el recurso compartido de archivos se puede escribir y si se pueden ejecutar archivos en él. Después de activar el sistema de archivos compartidos, puedes usar comandos estándar de Linux, como chmod
y setfacl
, para definir los permisos de los archivos y del sistema de archivos compartidos. Solo los niveles básicos admiten setfacl
.
Definir permisos coherentes
Te recomendamos que definas permisos coherentes para cada usuario en todos los clientes que se conecten a la misma instancia de Filestore para evitar la elevación de privilegios. Si un recurso compartido de archivos se monta en más de un cliente y un usuario tiene privilegios de superusuario en un cliente, pero no en los demás, se puede dar la siguiente situación de elevación de privilegios:
- Un usuario define el atributo
setuid
en un archivo ejecutable desde el cliente donde el usuario tiene acceso de superusuario. - A continuación, el usuario sube el archivo ejecutable al recurso compartido de archivos.
- El usuario ejecuta el archivo subido como root en cualquier cliente en el que tenga al menos permiso de lectura.
Este caso es posible porque el bit setuid
permite al usuario ejecutar un archivo con los permisos del propietario del archivo, que en este caso es root.
Permisos superpuestos
Las instancias zonales, regionales y empresariales ahora admiten permisos superpuestos.
Si se definen dos reglas de control de acceso independientes para subredes de direcciones IP superpuestas, tiene prioridad la regla definida para la subred más pequeña.
Por ejemplo, si un archivo de configuración JSON contiene una regla que concede acceso de lectura y escritura a la subred de direcciones IPv4 10.0.0.0/24
, y otra regla concede acceso de solo lectura a la subred de direcciones IPv4 10.0.0.0/28
, Filestore reconoce y aplica primero la regla de la subred más pequeña. La otra regla se aplica a las partes restantes de la subred de direcciones IP definida. En este ejemplo, se conceden permisos de lectura y escritura a un cliente que usa la dirección IPv4 10.0.0.20
, mientras que a un cliente que usa 10.0.0.12
se le conceden permisos de solo lectura:
{
"--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"
}
]
}
}
Se aplican algunas restricciones:
No se admiten permisos superpuestos para subredes IPv4 idénticas y se devuelve un error.
No se admiten permisos superpuestos en instancias de SSD básico o HDD básico.
Siguientes pasos
- Configurar el control de acceso basado en IP o consultar un ejemplo.
- Crear instancias.
- Editar instancias.
- Soluciona problemas habituales de red o de conexión de Filestore.