Можно ли использовать AWS Redshift в качестве службы? - PullRequest
0 голосов
/ 28 июня 2019

Возможно ли использовать Redshift в качестве сервиса. Мое требование - предоставить клиенту доступ к его данным? Как я могу ограничить доступ на уровне клиента? Идентификатор клиента будет доступен в каждой таблице. Представление может использоваться как опция, но не выглядит практичным. Нужно ли создавать группу безопасности для каждого клиента? Любое ограничение группы безопасности, которое я могу иметь для кластера?

Ответы [ 2 ]

3 голосов
/ 28 июня 2019

Amazon Redshift представляет собой PostgreSQL 8.0. Поэтому Redshift предлагает такую ​​же безопасность пользователей, как PostgreSQL.

Вы бы CREATE USER, затем GRANT пользователю необходимые разрешения.

Использование Представления - хорошая идея - оно может ограничивать вывод в зависимости от пользователя.

См .: Предоставить доступ к подмножеству таблицы пользователю в PostgreSQL

Будьте очень осторожны с разрешениями, которые вы назначаете пользователям, чтобы они не могли видеть данные, связанные с другими пользователями, и не изменять никакую информацию.

Традиционно API ставится перед базами данных для применения дополнительной бизнес-логики , такой как ограничение количества запросов для уменьшения вероятности воздействия одного пользователя на других пользователей.

Группы безопасности не относятся к конкретным пользователям. Они позволяют сетевой трафик входить / выходить из кластера, но не могут идентифицировать пользователя.

0 голосов
/ 28 июня 2019

Для такого разделения данных я могу сказать, что наилучшим способом является предоставление представлений для пользователя. Если количество пользователей является разумным числом. Затем вы можете предоставить разрешения SELECT для этих представлений только для клиента. Поскольку вы подключаетесь к базе данных с использованием пользователей базы данных, это не тема, связанная с группами безопасности

...