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