[pgsql-jp: 37361] Re: システムテーブルの権限設定

Kiyoshi Mizuno kiyoshi_mizuno @ mail.toyota.co.jp
2006年 7月 27日 (木) 14:29:08 JST


水野です。

> -----Original Message-----
> 初めまして。後藤と申します。
(中略)
> そこで、
> pg_XXXXXのようなシステムテーブルも参照できないようにするには、
> どうのように設定すれば宜しいでしょうか?
> 
> 権限を剥奪すれば良いと考え、
> 
> REVOKE SELECT ON pg_XXXXX FROM ユーザ名

「システムカタログへのアクセス権を削除して大丈夫なのか?」という不安がよぎりますが、
手段としてはREVOKEコマンドについて、7.4.6のマニュアルで

 個々のユーザはすべて、ユーザに直接許可された権限、ユーザが現在属しているグループに
 許可された権限、そして、PUBLIC に許可された権限を合わせた権限を持っていることに
 注意して下さい。従って、例えば、PUBLIC から SELECT 権限を取り上げることは、必ずしも
 そのオブジェクトに対する SELECT 権限をすべてのユーザが失うことを意味しません。直接、
 あるいは、グループ経由で許可されたユーザは、その権限を持ち続けます。 

と書いてあります。
ですのでご所望の事を実現するには特定のユーザ名だけでなく、そのユーザが属するグループ、
PUBLICすべてを対象にしてSELECT権限削除をしなければならないのではないでしょうか。




pgsql-jp メーリングリストの案内