管理用户权限
本文描述如何在 StarRocks 中管理用户、角色和权限。
StarRocks 同时采用了基 于角色的访问控制 (RBAC) 和基于身份的访问控制 (IBAC) 以管理集群内的权限,使集群管理员可以轻松地在不同粒度级别上限制集群内的权限。
在 StarRocks 集群中,您可以将权限授予用户或角色。角色是一组权限,可根据需要授予集群内的用户或角色。一个用户或角色可以被授予一个或多个角色,这些角色决定了他们对不同对象的权限。
查看用户和角色信息
拥有系统预置角色 user_admin
的用户可以查看 StarRocks 集群中用户和角色的信息。
查看权限信息
您可以使用 SHOW GRANTS 查看授予用户或角色的权限。
-
查看当前用户的权限。
SHOW GRANTS;
说明
任何用户都可以查看自身的权限,无需任何权限。
-
查看特定用户的权限。
以下示例查看用户
jack
的权限。SHOW GRANTS FOR jack@'172.10.1.10';
-
查看特定角色 的权限。
以下示例查看角色
example_role
的权限。SHOW GRANTS FOR ROLE example_role;
查看用户属性
您可以使用 SHOW PROPERTY 查看用户的属性。
以下示例查看用户 jack
的属性:
SHOW PROPERTY FOR jack@'172.10.1.10';
查看角色
您可以使用 SHOW ROLES 查看 StarRocks 集群中的所有角色。
SHOW ROLES;
查看用户
您可以使用 SHOW USERS 查看 StarRocks 集群中的所有用户。
SHOW USERS;
管理用户
拥有系统预置角色 user_admin
的用户可以在 StarRocks 中创建、修改和删除用户。
创建用户
您可以通过指定用户身份(user identity)、认证方式和默认角色来创建用户。
StarRocks 支持使用用户密码登录或 LDAP 认证作为用户认证方式。有关 StarRocks 认证方式的更多信息,请参阅 用户认证。有关创建用户的更多操作说明,请参阅 CREATE USER。
以下示例创建用户 jack
,仅允许其从 IP 地址 172.10.1.10
进行连接,为其设置密码为 12345
,并将角色 example_role
分配给它作为其默认角色:
CREATE USER jack@'172.10.1.10' IDENTIFIED BY '12345' DEFAULT ROLE 'example_role';
说明
- StarRocks 会在存储用户密码之前对其进行加密。您可以使用 password() 函数获取加密后的密码。
- 如果在创建用户期间未指定默认角色,StarRocks 会指定系统预置角色
PUBLIC
作为用户默认角色。
修改用户
您可以修改用户的密码、默认角色或属性。
当用户连接到 StarRocks 时,其默认角色会自动激活。有关如何在连接后为用户启用所有(默认和授予的)角色的说明,请参阅启用所有角色。