第4章 リレーショナルデータベース言語SQL 4.1 4.2 4.3 4.4 4.5 4.6 背景と基本概念 データ定義 アクセス権限 問合せ データ更新 アプリケーションからのデータ操作 4.3 アクセス権限 データセキュリティを実現するための機能 ①表の定義者は「表の所有者」すべてのアクセ ス権限を持つ。 ②表の所有者は、特定の利用者にアクセス権限 を付与(GRANT)したり取り消す(REVOKE)こ とができる。 Grant : 授与する Revoke : 撤回する。取り消す。 1.権限の付与(GRANT) 認可識別子で指定される利用者に 可能なアクセス(動作)を指定 【書き方】 GRANT 権限 ON 表名 TO 権限受領者 [,権限受領者・・・][WITH GRANT OPTION] 権限:{ALL PRIVILEGES | 動作 [, 動作・・・] } 動作:[SELECT |DELETE|INSERT [列名[,列名・・・]| UPDATE [列名[,列名・・・] |REFERENCES [列名[,列名・・・]|} 権限受領者:{PUBLIC|認可識別子 } Privilege(プリヴァリッジ):特権 WITH GRANT OPTION : 権限を付与された利用者がさらに他の利用者にアクセス権を 再付与できる権限を与えることを示す。 権限の付与の例 ①表「社員」を処理するためのすべての権限を利用者Aに付与する。 GRANT ALL PRIVILEGES ON 社員 TO 利用者A ②表「社員」を参照する権限を利用者Bに与える。 GRANT SELECT ON 社員 TO 利用者B ③表「社員」への追加と削除の権限を利用者Cに与える。 GRANT INSERT, DELETE ON 社員 TO 利用者C ④表「社員」の課IDを参照する権限を利用者Dに与える。 GRANT UPDATE(課ID) ON 社員 TO 利用者D ⑤表「社員」に関するすべての権限および権限再付与の権限を利用者E に与える。 GRANT ALL PRIVILEGES ON 社員 TO 利用者E WITH GRANT OPTION 2.権限の取消し(REVOKE) 既に付与した権限を取り消す。 ただし、自分が付与した範囲内に限定 【書き方】 REVOKE [GRANT OPTION FOR] 権限 ON 表名 FROM 権限受領者 [,権限受領者・・・]削除動作 削除動作:{RESTRICT | CASCADE } Restrict(リストリクト):限定する。制限する。 Cascade (キャスケイド):滝。転じて連鎖的に・・・すること。 CASCADEで取り消すと、WITH GRANT OPTIONで派生した他からの権限の 許可/拒否されている権限も取り消される。 また、WITH GRANT OPTIONで許可されている権限をCASCADEで取り消す と、その権限のGRANTおよびDENYの両方が取り消される。 権限取消しの例 ①表「社員」を処理するためのすべての権限を利用者Aに付与したが、 それをすべて取り消す。 REVOKE ALL PRIVILEGES ON 社員 FROM 利用者A RESTRICT ②表「社員」への追加と削除の権限を利用者Cに与えたが、削除の権限 を取り消す(追加の権限は残す)。 REVOKE DELETE ON 社員 FROM 利用者C RESTRICT ⑤表「社員」に関するすべての権限および権限再付与の権限を利用者E に与えたが、再付与の権限を取り消す(利用者Eが再付与した利用者 の権限は放棄される)。 REVOKE GRANT OPTION ALL PRIVILEGES ON 社員 FROM 利用者E RESTRICT (注)CASCADEはどこまで影響が及ぶか明示的でないので、 使わないほうが無難
© Copyright 2024 ExpyDoc