ロールを作成した後、他のロールに委譲することもできます。
任意のロールを別のロールに委譲できますが、自身には委譲できません。また、循環的に委譲することもできません。
前提条件
ロールを他のロールに委譲する場合、現在のユーザーは委譲されるロールを所有している必要があり、ADMIN OPTION 権限を持っているか、GRANT ANY ROLE 権限を持っている必要があります。
現在持っている権限を確認するには、ユーザー権限の確認を参照してください。該当する権限がない場合は、管理者に連絡し、追加してもらってください。ユーザー権限の追加に関する操作については、直接権限付与を参照してください。現在所有しているロールを確認するには、ロールの確認を参照してください。
ステートメントと例
ロールを委譲するSQLステートメントは以下のとおりです:
GRANT role_name1 TO role_name2 [WITH ADMIN OPTION];
ステートメントの使用方法:
role_name1:他のロールに委譲するロール名。複数のロールを1つのロールに委譲する場合は、ロール名を半角カンマ(,)で区切ります。1つのロールを複数のロールに同時に委譲することができます。また、複数のロールを1つのロールに同時に委譲することも、複数のロールを複数のロールに委譲することもできます。
WITH ADMIN OPTION:指定されたロールが再委譲を許可し、権限剥奪時にカスケードしないことを示します。
例:ロール role2 をロール role1 に委譲します。
obclient> GRANT role2 TO role1;
Query OK, 0 rows affected
GRANT ステートメントの詳細については、GRANTを参照してください。