Далі наведено список команд, які, здається, працюють для створення нового користувача (входу) та надання доступу лише для читання для однієї вказаної таблиці на PostgreSQL.
Припустимо, що ці команди виконуються під час входу з достатніми привілеями (тобто postgres
вхід при встановленні за замовчуванням).
CREATE ROLE user_name NOSUPERUSER NOCREATEDB
NOCREATEROLE NOINHERIT LOGIN PASSWORD 'pwd' VALID UNTIL 'infinity';
Тепер я хочу надати select
таблицю tab_abc
на базу даних db_xyz
, так що це відбувається (база даних db_xyz
вибирається як поточна через PgAdmin або щось подібне):
grant select on tab_abc to user_name;
Питання: чи цього достатньо, чи має бути більше грантів ( можливо connect
, база даних usage
)?
Ці команди, здається, працюють для мене, але моя установка за замовчуванням має налаштування безпеки за замовчуванням. Які додаткові гранти потрібно додати, якщо адміністратор сервера налаштував більш високу безпеку?
Здається, мені не потрібно connect
ні надавати, ні usage
це є неявним під час надання select
? Це завжди так?