以下は、新しいユーザー(ログイン)を作成し、PostgreSQL上の指定された1つのテーブルに読み取り専用アクセスを許可するように機能するように見えるコマンドのリストです。
これらのコマンドは、ログイン時に十分な権限で実行されると想定します(つまり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?いつもそうですか?