ORACLEユーザと権限のまとめ
管理用ユーザ
- SYS
- データベースの起動/停止を含むすべての操作を実行できる管理用ユーザ
- SYSDBA権限(ロール)が付与されている
- 削除不可
- SYSTEM
- データベースの起動/停止などの一部を除き、ほぼすべての操作を実行できる管理用ユーザ
- バックアップとリカバリもできない
- SYSDBA権限(ロール)は付与されていない
- 削除不可
権限とロール
権限
-
システム権限(データベースに対して、どのような操作を許可するか)
- CREATE SESSION
- CREATE TABLE
- CREATE TABLESPACE
- CREATE USER
-
オブジェクト権限(他のユーザが所有する特定のオブジェクトに対して、どのような操作を許可するか)
- SELECT
- INSERT
- UPDATE
- DELETE
-
WITH ADMIN OPTION句
- 他のユーザに「その」システム権限を付与
-
GRANT ANY PRIVILEGE
- 他のユーザに「すべての」システム権限を付与
-
WITH GRANT OPTION句
- 他のユーザに「その」オブジェクト権限を付与
-
GRANT ANY OBJECT PRIVILEGE
- 他のユーザに「すべての」オブジェクト権限を付与
ロール
- 複数の権限を1つにグループ化したもの
- ロールの変更はそのロールが付与済のユーザにも反映される
- ロールにロールを付与する事もできる
DDL文
CREATE ROLE <ロール名>;
DROP ROLE <ロール名>;
GRANT <権限> TO <ロール名>;
REVOGE <権限> FROM <ロール名>;
GRANT <ロール名> TO <ユーザ名>;
REVOGE <ロール名> FROM <ユーザ名>;
管理権限
- SYSDBA権限
- 「インスタンスの起動と指定」「バックアップとリカバリ」を含む全ての管理操作を実行可能
- すべてのユーザのデータにアクセス可能
- SYSユーザで接続される
- SYSOPER権限
- 「インスタンスの起動と停止」「バックアップとリカバリ」を含む管理操作を実行可能。ただし、「データベースの作成と削除」「不完全リカバリ」は実行不可。
- ユーザのデータにアクセス不可
- PUBLICユーザで接続される
権限分析
- DBMS_PRIVILEGE_CAPTUREパッケージ
- 全データベース
- ロール
- コンテキスト
- ロールとコンテキスト