ロール とは役割を意味します。 オブジェクト権限システム権限を個別のユーザに与えるのではなく、ロールに与えることができます。 ロールをユーザに与えることによって、ユーザをグループごとに管理できます。 ロールは複数のユーザに与えることができます。また、ユーザは複数のロールを与えられることがあります。

目次

ロールとは

ロールとは、ユーザの役割を示すデータベース・オブジェクトである。システム権限やオブジェクト権限を直接ユーザに付与すると権限管理が煩雑になるため、ロールを介して権限を付与できる。

たとえば、権限をユーザに直接付与したときの関連は次のようになる。

権限をユーザに付与

権限をロールに付与して、そのロールをユーザに付与すると次のようになる。

権限をロールに付与

ロールにロールを付与すると次のようになる。

ロールにロールを付与

ロールは非スキーマオブジェクトである。

定義済みのロール

Oracleには事前に定義済みのロールがあります。

定義済みのロール
ロール 説明
CONNECT エンドユーザー向けのロールです。CREATE SESSIONやCREATE TABLE、CREATE VIEWなどのシステム権限が与えられています。
RESOURCE 開発者向けのロールです。CREATE TRIGGERやCREATE PROCEDUREなどのシステム権限が与えられています。CONNECTロールに含まれているシステム権限は含まれていません。
DBA データベース管理者向けのロールです。すべてのシステム権限がWITH ADMIN OPTION付きで与えられています。

これらの定義済みのロールは互換性のために残されているだけで、使用は推奨されていません。

ロールに関するSQL

ロールに関するSQL文を示す。

ロールに関するSQL
SQL文 説明
CREATE ROLE ロールを作成する。
ALTER ROLE ロールを変更する。
DROP ROLE ロールを削除する。
GRANT ロールに権限を付与したり、ユーザにロールを付与する。
REVOKE ロールから権限を剥奪したり、ユーザからロールを剥奪する。

ロールに関する権限

ロールに関する権限には、次のものがある。

システム権限 説明
CREATE ROLE 自分のスキーマにロールを作成できる。
ALTER ANY ROLE 任意のスキーマにロールを作成できる。
DROP ANY ROLE 任意のスキーマにあるロールを変更できる。
GRANT ANY ROLE 任意のロールを付与できる。
SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送