[pgsql-jp: 41099] Re: postgresユーザーのREVOKEについて

YAMAMURA Shingo ymrsong @ gmail.com
2012年 4月 26日 (木) 14:16:46 JST


山村です。

早速の回答ありがとうございます。

> 権限の剥奪は、権限を与えたユーザにしかできません。なので、SET ROLEで権限を与えたユーザに成り代わってREVOKEしてください。
>
> SET ROLE dbaccount_operator;
> REVOKE SELECT ON ALL TABLES IN SCHEMA scm FROM zzz_test_user;
> RESET ROLE;

なるほど、権限の剥奪はたとえスーパーユーザーでもできないんですね。
SET ROLE は、こういう風に使うんですね。
大変勉強になりました。

ありがとうございます。

2012年4月26日13:17 Hiroki Kataoka <kataoka @ interwiz.jp>:
> 片岡です。
>
> 権限の剥奪は、権限を与えたユーザにしかできません。なので、SET ROLEで権限を与えたユーザに成り代わってREVOKEしてください。
>
> SET ROLE dbaccount_operator;
> REVOKE SELECT ON ALL TABLES IN SCHEMA scm FROM zzz_test_user;
> RESET ROLE;
>
> 2012年4月26日12:28 YAMAMURA Shingo <ymrsong @ gmail.com>:
>> はじめまして。山村と申します。
>> postgresユーザーのREVOKEの使い方について質問させてください。
>>
>> スーパーユーザーのpostgresが、ほかのアカウントで作成した別ユーザーのテーブルアクセス権限を
>> 取り上げたいのですが、そのような事はできますでしょうか?
>>
>>
>> http://www.postgresql.jp/document/9.1/html/sql-revoke.htmlには「スーパーユーザがGRANTや
>> REVOKEコマンドを発行した場合、そのコマンドは、対象のオブジェクトの所有者によって発行され
>> たものであるかのように動作します。・・・・ただし、この場合は上述のCASCADEを使用する必要が
>> あります。」とあったので、できると仮定して以下の手順を試してみましたがダメでした。
>>
>> 確認してみた手順(各ステップはpgAdmin1.14.2で接続しなおして実行しています。Postgresは9.1.3):
>>
>> 1. postgresアカウントで実行
>>    CREATE SCHEMA scm;
>>    CREATE TABLE scm.tblA(v integer);
>>
>>    -- dbaccount_operator 追加
>>    CREATE ROLE dbaccount_operator WITH PASSWORD 'abc' CREATEROLE LOGIN;
>>    GRANT USAGE ON SCHEMA scm TO dbaccount_operator WITH GRANT OPTION;
>>    GRANT SELECT ON ALL TABLES IN SCHEMA scm TO dbaccount_operator
>> WITH GRANT OPTION;
>>
>> 2. dbaccount_operatorアカウントで実行
>>    -- zzz_test_user 追加
>>    CREATE ROLE zzz_test_user WITH PASSWORD '123' LOGIN;
>>    GRANT USAGE ON SCHEMA scm TO zzz_test_user;
>>    GRANT SELECT ON ALL TABLES IN SCHEMA scm TO zzz_test_user;
>>
>> 3. postgresアカウントで実行
>>    -- zzz_test_user からscmにある全テーブルからSELECT権限を取り上げ。
>>    REVOKE SELECT ON ALL TABLES IN SCHEMA scm FROM zzz_test_user CASCADE;
>>
>> 3番目の手順で"クエリーは、21 ミリ秒で結果なしでうまく帰りました。"とでるのですが、\dpコマンド確認して
>> みると取り上げられていませんでした。
>> 念のため、dbaccount_operator アカウントで3)を実行すれば取り上げることはできたことは確認しました。
>>
>> ご教授お願い致します。
>>
>
>
>
> --
> Hiroki Kataoka


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