TiDB用户管理-平凯星辰

GS 752 2023-07-14

本文关于(TiDB用户管理)

TiDB Dashboard 与 TiDB 使用相同的用户权限体系和登录验证方式。你可以通过控制和管理 TiDB SQL 用户,从而限制和约束这些用户对 TiDB Dashboard 的访问。本文描述了 TiDB SQL 用户访问 TiDB Dashboard 所需的最小权限,并提供了如何创建最小权限 SQL 用户、如何通过 RBAC 授权 SQL 用户登录的示例。

所需权限说明

  • 当所连接的 TiDB 服务器未启用安全增强模式 (SEM) 时,要访问 TiDB Dashboard,SQL 用户应当拥有以下所有权限:

    • PROCESS

    • SHOW DATABASES

    • CONFIG

    • DASHBOARD_CLIENT

  • 当所连接的 TiDB 服务器启用了安全增强模式 (SEM) 时,要访问 TiDB Dashboard,SQL 用户应当拥有以下所有权限:

    • PROCESS

    • SHOW DATABASES

    • CONFIG

    • DASHBOARD_CLIENT

    • RESTRICTED_TABLES_ADMIN

    • RESTRICTED_STATUS_ADMIN

    • RESTRICTED_VARIABLES_ADMIN

  • 若希望 SQL 用户在登录 TiDB Dashboard 后允许修改界面上的各项配置平凯星辰,SQL 用户还应当拥有以下权限:

    • SYSTEM_VARIABLES_ADMIN

  • 若希望 SQL 用户在登录 TiDB Dashboard 后允许使用快速绑定执行计划功能。

    • SYSTEM_VARIABLES_ADMIN

    • SUPER

注意

拥有 ALL PRIVILEGES 或 SUPER 等粗粒度高权限的用户同样可以登录 TiDB Dashboard。出于最小权限原则,强烈建议创建用户时仅使用上述精细权限,从而防止用户执行非预期操作。

如果登录 TiDB Dashboard 时指定的 SQL 用户未满足上述权限需求,则登录将失败,如下图所示:

insufficient-privileges示例:创建一个最小权限 SQL 用户用于登录 TiDB Dashboard

  • 当所连接的 TiDB 服务器未启用安全增强模式 (SEM) 时,你可以通过执行以下示例 SQL 语句创建一个允许登录 TiDB Dashboard 的 SQL 用户 dashboardAdmin

    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'@'%';-- 如果要使自定义的 SQL 用户能修改 TiDB Dashboard 界面上的各项配置,可以增加以下权限GRANT SYSTEM_VARIABLES_ADMIN ON *.* TO 'dashboardAdmin'@'%';-- 如果要使用快速绑定执行计划(具体参见 https://docs.pingcap.com/zh/tidb/v7.1/dashboard-statement-details#快速绑定执行计划)功能,可以增加以下权限GRANT SYSTEM_VARIABLES_ADMIN ON *.* TO 'dashboardAdmin'@'%';GRANT SUPER ON *.* TO 'dashboardAdmin'@'%';
  • 当所连接的 TiDB 服务器启用了安全增强模式 (SEM) 时,先关闭 SEM,然后执行以下示例 SQL 语句创建一个允许登录 TiDB Dashboard 的 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'@'%';-- 如果要使自定义的 SQL 用户能修改 TiDB Dashboard 界面上的各项配置,可以增加以下权限GRANT SUPER ON *.* TO 'dashboardAdmin'@'%';-- 如果要使用快速绑定执行计划(具体参见 https://docs.pingcap.com/zh/tidb/v7.1/dashboard-statement-details#快速绑定执行计划)功能,可以增加以下权限GRANT SYSTEM_VARIABLES_ADMIN ON *.* TO 'dashboardAdmin'@'%';GRANT SUPER ON *.* TO 'dashboardAdmin'@'%';

示例:通过 RBAC 授权 SQL 用户登录 TiDB Dashboard

以下示例演示了如何在基于角色的访问控制 (RBAC) 机制下创建角色及用户来登录 TiDB Dashboard。

  1. 创建一个包含 TiDB Dashboard 所有功能所需权限的角色 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 'dashboard_access'@'%';
  2. 为其他用户授权 dashboard_access 角色并设置为默认启用:

    CREATE USER 'dashboardAdmin'@'%' IDENTIFIED BY '<YOUR_PASSWORD>';GRANT 'dashboard_access' TO 'dashboardAdmin'@'%';-- 需要默认启用 dashboard_access 角色SET DEFAULT ROLE dashboard_access to 'dashboardAdmin'@'%';

完成以上步骤后,可以用 dashboardAdmin 用户登录 TiDB Dashboard。

登录 TiDB Dashboard

创建满足 TiDB Dashboard 权限要求的 SQL 用户后平凯星辰,你可以使用该用户登录 TiDB Dashboard。

上述就是小编为大家整理的(TiDB用户管理)

***


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:TiDB中的事务限制-平凯星辰
下一篇:揭秘金融数据可视化:洞悉财经趋势的重要利器
相关文章