Poniżej znajduje się lista poleceń, które wydają się działać, aby utworzyć nowego użytkownika (login) i przyznać dostęp tylko do odczytu dla jednej określonej tabeli na PostgreSQL.
Załóżmy, że polecenia te są wykonywane podczas logowania z wystarczającymi uprawnieniami (tj. postgresLogowanie w domyślnej instalacji).
CREATE ROLE user_name NOSUPERUSER NOCREATEDB
NOCREATEROLE NOINHERIT LOGIN PASSWORD 'pwd' VALID UNTIL 'infinity';
Teraz chcę przyznać selecttabelę tab_abcw bazie danych db_xyz, więc db_xyzproszę bardzo (baza danych jest wybierana jako bieżąca przez PgAdmin lub coś takiego):
grant select on tab_abc to user_name;
Pytanie brzmi: czy jest to wystarczające, czy nie powinno być więcej grantów (baza danych connect, usagebyć może)?
Te polecenia wydają się działać dla mnie, ale moja domyślna instalacja ma domyślne ustawienia zabezpieczeń. Jakie dodatkowe granty należy dodać, jeśli administrator serwera skonfigurował silniejsze zabezpieczenia?
Wygląda na to, że nie muszę udzielać, connectani usage- czy jest to implikowane przy udzielaniu select? Czy zawsze tak jest?