MariaDB
 sql >> Database >  >> RDS >> MariaDB

Semplifica la gestione dell'account utente con MariaDB MaxScale 2.2 e MariaDB Server 10.3

La configurazione degli account utente del database per MariaDB MaxScale e un cluster back-end ha in genere richiesto uno sforzo duplicato. Ciò è dovuto al fatto che deve esistere una voce di account sia per l'host client reale che per l'host MaxScale. MaxScale autentica gli utenti in entrata rispetto alla voce dell'utente con l'host client reale. Quando MaxScale crea la sessione di routing, utilizza il nome utente e la password codificati del client per autenticare il client nel back-end. Il back-end vede la connessione proveniente dalla macchina che esegue MaxScale. A meno che il nome host non utilizzi caratteri jolly (sicurezza bassa), sono obbligatorie le voci per entrambi gli host. Se gli account utente vengono modificati spesso, questa duplicazione potrebbe diventare ingombrante e causare errori.

MariaDB Server 10.3 aggiunge il supporto per il protocollo proxy che consente a una connessione di designare autonomamente il proprio host. Il protocollo afferma che quando è stata stabilita una connessione, il client deve prima (prima di rispondere all'handshake MySQL) inviare un'intestazione del protocollo proxy. Questa intestazione contiene il nome host da cui il server dovrebbe immaginare la connessione originata invece di utilizzare il nome host reale. Per motivi di sicurezza, le intestazioni proxy sono consentite solo dagli indirizzi elencati nella variabile server "proxy_protocol_networks". La funzione consente quindi a indirizzi IP selezionati di agire come proxy senza avere account utente effettivi sul back-end del database. Ad esempio, l'intestazione "PROXY TCP4 192.168.0.1 192.168.0.2 56324 443" indica al server di autenticare il client come se si stesse connettendo da 192.168.0.1.

Questa funzione può essere utilizzata per semplificare la gestione dell'account utente quando si utilizza MaxScale 2.2 e MariaDB Server 10.3. Per abilitare la funzione in MaxScale, aggiungi la riga "proxy_protocol=on" a una definizione del server nel tuo file di configurazione MaxScale (in genere questo dovrebbe essere aggiunto a tutte le sezioni del server).

Un esempio di definizione di server MaxScale:

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

Quando MaxScale tenta di creare una sessione client sul server, MaxScale invia prima un'intestazione proxy con il nome host originale del client. Se l'IP di MaxScale viene trovato all'interno del "proxy_protocol_networks" del server, l'intestazione viene letta e la connessione autenticata utilizzando l'indirizzo del client reale. Per l'impostazione del server, vedere la documentazione del server per ulteriori informazioni.

Supponendo che l'IP di MaxScale sia "111.222.333.4", aggiungi quanto segue alla sezione [mysqld] della configurazione del server:

proxy_protocol_networks = 111.222.333.4

Con queste impostazioni, un client in entrata "normal_user" non ha bisogno di avere una voce per l'host "111.222.333.4" nella tabella mysql.user. È richiesta solo una voce per l'host del client reale.

Ottieni MariaDB MaxScale 2.2 e MariaDB Server 10.3 come parte di MariaDB TX 3.0, disponibile per il download ora.