跳到主要内容
版本:26.x

数据库用户与角色

通过数据库用户和角色,可以控制哪些人员、应用程序、BI 工具和数据管道能够连接仓库,以及连接后可以执行哪些操作。创建数据库用户、分配角色,并仅授予各项任务所需的权限,有助于按工作负载隔离访问权限、遵循最小权限原则,并独立管理数据库连接凭据。

数据库用户和角色与组织成员、组织角色相互独立。组织级访问控制请参阅成员。

说明:

  • 添加或修改用户和角色,需要 ADMIN 权限或全局 GRANT 权限。
  • 授予或撤销权限,需要 ADMIN 权限或对应范围的 GRANT 权限。

管理数据库用户​

数据库用户的 SQL 身份采用 'username'@'host' 格式,由用户名和主机共同确定。

内置数据库用户​

每个仓库包含以下两个内置用户:

用户默认角色管理限制
'admin'@'%'admin可以查看权限和修改密码,不能修改默认角色或权限。
'root'@'%'operator可以查看权限,不能从此页面修改密码、角色或权限。

不能删除或重命名这些内置用户。

创建数据库用户​

  1. 登录 SelectDB Cloud 控制台。

  2. 在顶部导航栏选择目标仓库。

  3. 在左侧导航栏的更多区域,单击用户与角色,进入用户和角色页面。

  4. 单击用户页签。

  5. 单击添加用户,填写以下信息:

    • 用户名(必填):数据库用户名。
    • 主机(可选):允许该用户连接的来源主机,默认值为 %。主机匹配方式取决于客户端使用的网络路径,详情请参阅主机字段与连接来源。
    • 密码(必填):连接仓库时使用的用户密码。
    • 属于角色(可选):为用户分配已有的数据库角色;支持多角色的仓库可以选择多个角色。
    • 注释(可选):用户的说明或用途;仅在支持注释的仓库中显示。
  6. 单击确定。

  7. 创建后,单击用户名打开权限页面,添加全局、数据、集群或工作负载权限。详情请参阅管理数据库用户或角色的权限。

编辑数据库用户​

  1. 登录控制台并选择目标仓库。
  2. 在左侧导航栏的更多区域,单击用户与角色,进入用户和角色页面。
  3. 单击用户页签。
  4. 打开目标用户的操作菜单,单击编辑用户,修改注释或所属角色。
  5. 单击确定保存。

用户名和主机共同构成 SQL 身份,不能修改。如需使用不同的用户名或主机,应创建新用户,授予所需角色和权限,验证新连接后再删除旧用户。

也可以单独修改密码:

  1. 打开目标用户的操作菜单,单击修改密码。
  2. 输入新密码。
  3. 单击确定保存。

删除数据库用户​

  1. 登录控制台并选择目标仓库。
  2. 在左侧导航栏的更多区域,单击用户与角色,进入用户和角色页面。
  3. 单击用户页签。
  4. 打开目标用户的操作菜单,单击删除用户。
  5. 核对用户身份并确认删除。

主机字段与连接来源​

数据库用户的主机字段控制允许连接的客户端来源。SelectDB Cloud 将该字段与实际连接中观察到的源 IP 地址进行匹配。

数据库观察到的源 IP 取决于客户端的连接路径,公网和私网连接可能呈现不同的源地址。

公网连接​

如果公网连接使用的网络负载均衡器(NLB)保留客户端源 IP,SelectDB Cloud 会使用客户端的公网 IP 进行主机匹配。此时,可以在主机字段中配置客户端的公网出口 IP,限制该用户的连接来源。

默认值 % 允许来自任意主机的连接,但连接仍需满足网络访问策略并通过身份验证。

对于通过 PrivateLink 访问 SaaS 仓库的连接,负载均衡器可能不保留原始客户端 IP,而是向数据库呈现 VPC 终端节点的 IP。因此,不能直接假定客户端 IP 就是数据库观察到的源 IP;仅在主机字段中配置原始客户端 IP,可能导致连接无法匹配。

采用这类连接时,可以将主机字段设为 % 或保留默认值,并在网络层通过 VPC 终端节点、安全组等私网访问策略限制来源。具体连接方式和网络配置请参阅连接方式和网络设置。

管理数据库角色​

可以为一个数据库用户分配多个角色。用户继承这些角色拥有的权限。

说明:

不能在角色页面分配用户所属的角色。请在创建数据库用户或编辑用户时进行分配。

内置数据库角色​

仓库包含以下受保护的内置角色:

角色权限说明
admin具有全局 ADMIN 权限,提供除节点操作以外的数据库管理权限。
admin_readonly提供数据库资源的只读访问权限。
operator具有全局 NODE 和 ADMIN 权限,提供包括节点操作在内的数据库管理权限。

不能删除这些内置角色。admin 角色的权限不能修改;其他角色的权限操作以权限页面和当前账号的授权能力为准。如果需要不同的权限组合,请创建数据库角色。

创建数据库角色​

  1. 登录控制台并选择目标仓库。

  2. 在左侧导航栏的更多区域,单击用户与角色,进入用户和角色页面。

  3. 单击角色页签。

  4. 单击添加角色,填写以下信息:

    • 角色名(必填):数据库角色名称。
    • 注释(可选):角色的说明或用途;仅在支持注释的仓库中显示。
  5. 单击确定。

  6. 创建后,单击角色名称打开权限页面,添加全局、数据、集群或工作负载权限。详情请参阅管理数据库用户或角色的权限。

删除数据库角色​

  1. 登录控制台并选择目标仓库。
  2. 在左侧导航栏的更多区域,单击用户与角色,进入用户和角色页面。
  3. 单击角色页签。
  4. 在目标角色的操作列单击删除图标。
  5. 核对角色名称并确认删除。

管理数据库用户或角色的权限​

可以直接向数据库用户授予权限,也可以通过为用户分配数据库角色来授予权限。用户的有效权限是直接授予的权限与从角色继承的权限的并集。

  1. 登录控制台并选择目标仓库。
  2. 在左侧导航栏的更多区域,单击用户与角色,进入用户和角色页面。
  3. 单击用户或角色页签。
  4. 单击目标用户或角色,打开权限页面,按所需范围添加或撤销权限。

说明:

  • 需要 ADMIN 权限或对应范围的 GRANT 权限。使用 GRANT 权限授权时,还必须拥有将要授予的权限。
  • 内置数据库用户的权限只支持查看;admin 角色的权限不能修改。
权限范围控制内容
全局作用于整个仓库。全局权限包含所有下级对象上的对应权限,可选权限包括 NODE、ADMIN、GRANT、SELECT、LOAD、ALTER、CREATE 和 DROP。
数据作用于指定层级的数据对象,包括 Catalog、数据库、表、物化视图和视图。对父对象授予的权限包含其下级对象上的对应权限。
集群通过集群的 USAGE 权限控制连接和使用集群的权限。
工作负载控制工作负载组的 USAGE 权限。

相关文档​