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