sql >> Base de Datos >  >> RDS >> MariaDB

Simplifique la gestión de cuentas de usuario con MariaDB MaxScale 2.2 y MariaDB Server 10.3

La configuración de las cuentas de usuario de la base de datos para MariaDB MaxScale y un clúster de back-end generalmente ha requerido un esfuerzo duplicado. Esto se debe a que debe existir una entrada de cuenta tanto para el host del cliente real como para el host de MaxScale. MaxScale autentica a los usuarios entrantes contra la entrada del usuario con el host del cliente real. Cuando MaxScale crea la sesión de enrutamiento, utiliza el nombre de usuario y la contraseña del cliente para autenticar al cliente en el backend. El backend ve la conexión proveniente de la máquina que ejecuta MaxScale. A menos que el nombre de host use comodines (baja seguridad), se requieren entradas para ambos hosts. Si las cuentas de usuario se modifican con frecuencia, esta duplicación puede volverse engorrosa y generar errores.

MariaDB Server 10.3 agrega soporte para el protocolo proxy que permite que una conexión se autodesigne como host. El protocolo establece que cuando se ha establecido una conexión, el cliente debe primero (antes de responder al protocolo de enlace de MySQL) enviar un encabezado de protocolo de proxy. Este encabezado contiene el nombre de host del que el servidor debe imaginar que se origina la conexión en lugar de usar el nombre de host real. Por razones de seguridad, los encabezados de proxy solo se permiten desde las direcciones enumeradas en la variable del servidor "proxy_protocol_networks". Por lo tanto, la función permite que direcciones IP seleccionadas actúen como proxies sin tener cuentas de usuario reales en el backend de la base de datos. Como ejemplo, el encabezado "PROXY TCP4 192.168.0.1 192.168.0.2 56324 443" indica al servidor que autentique al cliente como si se estuviera conectando desde 192.168.0.1.

Esta característica se puede usar para simplificar la administración de cuentas de usuario cuando se usa MaxScale 2.2 y MariaDB Server 10.3. Para habilitar la función en MaxScale, agregue la línea "proxy_protocol=on" a una definición de servidor en su archivo de configuración de MaxScale (por lo general, esto debe agregarse a todas las secciones del servidor).

Un ejemplo de una definición de servidor MaxScale:

[MyServer1]
type=server
address=123.456.789.0
port=3306
protocol=MariaDBBackend
proxy_protocol=yes

Cuando MaxScale intenta crear una sesión de cliente en el servidor, MaxScale primero envía un encabezado de proxy con el nombre de host original del cliente. Si la IP de MaxScale se encuentra dentro de "proxy_protocol_networks" del servidor, se lee el encabezado y se autentica la conexión utilizando la dirección real del cliente. Para la configuración del servidor, consulte la documentación del servidor para obtener más información.

Suponiendo que MaxScale IP es "111.222.333.4", agregue lo siguiente a la sección [mysqld] de la configuración del servidor:

proxy_protocol_networks = 111.222.333.4

Con esta configuración, un cliente entrante "usuario_normal" no necesita tener una entrada para el host "111.222.333.4" en la tabla mysql.user. Solo se requiere una entrada para el host del cliente real.

Obtenga MariaDB MaxScale 2.2 y MariaDB Server 10.3 como parte de MariaDB TX 3.0, disponible para descargar ahora.