权限 · MatrixOne

实例中的用户、角色和对象权限在租户范围内生效。每个实例对应一个租户(Account),不同实例之间的数据和权限相互隔离;AI Studio 工作区角色不在本页配置。

权限点和 SQL 权限分类速查见参考 · 权限。AI Studio 工作区角色见用户权限角色

权限范围

能力

作用

身份鉴别与认证

管理用户、角色和密码。

访问控制

限制用户访问对象和执行操作。

传输加密

保护传输内容,具体见 TLS 等相关文档。

审计与日志

追踪活动,与事件等能力配合使用。

用户、角色和权限分配

将权限授予角色,再将角色授予用户。

对象级权限

管理数据库、表、视图等对象的访问权限。

权限继承

在受控范围内传递角色权限。

密码建议使用大小写字母、数字和特殊符号,长度不少于 8 位。创建实例时,admin 密码还必须满足数据库实例中的硬性规则。

两种权限模型

MatrixOne 权限结合以下两种模型:

  1. RBAC(基于角色):权限授予角色,角色再授予用户。

  2. DAC(自主访问):对象有一个 Owner,Owner 可以管理该对象上的权限。

核心概念

对象

权限封装在对象上,包括账号 / 实例租户、用户、角色、数据库、表和视图等。高层对象可以创建低层对象,形成对象层级。

Owner(创建者角色)

  • 对象创建时,创建该对象的角色成为 Owner,并拥有该对象的 Ownership

  • 一个对象在任意时刻只有一个 Owner;一个角色可以拥有多个对象。

  • 角色本身也是对象,也有自己的 Owner。

  • 删除 Owner 时,对象的 Owner 会转移给被删除角色的 Owner。

  • Owner 可以将所有权转移给其他角色。

  • ACCOUNTADMIN 会在租户创建后自动生成。它不一定是每个对象的 Owner,但拥有所有对象的 Ownership 权限。

一个用户可以拥有多个角色。当前生效的角色是主要角色,其他角色是次要角色。可以使用以下语句切换角色:

set role <role>;
set secondary role all;
set secondary role none;

租户(Account)

一个实例对应一个租户,数据与权限体系在租户范围内隔离。

角色

  • 一个角色可以拥有多个权限,也可以授予多个用户。

  • 角色可以将权限传递给另一个角色,但不能形成循环继承。

  • 角色和用户只在当前租户内生效。

  • 只有具有 Manage Grants 的角色才能执行角色之间的权限传递。该权限默认授予 MOADMIN / ACCOUNTADMIN,不建议随意授予业务自定义角色。

系统会为集群或租户初始化默认的高权限角色和用户。不建议将这些账号直接用于日常业务 SQL;应按业务创建自定义角色并执行最小授权。

按用户和角色授予权限

  1. 使用 admin 或高权限角色创建用户和角色。

  2. 将数据库、表等对象权限 GRANT 给角色。

  3. 将角色 GRANT 给用户。

  4. 在数据库管理平台中使用 用户名:角色名 登录;具体登录方式见数据库实例 · 登录数据库管理平台

GRANTREVOKECREATE USER 等语句见参考 · SQL中的 DCL 相关内容。

网络与访问配置

实例级访问控制还包括:

  • IP 白名单 / 网络策略:创建实例时可以选择允许指定 IP,也可以在实例详情中编辑。

  • TLS 传输加密:保护客户端与实例之间的传输内容。

  • 私网访问:通过 Private Link、VPC 终端节点等方式访问实例。

具体开关和步骤以实例管理平台中的网络与安全页面为准。

MatrixOne 与 AI Studio 权限的区别

MatrixOne

AI Studio

范围

实例租户内的库、表、角色和用户。

工作区用户、功能和对象权限,例如知识库 K 码。

入口

实例管理平台或数据库管理平台的角色、用户页面。

控制台的用户权限

速查

参考 · 权限

AI Studio · 用户权限角色