Предоставить доступ к сторонней лямбда-функции для записи в мой Redshift - PullRequest
0 голосов
/ 21 января 2020

У меня есть эта сторонняя компания, которая разработала решение, которое в настоящее время записывает некоторые данные в Redshift, размещенный их учетной записью с использованием лямбда-функции X pe, теперь мне нужно предоставить доступ к этой лямбда-функции X для записи в собственное красное смещение моим аккаунтом.

Как мы можем сделать это?

По тому, что я искал до этого, я думаю, что это касается роли IAM, но я не уверен.

Заранее спасибо

1 Ответ

0 голосов
/ 22 января 2020

Простейшим способом будет создание имени пользователя базы данных, которое может использовать сторонний пользователь:

  • Используйте команду CREATE USER , чтобы создать нового пользователя базы данных, с указанный пароль
  • Используйте GRANT и REVOKE , чтобы назначить минимальный уровень необходимых разрешений для нового пользователя (например, можно обновлять только определенные c таблицы, нельзя запрашивать любые другие таблицы)
  • Предоставьте стороннему пользователю имя пользователя и пароль для использования в их лямбда-функции
  • Настройте Группа безопасности в кластере Redshift, чтобы разрешить доступ к диапазон лямбда-адресов , используемый в регионе, где третье лицо выполняет свою функцию Lambda - это не идеально, потому что оно все еще оставляет группу безопасности открытой для широкого спектра атак, но это лучше, чем оставляя его общедоступным

Однако, с точки зрения безопасности, не следует разрешать каким-либо внешним сторонам направлять Доступ к вашей базе данных . Там может быть потенциальный доступ к конфиденциальной или личной информации, которая может просочиться таким образом. Более безопасная архитектура, чем описанная выше, - это то, что сторонние отправляют свои данные в вашу систему для обработки, а не имеют прямой доступ к вашей базе данных.

Некоторые примеры:

  • Сторонний поставщик может загрузить файл в корзину Amazon S3 , который затем может вызвать функцию Lambda в вашей учетной записи для загрузки данных в Redshift, или
  • Данные могут быть отправлены в поток Amazon Kinesis (подходит для непрерывной загрузки данных) или Amazon SQS , и функция Lambda в вашей учетной записи может затем загрузить эти данные в Redshift, или
  • Используйте API Gateway для создания интерфейса, через который сторонние поставщики могут отправлять свои данные, который затем запускает функцию Lambda в вашей учетной записи для загрузки эти данные в Redshift
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...