Я хочу создать изолированную среду SQL, которая позволит пользователям выполнять произвольные запросы SELECT
в базе данных PostGIS. По сути, я хочу разрешить пользователям доступ к psql
для воспроизведения.Разрешения, необходимые для безопасного выполнения произвольного sql
Очевидно, что это катастрофа безопасности, если разрешен доступ на запись. Как я могу создать систему таким образом, что запрашивая данные разрешено, но нет никакой разумной возможности пользователя:
- Компромата данные в базе данных
- Одерживающих более широкий доступ к серверу
- парализует систему с запросом наподобие
SELECT * from long_table, long_table, long_table, long_table, long_table, long_table, long_table
, который займет время жизни для выполнения
В вашем ответе, пожалуйста, будьте как можно более конкретными.
Он все равно может убить ваш ввод-вывод, и это всего лишь один запрос.Пожар 1 запрос в минуту, и в вашей базе данных все еще много проблем. –
Правда, но это, по крайней мере, останавливает одноразовые случайные (или просто мозговые) массовые плохие запросы, которые будут большинством проблем. У нас возникли дополнительные проблемы на любом сервере, у которого был добавлен этот параметр для пользователей, умеющих писать специальные запросы. –