ロールの作成

このステートメントは、ロールベースのアクセス制御の一部としてユーザーに割り当てることができる新しいロールを作成します。

概要

CreateRoleStmt
CREATEROLEIfNotExistsRoleSpec,
IfNotExists
IFNOTEXISTS
RoleSpec
Rolename

root人のユーザーとして TiDB に接続します。

mysql -h 127.0.0.1 -P 4000 -u root

新しいロールanalyticsteamと新しいユーザーjenniferを作成します。

CREATE ROLE analyticsteam; Query OK, 0 rows affected (0.02 sec) GRANT SELECT ON test.* TO analyticsteam; Query OK, 0 rows affected (0.02 sec) CREATE USER jennifer; Query OK, 0 rows affected (0.01 sec) GRANT analyticsteam TO jennifer; Query OK, 0 rows affected (0.01 sec)

jennifer人のユーザーとして TiDB に接続します。

mysql -h 127.0.0.1 -P 4000 -u jennifer

デフォルトでは、 analyticsteamロールに関連付けられた権限を使用できるようにするには、 jennifer SET ROLE analyticsteam実行する必要があることに注意してください。

SHOW GRANTS; +---------------------------------------------+ | Grants for User | +---------------------------------------------+ | GRANT USAGE ON *.* TO 'jennifer'@'%' | | GRANT 'analyticsteam'@'%' TO 'jennifer'@'%' | +---------------------------------------------+ 2 rows in set (0.00 sec) SHOW TABLES in test; ERROR 1044 (42000): Access denied for user 'jennifer'@'%' to database 'test' SET ROLE analyticsteam; Query OK, 0 rows affected (0.00 sec) SHOW GRANTS; +---------------------------------------------+ | Grants for User | +---------------------------------------------+ | GRANT USAGE ON *.* TO 'jennifer'@'%' | | GRANT SELECT ON test.* TO 'jennifer'@'%' | | GRANT 'analyticsteam'@'%' TO 'jennifer'@'%' | +---------------------------------------------+ 3 rows in set (0.00 sec) SHOW TABLES IN test; +----------------+ | Tables_in_test | +----------------+ | t1 | +----------------+ 1 row in set (0.00 sec)

root人のユーザーとして TiDB に接続します。

mysql -h 127.0.0.1 -P 4000 -u root

ステートメントSET DEFAULT ROLE 、ロールanalyticsteamjenniferに関連付けるために使用できます。

SET DEFAULT ROLE analyticsteam TO jennifer; Query OK, 0 rows affected (0.02 sec)

jennifer人のユーザーとして TiDB に接続します。

mysql -h 127.0.0.1 -P 4000 -u jennifer

この後、ユーザーjenniferロールanalyticsteamに関連付けられた権限を持ち、 jenniferステートメントSET ROLEを実行する必要がなくなります。

SHOW GRANTS; +---------------------------------------------+ | Grants for User | +---------------------------------------------+ | GRANT USAGE ON *.* TO 'jennifer'@'%' | | GRANT SELECT ON test.* TO 'jennifer'@'%' | | GRANT 'analyticsteam'@'%' TO 'jennifer'@'%' | +---------------------------------------------+ 3 rows in set (0.00 sec) SHOW TABLES IN test; +----------------+ | Tables_in_test | +----------------+ | t1 | +----------------+ 1 row in set (0.00 sec)

MySQL 互換性

TiDB のCREATE ROLEステートメントは、MySQL 8.0 のロール機能と完全に互換性があります。互換性の違いが見つかった場合は、 バグを報告

参照

このページは役に立ちましたか?

Playground
登録なしで TiDB の機能をワンストップでインタラクティブに体験できます。
製品
TiDB Dedicated
TiDB Serverless
TiDB
価格
PoC お問い合わせ
エコシステム
TiKV
TiFlash
OSS Insight
© 2024 PingCAP. All Rights Reserved.
Privacy Policy.