Как управлять подключениями MySQL в архитектуре микросервисов - PullRequest
0 голосов
/ 14 февраля 2019

У меня есть суть того, как подключиться к серверу MySQL, однако моя дилемма заключается в использовании паролей.Вот некоторые из вещей, на которые я смотрю.

  1. Архитектура будет представлять собой 1 базовую службу, которая на данный момент будет настроена как служба дайджест-проверки подлинности.Примечание. В будущем я также настрою его для аутентификации kerberos.
  2. Служба будет иметь схему, к которой она должна иметь доступ в MySQL.Микро-сервисы также будут иметь свои собственные схемы, к которым им также потребуется доступ.
  3. Первоначально база данных будет localhost, но в конечном итоге будет перемещена (в работе) на отдельный сервер.

Учитывая вышеизложенные требования, я не могу предоставлять пользователям сервисов, которые ограничены локальным хостом и не имеют связанных с ними паролей (и я не хотел бы, чтобы в случае взлома сервера).Так как я могу получить доступ к базе данных без использования паролей в виде простого текста (я не хочу, чтобы они хранились в коде)?

Может быть, я просто не понимаю чего-то, что могло бы сделать мою жизнь намного прощепоэтому я снова обращаюсь к мудрости многих здесь.Заранее спасибо!

Некоторые вещи, которые я мог бы упомянуть: я планирую использовать go-martini в качестве http-маршрутизатора, я хотел бы иметь возможность настроить OAuth-провайдер, мне нужно будет управлять пользовательскими сессиямии аутентификация (сейчас не так важно, как я пытаюсь получить основную часть настройки сервиса)

Редактировать : чтобы уточнить некоторую информацию;

  1. У меня нет AD, kerberos или какой-либо другой службы LDAP для использования, и мне будет сложно настроить их в данный момент на виртуальной машине, которую я использую для разработки.
  2. Служба не должна зависеть ни от одного из этих элементов, поскольку единый вход в систему является более поздним требованием в этом проекте.
  3. Строго говоря, он будет развернут в средах, где нет ни одного из этих доступных иэто не подлежит обсуждению.
  4. Я также специально занимаюсь разработкой сервисов в Go и клиентов в React.

Примечание: мне не нужно, чтобы кто-то исправлял MY вопрос.Я был бы признателен, если бы вы не изменили контекст моего вопроса, чтобы он соответствовал ответу, который вы хотите мне дать.Это не то, что представляет собой StackOverflow, это также довольно грубо.Спасибо.

...