Control de acceso

En esta página se describe cómo controlar el acceso a las instancias de Filestore.

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 que pueden conectarse al archivo compartido, contiene todas las direcciones IP internas en la red de VPC que seleccionados para la instancia de Filestore. Las direcciones IP internas pueden debe ser cualquier rango que aparezca en la subred rangos. Sin embargo, si tienen clientes con un número que no es de RFC 1918. de subred, debes otorgarles acceso explícito de Cloud Filestore con Control de acceso basado en IP.
  • Se usa la opción rw, de modo que el archivo compartido permite operaciones 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.

Instancias de nivel básico

Las instancias SSD básico y HDD básicas crean un recurso compartido exportado etiquetado /config/google-prober, que se usa para ayudar a admitir procesos de sondeo internos, que verificar el acceso, la durabilidad o el rendimiento. El recurso compartido se exporta a la lista de clientes accesible solo para la dirección IP de la instancia, con la misma como se indica en la sección anterior. Los sondeos pueden acceder al recurso compartido se aloja en la instancia, o se origina en ella, y es inaccesible fuera de la instancia. La instancia exporta el recurso compartido independientemente de si Control de acceso basado en IP de configuración. Los usuarios pueden ver el recurso compartido exportado con el comando showmount -e.

Control de acceso basado en IP

Puedes cambiar esta configuración de exportación creando reglas de control de acceso con la consola de Google Cloud o especificando un archivo de configuración JSON durante la creación de instancias con gcloud CLI. Para obtener más información, consulta Configura 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 creas una instancia de Filestore, los archivos compartidos para esa tiene los permisos predeterminados del archivo POSIX de rwxr-xr-x. Estos permisos significa que, en una instancia de Filestore, solo los usuarios raíz en dispositivos clientes tienen acceso de lectura y escritura a los archivos compartidos. Otros usuarios solo leyeron de forma predeterminada. Los usuarios raíz del cliente pueden cambiar sus permisos y propietarios.

Configura el acceso de un recurso compartido de archivo

Cuando activas un recurso compartido, puedes usar las opciones de activación y la configuración de /etc/fstab para determinar si el recurso compartido de archivos puede escribirse y si se pueden ejecutar archivos en él. Después de activar los archivos compartidos, puedes usar comandos estándar de Linux, como chmod, y setfacl para establecer permisos de archivos y archivos compartidos. Solo los niveles básicos admiten setfacl.

Establece permisos coherentes

Te recomendamos que establezcas permisos coherentes para cada usuario en todos que se conectan a la misma instancia de Filestore para evitar elevación de privilegios. Si un archivo compartido se activa en más de un cliente y un usuario tiene privilegios de administrador en un cliente, pero no en los demás, siguiente situación de elevación de privilegios:

  • Un usuario configura el atributo setuid en un archivo ejecutable desde el cliente en los que el usuario tiene acceso raíz.
  • Luego, el usuario sube el archivo ejecutable a los archivos compartidos.
  • El usuario ejecuta el archivo subido como raíz en cualquier cliente donde el usuario tiene, al menos, permiso de lectura.

Esto es posible porque el bit setuid permite que el usuario ejecute un con los permisos del propietario, que en este caso es la raíz.

Permisos superpuestos

Zonal, regional y empresarial las instancias ahora admiten permisos superpuestos.

Si se definen dos reglas de control de acceso separadas para la superposición de direcciones IP subredes, tendrá prioridad la regla definida para la subred más pequeña.

Por ejemplo, si un archivo de configuración JSON contiene una regla que otorga operaciones de lectura y acceso de escritura para la subred de dirección IPv4 10.0.0.0/24 y una regla independiente otorga acceso de solo lectura a la subred de direcciones IPv4 10.0.0.0/28, Filestore reconoce y aplica la regla para la subred más pequeña primero. La otra regla es y, luego, se aplicará a las partes restantes de la subred de la dirección IP definida. En este Por ejemplo, a un cliente que usa la dirección IPv4 10.0.0.20 se le otorga lectura y escritura permisos, mientras que a un cliente que usa 10.0.0.12 se le otorgan 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 mostrarán un error.

  • Los permisos de superposición no son compatibles con las instancias básicas de SSD o HDD básicas.

¿Qué sigue?