SHOW GRANTS
デスクリプション
このステートメントはユーザー権限を表示するために使用されます。
Syntax
SHOW [ALL] GRANTS [FOR <user_identity>];
オプションパラメータ
1. [ALL]
すべてのユーザーの権限を表示するかどうか。
2. <user_identity>
権限を表示するユーザーを指定します。user_identityはCREATE USERコマンドで作成されている必要があります。
戻り値
| カラム | 説明 |
|---|---|
| UserIdentity | ユーザーID |
| Comment | コメント |
| Password | パスワードが設定されているかどうか |
| Roles | ロール |
| GlobalPrivs | グローバル権限 |
| CatalogPrivs | カタログ権限 |
| DatabasePrivs | データベース権限 |
| TablePrivs | Table権限 |
| ColPrivs | カラム権限 |
| ResourcePrivs | リソース権限 |
| WorkloadGroupPrivs | WorkloadGroup権限 |
アクセス制御要件
このSQLコマンドを実行するユーザーは、少なくとも以下の権限を持つ必要があります:
| 権限 | オブジェクト | 備考 |
|---|---|---|
| GRANT_PRIV | User または Role | UserまたはRoleがGRANT_PRIV権限を持つ場合、すべてのユーザー権限を表示できます。そうでなければ、現在のユーザーの権限のみ表示できます |
使用上の注意
SHOW ALL GRANTSはすべてのユーザーの権限を表示できますが、GRANT_PRIV権限が必要です。user_identityが指定された場合、指定されたユーザーの権限が表示されます。また、user_identityはCREATE USERコマンドで作成されている必要があります。user_identityが指定されていない場合、現在のユーザーの権限が表示されます。- DorisはRBAC(Role-Based Access Control)モデルに基づく権限制御を実装しています。そのため、ここに表示される権限は実際にはユーザーに割り当てられたすべてのロールの組み合わせ権限です。権限がどの特定のロールから来ているかを確認したい場合は、SHOW ROLESコマンドを使用して詳細を表示できます。
例
-
すべてのユーザー権限情報を表示します。
SHOW ALL GRANTS;+--------------+---------+----------+----------+----------------------+--------------+-----------------------------------------------------------------------+------------+----------+---------------+--------------------+
| UserIdentity | Comment | Password | Roles | GlobalPrivs | CatalogPrivs | DatabasePrivs | TablePrivs | ColPrivs | ResourcePrivs | WorkloadGroupPrivs |
+--------------+---------+----------+----------+----------------------+--------------+-----------------------------------------------------------------------+------------+----------+---------------+--------------------+
| 'root'@'%' | ROOT | No | operator | Node_priv,Admin_priv | NULL | internal.information_schema: Select_priv; internal.mysql: Select_priv | NULL | NULL | NULL | normal: Usage_priv |
| 'admin'@'%' | ADMIN | No | admin | Admin_priv | NULL | internal.information_schema: Select_priv; internal.mysql: Select_priv | NULL | NULL | NULL | normal: Usage_priv |
| 'jack'@'%' | | No | | NULL | NULL | internal.information_schema: Select_priv; internal.mysql: Select_priv | NULL | NULL | NULL | normal: Usage_priv |
+--------------+---------+----------+----------+----------------------+--------------+-----------------------------------------------------------------------+------------+----------+---------------+--------------------+ -
指定されたユーザーの権限を表示する
SHOW GRANTS FOR jack@'%';+--------------+---------+----------+-------+-------------+--------------+-----------------------------------------------------------------------+------------+----------+---------------+--------------------+
| UserIdentity | Comment | Password | Roles | GlobalPrivs | CatalogPrivs | DatabasePrivs | TablePrivs | ColPrivs | ResourcePrivs | WorkloadGroupPrivs |
+--------------+---------+----------+-------+-------------+--------------+-----------------------------------------------------------------------+------------+----------+---------------+--------------------+
| 'jack'@'%' | | No | | NULL | NULL | internal.information_schema: Select_priv; internal.mysql: Select_priv | NULL | NULL | NULL | normal: Usage_priv |
+--------------+---------+----------+-------+-------------+--------------+-----------------------------------------------------------------------+------------+----------+---------------+--------------------+ -
現在のユーザーの権限を表示する
SHOW GRANTS;+--------------+---------+----------+----------+----------------------+--------------+-----------------------------------------------------------------------+------------+----------+---------------+--------------------+
| UserIdentity | Comment | Password | Roles | GlobalPrivs | CatalogPrivs | DatabasePrivs | TablePrivs | ColPrivs | ResourcePrivs | WorkloadGroupPrivs |
+--------------+---------+----------+----------+----------------------+--------------+-----------------------------------------------------------------------+------------+----------+---------------+--------------------+
| 'root'@'%' | ROOT | No | operator | Node_priv,Admin_priv | NULL | internal.information_schema: Select_priv; internal.mysql: Select_priv | NULL | NULL | NULL | normal: Usage_priv |
+--------------+---------+----------+----------+----------------------+--------------+-----------------------------------------------------------------------+------------+----------+---------------+--------------------+