Права по умолчанию для новых пользователей в публичной схеме? - PullRequest
0 голосов
/ 08 ноября 2018

Я только что создал базу данных с дополнительной application схемой.

А для наших приложений Java Spring Boot я создал новую роль со следующими сценариями SQL для настройки привилегий:

CREATE USER app_role WITH ENCRYPTED PASSWORD '#########';

GRANT ALL ON SCHEMA application TO app_role;

Теперь я ожидал, что смогу создавать и удалять таблицы только в схеме application при входе в систему с этой ролью.

Однако я также могу создавать и изменять таблицы в схеме public.

Существуют ли какие-либо привилегии по умолчанию для схемы public?

Почему я могу создавать таблицы в схемах, которым я не предоставлял никаких привилегий?

1 Ответ

0 голосов
/ 08 ноября 2018

Схема public играет особую роль в PostgreSQL, как описывает документация .

Если вы не хотите этого (и это может быть проблемой безопасности), вы можете либо REVOKE привилегию CREATE, либо даже вообще отбросить схему.

...