Previous: grant
Up: データベース・ユーザーの権限の設定
Previous Page: grant

権限の剥奪 revoke

テーブル単位での権限設定では、不十分な場合には、項目毎に権限の設定が出来る。次 の例は、テーブル「利用者台帳」のうち名前の部分だけを読みとり可能にして、住所や 電話番号は読めないようにする設定である。

例 67: 権限の剥奪と、項目毎の権限設定

revoke all
	on     利用者台帳
	from   public

grant select on 利用者台帳(氏名_姓,氏名_名) to public

revokeは、grantの逆の命令で、権限を奪うというものである。grant?toと、revoke? fromとの違いはあるが、基本的な構文は同じである。 この例では、grant文のテーブルの指定部分で、

on     table名(項目名リスト...)

の形で、項目に対する権限設定がなされているのに注目して欲しい。

この例では、まず、利用者台帳に対するすべての権限を奪ってから、続いて、このテー ブルの指定した二つの項目に対して、selectの権限をユーザー全員に認めている。ここ で大事なことは、権限の設定では、一番最近の設定が有効であり、そうした意味では、 命令の順番が重要であるということである。(もしも、このrevokeとgrantの命令を逆に して、grantを先に実行してrevokeを後で実行したならば、同じ命令でも、結果は全く 違ったものになる。すなわち、このテーブルに対する一切のアクセス権限は失われてい ることになる。)

maruyama@wakhok.ac.jp
1995年02月10日 (金) 00時49分16秒 JST