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

Forenkle brugerkontostyring med MariaDB MaxScale 2.2 og MariaDB Server 10.3

Konfiguration af databasebrugerkonti til MariaDB MaxScale og en backend-klynge har typisk krævet en dobbelt indsats. Dette skyldes, at der skal eksistere en kontopost for både den rigtige klientvært og MaxScale-værten. MaxScale godkender indgående brugere i forhold til brugerindgangen med den rigtige klientvært. Når MaxScale opretter routing-sessionen, bruger den klientens brugernavn og adgangskode-scramble til at autentificere klienten til backend. Backend ser forbindelsen, der kommer fra maskinen, der kører MaxScale. Medmindre værtsnavnet bruger jokertegn (lav sikkerhed), kræves indtastninger for begge værter. Hvis brugerkonti ofte ændres, kan denne duplikering blive besværlig og føre til fejl.

MariaDB Server 10.3 tilføjer understøttelse af proxy-protokollen, som tillader en forbindelse selv at udpege sin vært. Protokollen angiver, at når en forbindelse er blevet etableret, skal klienten først (før den reagerer på MySQL-håndtrykket) sende en proxyprotokolheader. Denne header indeholder det værtsnavn, som serveren skal forestille sig, at forbindelsen stammer fra i stedet for at bruge det rigtige værtsnavn. Af sikkerhedsmæssige årsager er proxy-headere kun tilladt fra adresser, der er angivet i servervariablen "proxy_protocol_networks". Funktionen tillader således udvalgte ip-adresser at fungere som proxyer uden at have egentlige brugerkonti på databasens backend. Som et eksempel instruerer overskriften "PROXY TCP4 192.168.0.1 192.168.0.2 56324 443" serveren om at godkende klienten, som om klienten oprettede forbindelse fra 192.168.0.1.

Denne funktion kan bruges til at forenkle brugerkontoadministration, når du bruger MaxScale 2.2 og MariaDB Server 10.3. For at aktivere funktionen i MaxScale skal du tilføje linjen "proxy_protocol=on" til en serverdefinition i din MaxScale-konfigurationsfil (denne skal typisk føjes til alle serversektioner).

Et eksempel på en MaxScale-serverdefinition:

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

Når MaxScale forsøger at oprette en klientsession på serveren, sender MaxScale først en proxy-header med klientens oprindelige værtsnavn. Hvis MaxScale IP'en findes i "proxy_protocol_networks" på serveren, læses headeren, og forbindelsen godkendes ved hjælp af den rigtige klientadresse. For serverindstillingen, se serverdokumentationen for at få flere oplysninger.

Forudsat at MaxScale IP er "111.222.333.4", skal du tilføje følgende til [mysqld]-sektionen af ​​serverkonfigurationen:

proxy_protocol_networks = 111.222.333.4

Med disse indstillinger behøver en indkommende klient "normal_user" ikke at have en post for værten "111.222.333.4" i mysql.user-tablen. Kun en indtastning for den rigtige klientvært er påkrævet.

Få MariaDB MaxScale 2.2 og MariaDB Server 10.3 som en del af MariaDB TX 3.0, tilgængelig til download nu.


  1. Hvordan kan jeg undslippe kantede parenteser i en LIKE-klausul?

  2. Hvordan sletter man duplikerede poster?

  3. Få en liste over databasepostkonti i SQL Server (T-SQL)

  4. Hvordan CRC32 virker i MariaDB