TiDB ダッシュボードのユーザー管理

TiDB ダッシュボードは、TiDB と同じユーザー権限システムとサインイン認証を使用します。 TiDB SQLユーザーを制御および管理して、TiDB ダッシュボードへのアクセスを制限できます。このドキュメントでは、 TiDB SQLユーザーが TiDB ダッシュボードにアクセスするために必要な最小限の権限について説明し、最小限の権限を持つ SQL ユーザーの作成方法と RBAC を介した認証方法を例示します。

TiDB SQLユーザーを制御および管理する方法の詳細については、 TiDB ユーザーアカウント管理を参照してください。

必要な権限

  • 接続された TiDBサーバーでSecurity強化モード (SEM)が有効になっていない場合に TiDB ダッシュボードにアクセスするには、SQL ユーザーは次のすべての権限を持っている必要があります。

    • プロセス
    • データベースを表示する
    • 設定
    • ダッシュボード_クライアント
  • 接続された TiDBサーバーでSecurity強化モード (SEM)が有効になっているときに TiDB ダッシュボードにアクセスするには、SQL ユーザーは次のすべての権限を持っている必要があります。

    • プロセス
    • データベースを表示する
    • 設定
    • ダッシュボード_クライアント
    • RESTRICTED_TABLES_ADMIN
    • RESTRICTED_STATUS_ADMIN
    • RESTRICTED_VARIABLES_ADMIN
  • TiDB ダッシュボードにサインインした後にインターフェースの構成を変更するには、SQL ユーザーは次の権限も持っている必要があります。

    • SYSTEM_VARIABLES_ADMIN
  • TiDB ダッシュボードにサインインした後、インターフェイスで高速バインド実行計画機能を使用するには、SQL ユーザーは次の権限も持っている必要があります。

    • SYSTEM_VARIABLES_ADMIN
    • 素晴らしい

ノート:

ALL PRIVILEGESSUPERなどの高い権限を持つユーザーも、TiDB ダッシュボードにサインインできます。したがって、最小特権の原則に準拠するには、意図しない操作を防ぐためにのみ、必要な権限を持つユーザーを作成することを強くお勧めします。これらの権限の詳細については、 権限管理参照してください。

SQL ユーザーが前述の権限要件を満たしていない場合、以下に示すように、ユーザーは TiDB ダッシュボードへのサインインに失敗します。

insufficient-privileges

例: TiDB ダッシュボードにアクセスするための最小権限の SQL ユーザーを作成する

  • 接続された TiDBサーバーでSecurity強化モード (SEM)が有効になっていない場合、TiDB ダッシュボードにサインインできる SQL ユーザーdashboardAdminを作成するには、次の SQL ステートメントを実行します。

    CREATE USER 'dashboardAdmin'@'%' IDENTIFIED BY '<YOUR_PASSWORD>'; GRANT PROCESS, CONFIG ON *.* TO 'dashboardAdmin'@'%'; GRANT SHOW DATABASES ON *.* TO 'dashboardAdmin'@'%'; GRANT DASHBOARD_CLIENT ON *.* TO 'dashboardAdmin'@'%'; -- To modify the configuration items on the interface after signing in to TiDB Dashboard, the user-defined SQL user must be granted with the following privilege. GRANT SYSTEM_VARIABLES_ADMIN ON *.* TO 'dashboardAdmin'@'%'; -- To use the Fast Bind Executions Plan feature (https://docs.pingcap.com/tidb/v7.1/dashboard-statement-details#fast-plan-binding) on the interface after signing in to TiDB Dashboard, the user-defined SQL user must be granted with the following privileges. GRANT SYSTEM_VARIABLES_ADMIN ON *.* TO 'dashboardAdmin'@'%'; GRANT SUPER ON *.* TO 'dashboardAdmin'@'%';
  • 接続された TiDBサーバーでSecurity強化モード (SEM)が有効になっている場合は、まず SEM を無効にし、次の SQL ステートメントを実行して、TiDB ダッシュボードにサインインできる SQL ユーザーdashboardAdminを作成します。ユーザーを作成した後、SEM を再度有効にします。

    CREATE USER 'dashboardAdmin'@'%' IDENTIFIED BY '<YOUR_PASSWORD>'; GRANT PROCESS, CONFIG ON *.* TO 'dashboardAdmin'@'%'; GRANT SHOW DATABASES ON *.* TO 'dashboardAdmin'@'%'; GRANT DASHBOARD_CLIENT ON *.* TO 'dashboardAdmin'@'%'; GRANT RESTRICTED_STATUS_ADMIN ON *.* TO 'dashboardAdmin'@'%'; GRANT RESTRICTED_TABLES_ADMIN ON *.* TO 'dashboardAdmin'@'%'; GRANT RESTRICTED_VARIABLES_ADMIN ON *.* TO 'dashboardAdmin'@'%'; -- To modify the configuration items on the interface after signing in to TiDB Dashboard, the user-defined SQL user must be granted with the following privilege. GRANT SYSTEM_VARIABLES_ADMIN ON *.* TO 'dashboardAdmin'@'%'; -- To use the Fast Bind Executions Plan feature (https://docs.pingcap.com/tidb/v7.1/dashboard-statement-details#fast-plan-binding) on the interface after signing in to TiDB Dashboard, the user-defined SQL user must be granted with the following privileges. GRANT SYSTEM_VARIABLES_ADMIN ON *.* TO 'dashboardAdmin'@'%'; GRANT SUPER ON *.* TO 'dashboardAdmin'@'%';

例: SQL ユーザーに RBAC 経由で TiDB ダッシュボードにアクセスする権限を与える

次の例は、 ロールベースのアクセス制御 (RBAC)メカニズムを通じて TiDB ダッシュボードにアクセスするためのロールとユーザーを作成する方法を示しています。

  1. TiDB ダッシュボードのすべての権限要件を満たすdashboard_accessロールを作成します。

    CREATE ROLE 'dashboard_access'; GRANT PROCESS, CONFIG ON *.* TO 'dashboard_access'@'%'; GRANT SHOW DATABASES ON *.* TO 'dashboard_access'@'%'; GRANT DASHBOARD_CLIENT ON *.* TO 'dashboard_access'@'%'; GRANT SYSTEM_VARIABLES_ADMIN ON *.* TO 'dashboard_access'@'%'; GRANT SUPER ON *.* TO 'dashboardAdmin'@'%';
  2. dashboard_accessロールを他のユーザーに付与し、 dashboard_accessデフォルトのロールとして設定します。

    CREATE USER 'dashboardAdmin'@'%' IDENTIFIED BY '<YOUR_PASSWORD>'; GRANT 'dashboard_access' TO 'dashboardAdmin'@'%'; -- You need to set dashboard_access as the default role to the user SET DEFAULT ROLE dashboard_access to 'dashboardAdmin'@'%';

上記の手順を完了すると、 dashboardAdminユーザーを使用して TiDB ダッシュボードにサインインできるようになります。

TiDB ダッシュボードにサインインする

TiDB ダッシュボードの権限要件を満たす SQL ユーザーを作成した後、このユーザーを TiDB ダッシュログインに使用できます。

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