权限 · MatrixOne¶
实例中的用户、角色和对象权限在租户范围内生效。每个实例对应一个租户(Account),不同实例之间的数据和权限相互隔离;AI Studio 工作区角色不在本页配置。
权限点和 SQL 权限分类速查见参考 · 权限。AI Studio 工作区角色见用户权限和角色。
权限范围¶
能力 |
作用 |
|---|---|
身份鉴别与认证 |
管理用户、角色和密码。 |
访问控制 |
限制用户访问对象和执行操作。 |
传输加密 |
保护传输内容,具体见 TLS 等相关文档。 |
审计与日志 |
追踪活动,与事件等能力配合使用。 |
用户、角色和权限分配 |
将权限授予角色,再将角色授予用户。 |
对象级权限 |
管理数据库、表、视图等对象的访问权限。 |
权限继承 |
在受控范围内传递角色权限。 |
密码建议使用大小写字母、数字和特殊符号,长度不少于 8 位。创建实例时,admin 密码还必须满足数据库实例中的硬性规则。
两种权限模型¶
MatrixOne 权限结合以下两种模型:
RBAC(基于角色):权限授予角色,角色再授予用户。
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;应按业务创建自定义角色并执行最小授权。
按用户和角色授予权限¶
使用 admin 或高权限角色创建用户和角色。
将数据库、表等对象权限
GRANT给角色。将角色
GRANT给用户。在数据库管理平台中使用
用户名:角色名登录;具体登录方式见数据库实例 · 登录数据库管理平台。
GRANT、REVOKE 和 CREATE USER 等语句见参考 · SQL中的 DCL 相关内容。
网络与访问配置¶
实例级访问控制还包括:
IP 白名单 / 网络策略:创建实例时可以选择允许指定 IP,也可以在实例详情中编辑。
TLS 传输加密:保护客户端与实例之间的传输内容。
私网访问:通过 Private Link、VPC 终端节点等方式访问实例。
具体开关和步骤以实例管理平台中的网络与安全页面为准。
MatrixOne 与 AI Studio 权限的区别¶
MatrixOne |
AI Studio |
|
|---|---|---|
范围 |
实例租户内的库、表、角色和用户。 |
工作区用户、功能和对象权限,例如知识库 K 码。 |
入口 |
实例管理平台或数据库管理平台的角色、用户页面。 |
控制台的用户权限。 |
速查 |