sql >> Database >  >> RDS >> MariaDB

Vereenvoudig gebruikersaccountbeheer met MariaDB MaxScale 2.2 en MariaDB Server 10.3

Het configureren van databasegebruikersaccounts voor MariaDB MaxScale en een backend-cluster vereist doorgaans dubbele inspanningen. Dit komt omdat er een accountinvoer moet bestaan ​​voor zowel de echte clienthost als de MaxScale-host. MaxScale authenticeert inkomende gebruikers tegen de gebruikersinvoer met de echte clienthost. Wanneer MaxScale de routeringssessie maakt, gebruikt het de gebruikersnaam en het wachtwoord van de client om de client bij de backend te authenticeren. De backend ziet de verbinding afkomstig van de machine waarop MaxScale draait. Tenzij de hostnaam jokertekens gebruikt (lage beveiliging), zijn invoer voor beide hosts vereist. Als gebruikersaccounts vaak worden gewijzigd, kan deze duplicatie omslachtig worden en tot fouten leiden.

MariaDB Server 10.3 voegt ondersteuning toe voor het proxyprotocol waarmee een verbinding zelf zijn host kan aanwijzen. Het protocol stelt dat wanneer een verbinding tot stand is gebracht, de client eerst (voordat hij reageert op de MySQL-handshake) een proxy-protocolheader moet verzenden. Deze header bevat de hostnaam waarvan de server zich moet voorstellen dat de verbinding afkomstig is in plaats van de echte hostnaam te gebruiken. Om veiligheidsredenen zijn proxy-headers alleen toegestaan ​​van adressen die worden vermeld in de servervariabele "proxy_protocol_networks". Met deze functie kunnen geselecteerde ip-adressen als proxy's fungeren zonder dat er daadwerkelijke gebruikersaccounts op de backend van de database staan. De header "PROXY TCP4 192.168.0.1 192.168.0.2 56324 443" instrueert de server bijvoorbeeld om de client te authenticeren alsof de client verbinding maakt vanaf 192.168.0.1.

Deze functie kan worden gebruikt om het beheer van gebruikersaccounts te vereenvoudigen bij gebruik van MaxScale 2.2 en MariaDB Server 10.3. Om de functie in MaxScale in te schakelen, voegt u de regel "proxy_protocol=on" toe aan een serverdefinitie in uw MaxScale-configuratiebestand (normaal gesproken moet dit aan alle serversecties worden toegevoegd).

Een voorbeeld van een MaxScale-serverdefinitie:

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

Wanneer MaxScale probeert een clientsessie op de server te maken, verzendt MaxScale eerst een proxyheader met de oorspronkelijke hostnaam van de client. Als het MaxScale IP wordt gevonden binnen de "proxy_protocol_networks" van de server, wordt de header gelezen en wordt de verbinding geverifieerd met behulp van het echte clientadres. Raadpleeg de serverdocumentatie voor meer informatie voor de serverinstelling.

Ervan uitgaande dat MaxScale IP "111.222.333.4" is, voegt u het volgende toe aan de [mysqld]-sectie van de serverconfiguratie:

proxy_protocol_networks = 111.222.333.4

Met deze instellingen hoeft een inkomende client "normal_user" geen vermelding te hebben voor host "111.222.333.4" in de mysql.user-tabel. Alleen een invoer voor de echte client-host is vereist.

Download MariaDB MaxScale 2.2 en MariaDB Server 10.3 als onderdeel van MariaDB TX 3.0, nu beschikbaar om te downloaden.


  1. Hoe de maximale verbindingen in postgre te verhogen?

  2. Lijst met NLS-parameters in Oracle Database

  3. Hoe de compatibiliteit van SQL Server-database controleren nadat sp_dbcmptlevel is verouderd?

  4. Hoe lange regels tekst in SQLite-resultaten te laten lopen