ロールは、データベース オブジェクトに対する権限を定義します。データベース管理者は、さまざまな職務および責任に関するさまざまなロールを作成し、データベース オブジェクトに対する特定の権限をそのロールに与えてから、そのロールに対するメンバーシップをユーザーに付与できます。ロールのメンバーになっているユーザーは、そのロールが権限を持っているすべてのオブジェクトにアクセスできます。自身に付与されたロールを持つロールを他のロールに付与することはできません。
以下の権限をロールに付与することはできません。
- CREATE DATABASE
- CREATE ROLE
- CREATE PROFILE
- CREATE USER
- DROP DATABASE
- DROP ROLE
- DROP PROFILE
- DROP USER
- CTCONTROL
データベースまたはPUBLICに対してロールを付与することはできません。
ロールのメンバーシップをユーザーまたは他のロールに与えるには、GRANT (ロール形式)文を使用する必要があります。
詳細は、GRANT (ロール形式)を参照してください。
以下のリクエストは、ロールに権限を与えます。この例では、financeというロールに、departmentデータベースの下にあるpersonnelテーブルからデータをSELECTする権限を与えます。
GRANT SELECT ON personnel.department TO finance;
Financeロールに対するメンバーシップを与えられているすべてのユーザーは、ユーザーに対してそのロールが活動化されると、personnelデータベース内のdepartmentテーブルからデータをSELECTする権限を継承します。