MariaDB
 sql >> база данни >  >> RDS >> MariaDB

Опростете управлението на потребителски акаунт с MariaDB MaxScale 2.2 и MariaDB Server 10.3

Конфигурирането на потребителски акаунти на база данни за MariaDB MaxScale и бекенд клъстер обикновено изисква дублиране на усилия. Това е така, защото запис на акаунт трябва да съществува както за реалния клиентски хост, така и за хоста MaxScale. MaxScale удостоверява входящите потребители спрямо потребителския запис с реалния клиентски хост. Когато MaxScale създава сесията за маршрутизиране, той използва кодирането на потребителското име и паролата на клиента, за да удостовери клиента пред бекенда. Бекендът вижда връзката, идваща от машината, работеща с MaxScale. Освен ако името на хоста не използва заместващи знаци (ниска сигурност), са необходими записи и за двата хоста. Ако потребителските акаунти се променят често, това дублиране може да стане тромаво и да доведе до грешки.

MariaDB Server 10.3 добавя поддръжка за прокси протокола, който позволява на връзката да определя самостоятелно своя хост. Протоколът гласи, че когато е установена връзка, клиентът трябва първо (преди да отговори на ръкостискането на MySQL) да изпрати заглавка на прокси протокол. Тази заглавка съдържа името на хоста, от което сървърът трябва да си представи връзката, вместо да използва истинското име на хост. От съображения за сигурност прокси заглавките са разрешени само от адреси, изброени в променливата на сървъра „proxy_protocol_networks“. По този начин функцията позволява избрани ip адреси да действат като прокси сървъри, без да имате действителни потребителски акаунти в бекенда на базата данни. Като пример, заглавката „PROXY TCP4 192.168.0.1 192.168.0.2 56324 443“ инструктира сървъра да удостовери клиента, сякаш клиентът се свързва от 192.168.0.1.

Тази функция може да се използва за опростяване на управлението на потребителски акаунт при използване на MaxScale 2.2 и MariaDB Server 10.3. За да активирате функцията в MaxScale, добавете реда „proxy_protocol=on“ към дефиниция на сървъра във вашия конфигурационен файл на MaxScale (обикновено това трябва да се добави към всички секции на сървъра).

Пример за дефиниция на сървър MaxScale:

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

Когато MaxScale се опита да създаде клиентска сесия на сървъра, MaxScale първо изпраща прокси заглавка с оригиналното име на хост на клиента. Ако IP MaxScale е намерен в рамките на „proxy_protocol_networks“ на сървъра, заглавката се чете и връзката се удостоверява с помощта на реалния клиентски адрес. За настройките на сървъра вижте документацията на сървъра за повече информация.

Ако приемем, че IP адресът на MaxScale е „111.222.333.4“, добавете следното към секцията [mysqld] на конфигурацията на сървъра:

proxy_protocol_networks = 111.222.333.4

С тези настройки входящият клиент “normal_user” не трябва да има запис за хост “111.222.333.4” в таблицата mysql.user. Изисква се само запис за истинския клиентски хост.

Вземете MariaDB MaxScale 2.2 и MariaDB Server 10.3 като част от MariaDB TX 3.0, налични за изтегляне сега.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да инсталирате и защитите MariaDB 10 в CentOS 7

  2. Превключване на база данни и отказ за уебсайтове на Drupal, използващи MySQL или PostgreSQL

  3. Разлика между SYSDATE() и NOW() в MariaDB

  4. Внедряване в множество облаци за репликация на MariaDB с помощта на WireGuard

  5. Как да открием дали дадена стойност съдържа поне една цифрова цифра в MariaDB