En esta página se describe cómo controlar el acceso a las instancias de Filestore.
Filestore no admite Kerberos para asegurar el acceso a las instancias de Filestore. En su lugar, usa las opciones de Linux y administración de identidades y accesos (IAM) que se describen a continuación.
Configuración de exportación de recurso compartido de archivos
A un archivo compartido de Filestore se le asigna la siguiente configuración predeterminada de /etc/exports
:
- La lista de clientes, que identifica a los clientes a los que se les permite conectarse a los archivos compartidos, se compone de todas las direcciones IP internas en la red VPC que seleccionaste para la instancia de Filestore. Las direcciones IP internas pueden ser cualquier rango enumerado en los rangos de subredes. Sin embargo, si tienes clientes en rangos de subred que no son RFC 1918, debes otorgarles acceso explícitamente a la instancia de Filestore mediante la basada en IP control de acceso.
- Se usa la opción
rw
, por lo que los archivos compartidos son de lectura y escritura. - Se utiliza la opción
no_root_squash
de asignación de ID del usuario, por lo que se espera que todos los usuarios y grupos, incluido el usuario raíz, sean los mismos tanto en la instancia de Filestore como en el cliente. - Todas las demás opciones usan los valores predeterminados de
/etc/exports
.
Control de acceso basado en IP
Puedes cambiar esta configuración de exportación si creas reglas de control de acceso con Cloud Console o si especificas un archivo de configuración json durante la creación de la instancia con la herramienta gcloud
. Para obtener más información, consulta Configurar el control de acceso basado en IP.
También puedes agregar nuevas reglas de control de acceso o modificar las existentes después de crear una instancia. Para obtener más detalles, consulta Edita instancias.
Permisos para recursos compartidos de archivo
Cuando crea una instancia de Filestore, el recurso compartido para esa instancia tiene permisos Unix predeterminados de rwxr-xr-x
, notación octal 755
. Estos permisos denotan que en una instancia de Filestore, solo los usuarios raíz de los clientes conectados tienen acceso de lectura/escritura al recurso compartido. Los otros usuarios solo tienen acceso de lectura de forma predeterminada, pero los usuarios raíz del cliente pueden cambiar los permisos y los propietarios.
Configura el acceso de un recurso compartido de archivo
Cuando activas un recurso compartido de archivos de Filestore para un cliente, puedes usar las opciones del comando mount
y la configuración del archivo /etc/fstab
a fin de determinar si el recurso compartido de archivos activado se puede escribir y si se pueden ejecutar archivos en él. Después de activar el recurso compartido de archivos, puedes usar comandos estándar de Linux, como chmod
y setfacl
, para configurar los permisos de los archivos y del recurso compartido de archivos.
Establece permisos coherentes
Recomendamos encarecidamente que establezca permisos consistentes para cada usuario en todos los clientes que se conectan a la misma instancia de Filestore, debido a un problema que ocurre cuando:
- Un recurso compartido de archivos se activa en más de un cliente.
- Un usuario tiene permisos de administrador en un cliente, pero no en los demás.
El usuario puede subir un archivo con el bit setuid
configurado desde el cliente, en el que tiene acceso raíz, lo que luego le permite ejecutar el archivo como administrador en cualquier otro cliente en el que tenga, por lo menos, permiso de lectura. Esto se debe a que el bit setuid
permite al usuario ejecutar un archivo con los permisos del propietario del archivo, en este caso de administrador.
Permisos y funciones de IAM
Para otorgar acceso a las operaciones de Filestore, asigna funciones de administración de identidades y accesos (IAM) a los usuarios.
Los permisos de IAM solo controlan el acceso a las operaciones de Filestore, como crear una instancia de Filestore. El acceso a las operaciones en el recurso compartido de Filestore, como leer o ejecutar, está determinado por los permisos de Linux.
Usa funciones de Filestore
Puedes usar las funciones del editor de Filestore (roles/file.editor) y visualizador de Filestore (roles/file.viewer) para otorgar permisos de Filestore a los usuarios. Si lo prefieres, también puedes usar las funciones básicas para este fin.
Use la siguiente tabla para ver los permisos de Filestore asociados con las funciones de Filestore.
Permiso | Acción | Editor de Filestore | Visualizador de Filestore |
file.locations.get | Obtener información sobre una ubicación específica admitida por este servicio | ✓ | ✓ |
file.locations.list | Mostrar una lista con información sobre las ubicaciones compatibles con este servicio | ✓ | ✓ |
file.instances.create | Crear una instancia de Filestore. | ✓ | |
file.instances.update | Actualizar una instancia de Filestore. | ✓ | |
file.instances.delete | Eliminar una instancia de Filestore. | ✓ | |
file.instances.get | Obtener detalles sobre una instancia específica de Filestore. | ✓ | ✓ |
file.instances.list | Enumerar las instancias de Filestore en el proyecto. | ✓ | ✓ |
file.operations.get | Obtener el estado de una operación de instancia de Filestore. | ✓ | ✓ |
file.operations.list | Mostrar una lista de operaciones de instancia de Filestore. | ✓ | ✓ |
file.operations.cancel | Cancelar una operación de instancia de Filestore. | ✓ | |
file.operations.delete | Eliminar una operación de instancia de Filestore. | ✓ | |
file.backups.create | Crea una copia de seguridad de Filestore. | ✓ | |
file.backups.update | Actualiza una copia de seguridad de Filestore | ✓ | |
file.backups.delete | Borra una copia de seguridad de Filestore | ✓ | |
file.backups.get | Obtener detalles sobre una instancia específica de Filestore. | ✓ | ✓ |
file.backups.list | Enumerar las instancias de Filestore en el proyecto. | ✓ | ✓ |
Usa las funciones básicas
Los permisos de Filestore también están asociados con las funciones básicas de IAM de propietario, editor y visualizador. Puede usar estas funciones además de las funciones de Filestore para otorgar permisos de Filestore a los usuarios.
Use la siguiente tabla para ver los permisos de Filestore asociados con las funciones de Filestore.
Permiso | Acción | Propietario del proyecto | Editor de proyecto | Lector del proyecto |
file.locations.get | Obtener información sobre una ubicación específica admitida por este servicio | ✓ | ✓ | ✓ |
file.locations.list | Mostrar una lista con información sobre las ubicaciones compatibles con este servicio | ✓ | ✓ | ✓ |
file.instances.create | Crear una instancia de Filestore. | ✓ | ✓ | |
file.instances.update | Actualizar una instancia de Filestore. | ✓ | ✓ | |
file.instances.delete | Eliminar una instancia de Filestore. | ✓ | ✓ | |
file.instances.get | Obtener detalles sobre una instancia específica de Filestore. | ✓ | ✓ | ✓ |
file.instances.list | Enumerar las instancias de Filestore en el proyecto. | ✓ | ✓ | ✓ |
file.operations.get | Obtener el estado de una operación de instancia de Filestore. | ✓ | ✓ | ✓ |
file.operations.list | Mostrar una lista de operaciones de instancia de Filestore. | ✓ | ✓ | ✓ |
file.operations.cancel | Cancelar una operación de instancia de Filestore. | ✓ | ✓ | |
file.operations.delete | Eliminar una operación de instancia de Filestore. | ✓ | ✓ | |
file.backups.create | Crea una copia de seguridad de Filestore. | ✓ | ✓ | |
file.backups.update | Actualiza una copia de seguridad de Filestore | ✓ | ✓ | |
file.backups.delete | Borra una copia de seguridad de Filestore | ✓ | ✓ | |
file.backups.get | Obtener detalles sobre una instancia específica de Filestore. | ✓ | ✓ | ✓ |
file.backups.list | Enumerar las instancias de Filestore en el proyecto. | ✓ | ✓ | ✓ |
Funciones personalizadas
Si las funciones de IAM predefinidas no satisfacen tus necesidades, puedes definir una función personalizada con los permisos que especifiques. Para ello, IAM ofrece funciones personalizadas.
Cuando cree funciones personalizadas para Filestore, asegúrese de incluir tanto resourcemanager.projects.get
como resourcemanager.projects.list
para que la función tenga permiso para consultar los recursos del proyecto. De lo contrario, la consola Google Cloud no funcionará correctamente para Filestore.