🎉

【Bronze DBA】権限まとめ

2024/03/05に公開

Bronze DBA の範囲でユーザーの権限についてまとめました。

権限とは

Oracleデータベースのユーザーは何をするにも「権限」が必要。
権限にはシステム権限オブジェクト権限の2種類がある。

権限 内容
システム権限 データベースに対する操作 ・データベースへのログイン
・表の作成
・表領域の作成
・ユーザーの作成など
オブジェクト権限 オブジェクトに対する操作 ・検索
・行の挿入
・値の更新
・行の削除など
※自分が所有するオブジェクトに対しては全権限が自動的に付与される

権限の付与方法

権限を付与するには GRANTコマンド、
権限を剥奪するには REVOKEコマンドを使用する。

【権限を付与するための権限】

GRANTコマンドにはADMINオプションGRANTオプションがある。
ADMINオプション 付与されたシステム権限を別のユーザーに付与できる権限
GRANTオプション 付与されたオブジェクト権限を別のユーザーに付与できる権限

②全ての権限を他のユーザーに付与できる権限が存在する。
GRANT ANY PRIVILEGE システム権限
全てのシステム権限を他のユーザーに付与できる権限

GRANT ANY OBJECT PRIVILEGE オブジェクト権限
全てのオブジェクト権限を他のユーザーに付与できる権限

GRANT <権限名> TO <ユーザー名>;
REVOKE <権限名> FROM <ユーザー名>;

ロールとは

ロールとは、複数の権限をまとめたもの。
まとめることで、権限の付与が簡素化される。

ロールの付与や剥奪も権限と同様に GRANT REVOKEコマンドで実行する。
構文についても権限と同様の形。

事前定義済みロール

主なOracleデータベースが自動的に作成するロールは以下の通り。

ロール 内容
CONNECT データベースへの接続権限のみ。
Oracle Enterprise Managerでユーザー作成時に自動的に付与。
RESOURCE スキーマオブジェクトの作成、変更、削除が可能となるロール。
DBA デフォルトでSYS, SYSTEMユーザーに付与されるロール。
全システム権限が含まれる。
インスタンスの起動/停止を含まない。
SELECT_CATALOG_ROLE データディクショナリ内のオブジェクトに対するSELECT権限。
EM_EXPRESS_BASIC EM Expressに接続して読み取り専用で表示する権限。
EM_EXPRESS_ALL EM Expressに接続して、全機能を利用できる権限。
EM_EXPRESS_BASICを含む。

管理権限

SYSDBA権限、SYSOPER権限は管理権限と呼ばれる。
※管理権限はシステム権限の一部だが、特別な働きを持つので、別途「管理権限」として紹介する。

これらの権限では、インスタンスの起動が行える
→ データベースがオープンしていない状態で、データベースへの接続が実行できる。

権限 内容
SYSDBA権限 ・インスタンスの起動と停止を含む
・バックアップとリカバリを含む
・全ての管理操作を実行可能
・全てのユーザーのデータにアクセスできる
・SYSユーザーで接続
SYSOPER権限 ・インスタンスの起動と停止を含む
・バックアップとリカバリを含む
・ほぼ全ての管理操作を実行可能
・ユーザーのデータにアクセスできない
・PUBLICユーザーで接続

留意事項

SYSユーザー
SYSDBA権限(管理権限)を持つ。
DBAロールを持つ。
管理権限を持つので、インスタンス停止時にアクセス可能。

SYSTEMユーザー
DBAロールを持つ。
管理権限を持たないので、一般ユーザー扱いとなる(インスタンス停止時にアクセス不可)。

※SYSDBA権限とは
データベースの作成、起動、停止、バックアップ、リカバリなどを含む全権限
データベースがオープンでない時でもアクセス可能。
ログイン時に AS SYSDBA と明記が必要。
デフォルトのスキーマ(SYS)に接続する。

※DBAロールとは
ユーザーの作成、権限付与、ロールの作成、付与、スキーマの管理機能などが実行できる。
データベースの起動・停止は含まれない。
デフォルトでSYS、SYSTEMユーザーに付与される。

参考文献

『オラクルマスター教科書 bronze dba oracle database fundamentals』

https://docs.oracle.com/cd/E57425_01/121/ADMQS/GUID-2033E766-8FE6-4FBA-97E0-2607B083FA2C.htm

https://docs.oracle.com/cd/E57425_01/121/ADMQS/GUID-289A4BF6-F703-4ED5-8357-89F651A6D1DE.htm

Discussion