メインコンテンツまでスキップ

SET DEFAULT ROLE

デフォルトロールの設定

説明

ユーザーがサーバーに接続する際にデフォルトでアクティブになるロールを設定します。

このコマンドはv3.0からサポートされています。

構文

-- 指定したロールをデフォルトロールとして設定します。
SET DEFAULT ROLE <role_name>[,<role_name>,..] TO <user_identity>;
-- ユーザーのすべてのロール、このユーザーに割り当てられるロールを含めて、デフォルトロールとして設定します。
SET DEFAULT ROLE ALL TO <user_identity>;
-- デフォルトロールは設定されませんが、ユーザーログイン後にパブリックロールが有効なままです。
SET DEFAULT ROLE NONE TO <user_identity>;

パラメータ

role_name: ロール名

user_identity: ユーザーのアイデンティティ

使用上の注意

個々のユーザーは自分自身のデフォルトロールを設定できます。user_admin は他のユーザーのデフォルトロールを設定できます。この操作を実行する前に、ユーザーがこれらのロールに既に割り当てられていることを確認してください。

SHOW GRANTS を使用して、ユーザーのロールをクエリできます。

現在のユーザーのロールをクエリします。

SHOW GRANTS FOR test;
+--------------+---------+----------------------------------------------+
| UserIdentity | Catalog | Grants |
+--------------+---------+----------------------------------------------+
| 'test'@'%' | NULL | GRANT 'db_admin', 'user_admin' TO 'test'@'%' |
+--------------+---------+----------------------------------------------+

例1: ユーザー test のデフォルトロールとして db_adminuser_admin のロールを設定します。

SET DEFAULT ROLE db_admin TO test;

例2: ユーザー test のすべてのロール、このユーザーに割り当てられるロールをデフォルトロールとして設定します。

SET DEFAULT ROLE ALL TO test;

例3: ユーザー test のすべてのデフォルトロールをクリアします。

SET DEFAULT ROLE NONE TO test;