跳到主要内容

管理账户

KubeBlocks 提供了多种服务增强数据库集群的可用性、易用性和可观测性。不同组件所需要的用户权限不同。

步骤

  • 创建账户。

    kbcli cluster create-account <clustername> --name <username> --password <pwd> 
  • 授予角色。

    kbcli cluster grant-role  <clustername> --name <username> --role <rolename>

    KubeBlocks提供了三个级别的角色。

    • Superuser:具有所有权限。
    • ReadWrite:具有读和写权限。
    • ReadOnly:只具有读权限。

    不同的数据库引擎的权限有所不同。详情请参阅下表。

    角色MySQLPostgreSQLRedis
    SuperuserGRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, CREATE ROLE, DROP ROLE ON * a userALTER USER WITH SUPERUSER+@ALL allkeys
    ReadWriteGRANT SELECT, INSERT, DELETE ON * TO a userGRANT pg_write_all_data TO a user-@ALL +@Write +@READ allkeys
    ReadOnlyGRANT SELECT, SHOW VIEW ON * TO a userGRANT pg_read_all_data TO a user-@ALL +@READ allkeys
  • 检查角色级别。

    kbcli cluster describe-account <clustername> --name <username>
  • 撤销账户角色。

    kbcli cluster revoke-role <clustername> --name <name> --role <rolename> 
  • 列出所有账户。

    kbcli cluster list-accounts  <clustername>  
    备注

    出于安全原因,list-accounts 命令不显示所有账户。符合某些规则的高权限账户(例如操作账户和超级用户账户)会被隐藏。参考下表查看隐藏账户。

    数据库隐藏账户
    MySQLroot
    kb*
    Localhost = ''
    PostgreSQLPostgres
    kb*
  • 删除账户。

    kbcli cluster delete-account <clustername> --name <username>