Как ограничить доступ к экземпляру RDS, даже если назначен публичный адрес RDS - PullRequest
0 голосов
/ 26 декабря 2018

У меня есть один экземпляр RDS, который является mysql (по умолчанию в VPC и общедоступный IP-адрес назначен).Публичный адрес RDS используется для моей лямбда-функции, а также для прямого доступа через mysql workbench.

Я знаю использование группы безопасности для блокировки и белого списка для моего настраиваемого IP-адреса при прямом доступе через mysql workbench.Однако это запрещает моей лямбде доступ к RDS из-за ограниченного IP-адреса.

Ранее я пытался поместить лямбду в одну группу безопасности и разрешить вход в группу безопасности RDS для группы безопасности лямбда.Это хорошо работает для разрешения как RDS для лямбда-функции и прямого доступа.Проблема в том, что моя лямбда-функция теряет подключение к Интернету для использования aws-sdk для вызова ресурсов aws других пользователей.Может быть, требуется использовать шлюз NAT?

Любая рекомендация: Как защитить мой ресурс RDS, разрешив только настраиваемый IP-адрес и мою лямбда-функцию?и моя лямбда-функция позволяет вызывать ресурс aws другого через API.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 26 декабря 2018

Ваша оптимальная конфигурация будет:

  • Экземпляр RDS в VPC
  • Лямбда-функция в частной подсети того же VPC
  • Шлюз NAT в общедоступной подсети VPC
  • Группа безопасности в лямбда-функции (Lambda-SG)
  • Группа безопасности в экземпляре RDS, которая разрешает входящие соединения с Lambda-SG (по имени, а не по IP-адресу)

Функция Lambda может получить доступ к Интернету, только если она не настроена на использование VPC или если VPC имеет шлюз NAT, который может перенаправлять запросы в Интернет.

Для лучшей безопасности обычно рекомендуется размещать базу данных в частной подсети.Если вы хотите подключиться к нему из Интернета, вы можете использовать переадресацию порта SSH через сервер Bastion в общедоступной подсети.Однако я подозреваю, что вы достаточно счастливы, сохраняя свой экземпляр RDS в общедоступной подсети.

0 голосов
/ 26 декабря 2018

AWS недавно представила политики IAM для RDS connect .Это можно использовать для предоставления доступа из Lambda.

Примечание. Вам потребуется включить аутентификацию IAM для базы данных.

...