Oracleでの権限(Privileges)は特定タイプのSQL実行、DBオブジェクトへアクセス出来る権限を言う。
※システム権限(Sysytem Privileges)とは?
-システム権限はユーザーがDBで特定作業を実施出来るようにする。
-権限のANYキーワードはユーザーがすべてのスキーマで権限を持つ事を意味する。
-GRANTコマンドはユーザーまたはROLEについて権限を付与出来る
-REVOKEコマンドは権限を回収できる。
※代表的なシステム権限
-CREATE SESSION:DBに接続できる権限
-CREATE ROLE:ORACLE DB役割を作成出来る権限
-CREATE VIEW:ビューの作成権限
-ALTER USER:作成したユーザーの定義を修正出来る権限
-DROP USER:作成したユーザーを削除する権限
■システム権限付与文
GRANT [ system_privilege | role ] TO [ user | role | PUBLIC ] [ WITH ADMIN OPTION ] -system_privilege:付与するシステム権限の名前 -role:付与するDB役割の名前 -user,role:付与するユーザー名と別DB役割名 -PUBLIC:システム権限またはDB役割をすべてのユーザーへ付与可能 -WITH ADMIN OPTION:権限を付与されたユーザーも自分の権限を他のユーザーまたはロールへ付与できるようになる
■システム権限付与例文
---SYS権限で接続する SQL> CONN sys/manager AS SYSDBA 接続されました。 ---scottユーザーへユーザー作成、修正、削除権限を付与し、 ---scottユーザーも他ユーザーへその権限を付与出来るように権限を付与 SQL> GRANT CREATE USER, ALTER USER, DROP USER TO scott WITH ADMIN OPTION; 権限付与が成功しました。 SQL>
■システム権限回収
REVOKE [ system_privilege | role ] FROM [ user | role | PUBLIC ]
■システム権限回収例文
---scottユーザーへ付与した作成、修正、削除権限を回収する SQL> REVOKE CREATE USER, ALTER USER, DROP USER FROM scott; 取消しが成功しました。 SQL>
■WITH ADMIN OPTIONで付与した権限の回収
WITH ADMIN OPTIONを使用してシステム権限を付与しても権限を回収する際は別々に回収しなければならない。
【解説】
1.DBAがSTORMへWITH ADMIN OPTIONでCREATE TABLEシステム権限を付与
2.STORMがテーブルを作成
3.STORMがCREATE TABLEシステム権限をSCOTTに付与
4.SCOTTがテーブルを作成
5.DBAがSTORMに付与したCREATE TABLE権限を回収
【結果】
-STORMのテーブルは存在するが、新しいテーブルを作成できる権限は無い
-SCOTTはテーブルが存在し、新しいテーブルを作成できるCREATE TABLE権限を持っている
0 件のコメント:
コメントを投稿