# 本体权限
#### 功能介绍
本体权限是数据智能平台中针对本体资源（包括本体群组、对象类型、关系类型、动作类型等）的精细化访问控制机制。通过本体权限，可以管理不同用户和用户组对本体资源的操作权限，确保数据资产的安全性和协作的规范性。
本体权限分为两大类：模式权限和实例权限。模式权限控制用户对本体模型和类型定义的编辑、删除、发布等操作权限；实例权限控制用户对本体对象数据的行级和列级访问权限，包括数据过滤和数据脱敏。
**以下角色具有权限管理操作资格：**
- 系统管理员（加入admin的IAM用户组）：拥有所有本体资源的全部权限。
- 空间管理员：拥有当前工作空间内所有本体资源的全部权限。
- 资源创建人/Owner：拥有其所创建资源的授权管理权限。
- 其他用户：仅能查看已被授权的资源，无法进行授权操作。 **模式权限**
  模式权限用于控制用户对本体模型和类型定义的结构级操作权限。通过模式权限，可以授权指定用户或用户组对本体群组、对象类型、关系类型和动作类型进行编辑、删除、发布等操作。
  **模式权限的入口：**在ontology管理页面左侧导航栏，单击"本体权限"，进入本体权限页面。页面默认展示"模式权限"标签页。
  模式权限类型说明
  
| 资源类型  | 权限   | 权限说明                                      |
|:---|:---|:---|
| 本体群组 | 编辑   | 可以修改授权的本体群组的基本信息，添加、移除对象类型。               |
| 本体群组 | 删除     | 可以删除授权的且不再使用的本体群组。                      |
| 对象类型    | 编辑    | 可以修改授权的对象类型的基本信息、属性、关系等。                 |
| 对象类型  | 删除   | 可以删除授权的对象类型。                              |
| 对象类型   | 发布 | 可以发布授权的对象类型，发布的对象类型才可以使用和装载数据。           |
| 关系类型  | 编辑     | 可以修改授权的关系类型的基本信息。                         |
| 关系类型    | 删除    | 可以删除授权的关系类型。                             |
| 关系类型  | 发布    | 可以发布授权的关系类型。                               |
| 动作类型    | 编辑    | 可以修改授权的动作类型的基本信息。                         |
| 动作类型  | 删除    | 可以删除授权的动作类型。                              |
| 动作类型  | 发布   | 可以发布授权的动作类型。                             |
| 动作类型    | 执行动作  | 可以执行授权的动作类型，创建、修改、删除对象和关系，也可以调用函数、工具和工作流。 |
   
#### 查看模式权限列表
1. [登录数据智能平台](https://support.huaweicloud.com/usermanual-dataartsplatform/dataartsplatform_02_0003.html#ZH-CN_TOPIC_0000002749200638__li15819195745117)。
2. 在左侧导航栏选择"本体 \> 本体管理"，单击目标本体模型进入本体管理页面。
3. 在左侧导航栏单击"本体权限"，进入本体权限页面。
4. 默认展示"模式权限"标签页，页面以列表形式展示当前本体已授权的所有模式权限记录。 
   模式权限列表包含以下信息：
   
   | 列名    | 说明                             |
   |:---|:---|
   | 资源类型   | 权限授权的资源类型，包括本体群组、对象类型、关系类型、动作类型。 |
   | 资源名称  | 被授权的资源名称，单击可跳转到资源详情页面。           |
   | 资源所有人  | 资源的创建者或Owner。                  |
   | 权限    | 已授予的权限操作，如编辑、删除、发布等。         |
   | 授权主体类型 | 被授权对象的类型，包括用户和用户组。               |
   | 授权主体   | 被授权的用户或用户组名称。                 |
   | 创建时间 | 权限记录的最后更新时间。                   |
   | 创建人     | 执行授权操作的用户。                     |
      
   - 支持按资源名称或用户名称进行模糊搜索。
   
   - 列表右上方提供"授权"和"回收"操作按钮。
   
   
   图1权限列表   
   ![](https://support.huaweicloud.com/usermanual-dataartsplatform/figure/zh-cn_image_0000002723073530.png "点击放大")
   
   
 
#### 授权
通过授权操作，可以将指定的模式权限授予选定的用户或用户组。
1. 在模式权限列表页面，单击"授权"按钮，弹出授权对话框。 
   ![](https://support.huaweicloud.com/usermanual-dataartsplatform/figure/zh-cn_image_0000002723233450.png "点击放大")
   
   
2. 在"授权对象"区域，选择资源类型标签页（本体群组、对象类型、关系类型或动作类型）。
3. 选择需要授权的具体资源： 
   - 选择"本体群组"时，在多选下拉框中选择一个或多个本体群组。
   
   - 选择其他类型时，可先通过本体群组下拉框筛选范围（可选），再在类型下拉框中选择具体的对象类型、关系类型或动作类型。
   
   
   
   
4. 在"模式权限"区域，勾选需要授予的权限。可选择"全选"快速勾选所有权限。 
   - 本体群组可选权限：编辑、删除。
   
   - 对象类型/关系类型可选权限：编辑、删除、发布。
   
   - 动作类型可选权限：编辑、删除、发布、执行动作。
   
   
   
   
5. 在"授权主体"区域，通过下拉框选择需要授权的用户或用户组，支持搜索和分页加载。 
   - 下拉列表展示当前工作空间的所有成员，每项标注为"用户"或"用户组"。
   
   
   
   
6. 单击"确定"，完成授权操作。 
   - 只有系统管理员、空间管理员、资源创建人/Owner才有权限进行授权操作。
   
   - 不可对自己进行授权操作。
   
   - 没有授权的资源会置灰显示，并提示"您没有权限，请联系系统管理员/空间管理员/资源创建人/Owner授权"。
   
   
   
   
 
#### 回收权限
通过回收操作，可以撤销已授予用户或用户组的模式权限。
1. 在模式权限列表页面，选择需要回收的权限记录（支持多选）。
2. 单击"回收"按钮，弹出确认对话框。
3. 确认对话框中展示待回收的用户、资源类型、资源名称和权限信息。 
   图2回收权限   
   ![](https://support.huaweicloud.com/usermanual-dataartsplatform/figure/zh-cn_image_0000002752833215.png "点击放大")
   
   
4. 单击"确定"，完成权限回收。
 
**实例权限**
实例权限用于控制用户对本体对象数据的行级和列级访问权限。实例权限包括行级权限（实例权限）和列级权限（属性权限）两种类型。行级权限通过条件过滤控制用户可见的数据行；列级权限通过禁止查看或数据脱敏控制用户可见的字段内容。
#### 查看实例权限列表
1. [登录数据智能平台](https://support.huaweicloud.com/usermanual-dataartsplatform/dataartsplatform_02_0003.html#ZH-CN_TOPIC_0000002749200638__li15819195745117)。
2. 进入本体管理页面，在左侧导航栏单击"本体权限"。
3. 切换到"实例权限"标签页，页面以列表形式展示当前本体下所有对象类型的实例权限规则。 
   实例权限列表包含以下信息：
   
   | 列名      | 说明                                                     |
   |:---|:---|
   | 对象类型   | 权限规则所属的对象类型，单击可跳转到对象类型详情页面。                            |
   | 权限类型 | 实例权限（行级）或属性权限（列级）。                                      |
   | 规则类型   | 行级权限显示为"拥有全部权限"、"无任何权限"或"指定可见内容"；列级权限显示为"数据脱敏"或"禁止查看"。 |
   | 规则内容  | 权限规则的详细内容描述。                                          |
   | 生效范围   | 全部用户生效、指定用户/用户组生效、指定用户/用户组不生效。                         |
   | 授权用户   | 规则适用的用户或用户组名称。                                           |
   | 创建时间   | 规则的最后更新时间。                                              |
   | 创建人   | 创建规则的用户。                                                |
      
   - 支持按对象类型名称进行模糊搜索。
   
   - 单击"授权"按钮可添加新的实例权限规则。
   
   
   图3授权   
   ![](https://support.huaweicloud.com/usermanual-dataartsplatform/figure/zh-cn_image_0000002732203660.png "点击放大")
   
   
**行级权限（实例权限）**
行级权限通过条件过滤的方式控制用户可见的数据行。配置行级权限规则后，系统会根据预设的规则条件，对查询结果进行过滤，仅返回用户有权限查看的数据行。
#### 创建/编辑行级权限规则
1. 在实例权限列表页面，单击"授权"按钮，打开授权面板。
2. 选择"对象类型"，从下拉框中选择需要配置权限的对象类型。
3. 选择"权限类型"为"实例权限"。
4. 选择"受限用户"范围： 
   
   | **选项** |                 **说明**                  |
   |---|---|
   | 全部用户  | 规则对所有用户生效。                               |
   | 指定用户   | 规则仅对选定的用户和用户组生效。选择后需在用户选择组件中指定具体的用户和用户组。 |
      
   
   
5. 选择"数据可见范围"，即设置该规则对受限用户的数据可见性级别： 
   
   | **选项** |           **说明**           |
   |---|---|
   | 拥有全部权限 | 受限用户可查看该对象类型的全部数据行，不生成过滤条件。 |
   | 无任何权限 | 受限用户无法查看该对象类型的任何数据行。        |
   | 指定可见内容  | 通过条件构建器定义过滤条件，仅返回满足条件的数据行。 |
      
   
   
6. 若选择"指定可见内容"，需通过条件构建器创建过滤条件，支持AND/OR逻辑组合，最多支持3层嵌套。每个条件行包含以下要素： 
   
   | **配置项**  |                             **说明**                             |
   |---|---|
   | 选择字段属性 | 从对象类型的属性列表中选择用于过滤的属性字段。                                         |
   | 筛选条件 | 可选择"条件筛选"或"枚举筛选"（仅对支持枚举的字符串类型属性可用）。                             |
   | 比较运算符 | 条件筛选时可选：等于、不等于、大于、大于等于、小于、小于等于、为空、不为空、包含、不包含、开头是、开头不是、结尾是、结尾不是。 |
   | 值      | 根据属性类型自动适配输入方式。布尔类型显示开关，数值类型显示数字输入框，其他类型显示文本输入框。枚举筛选时显示多选下拉框。   |
      
   比较运算符说明：
   
   | **运算符** |    **说明**     |
   |---|---|
   | 等于       | 属性值等于指定值。       |
   | 不等于     | 属性值不等于指定值。   |
   | 大于       | 属性值大于指定值。     |
   | 大于等于    | 属性值大于或等于指定值。   |
   | 小于       | 属性值小于指定值。      |
   | 小于等于     | 属性值小于或等于指定值。  |
   | 为空        | 属性值为空。         |
   | 不为空      | 属性值不为空。       |
   | 包含      | 属性值包含指定字符串。   |
   | 不包含     | 属性值不包含指定字符串。  |
   | 开头是     | 属性值以指定字符串开头。 |
   | 开头不是    | 属性值不以指定字符串开头。   |
   | 结尾是       | 属性值以指定字符串结尾。 |
   | 结尾不是    | 属性值不以指定字符串结尾。  |
      
   支持通过AND/OR连接多个条件，并可嵌套组合形成复杂的过滤逻辑。
   图4实例权限   
   ![](https://support.huaweicloud.com/usermanual-dataartsplatform/figure/zh-cn_image_0000002761683825.png "点击放大")
   
   
7. 单击"确定"，保存规则。 
   **多规则优先级说明：**当多条规则同时匹配同一用户时，系统按以下优先级仅取最高优先级的规则生效：
   
   | **优先级** |  **规则来源**   |         **说明**         |
   |---|---|---|
   | 高        | 用户直接命中的规则 | 规则的受限用户中直接包含当前用户。       |
   | 中       | 用户组命中的规则     | 规则的受限用户中包含当前用户所属的用户组。    |
   | 低       | 全部用户规则     | 规则对全部用户生效（含系统默认兜底规则）。 |
      
   同一优先级内如果存在多条规则，按以下方式合并：
   1. 可见范围取最严格：无任何权限 \> 指定可见内容 \> 拥有全部权限。
   
   2. 如果多条规则均为"指定可见内容"，则各条件取交集（AND），用户必须同时满足所有条件。
   
   3. 如果其中一条为"无任何权限"，则整体为无任何权限，用户看不到任何数据。
   
   4. 如果其中一条为"拥有全部权限"，则该规则不生成条件，不影响其他规则。
   
   
   **默认行为说明：**当对象类型未配置任何"全部用户"规则时，系统会自动插入一条默认兜底规则。默认规则的行为由"其他用户"配置决定：选择"拥有全部权限"时，未匹配到任何规则的用户可查看全部数据；选择"无任何权限"时，未匹配到任何规则的用户无法查看任何数据。
   
   
**列级权限（属性权限）**
列级权限用于控制用户对对象类型属性字段的访问权限。配置列级权限规则后，可以针对特定属性字段设置"禁止查看"或"数据脱敏"规则，限制未授权用户查看敏感字段内容。
#### 创建/编辑列级权限规则
1. 在实例权限列表页面，单击"授权"按钮，打开授权面板。
2. 选择"对象类型"，从下拉框中选择需要配置权限的对象类型。
3. 选择"权限类型"为"属性权限"。
4. 在"选择字段属性"下拉框中，选择需要限制的属性字段（支持多选）。
5. 选择"权限规则"类型： 
   
   | **权限规则** |             **说明**              |
   |---|---|
   | 禁止查看   | 选定的属性字段对受限用户完全不可见，查询结果中不包含该字段。 |
   | 数据脱敏    | 选定的属性字段对受限用户进行脱敏处理，字段值以掩码形式展示。 |
      
   
   
6. 若选择"数据脱敏"，需进一步选择脱敏规则： 
   
   |       **脱敏规则**       |     **效果示例**      |                **说明**                 |
   |---|---|---|
   | 全部脱敏(\*\*\*\*\*\*)  | \*\*\*\*\*\*      | 将字段内容全部替换为星号。                          |
   | 中间脱敏(XXX\*\*\*XXX)  | XXX\*\*\*XXX        | 保留前3位和后3位，中间内容脱敏。                      |
   | 两侧脱敏(\*\*\*XXX\*\*\*) | \*\*\*XXX\*\*\* | 脱敏两侧内容，保留中间内容。                       |
   | 保留前n后m位             | ab\*\*\*\*\*xy     | 保留前n位和后m位字符，其余脱敏。需设置保留的前n位和后m位数量。     |
   | 保留n至m位               | \*\*\*\*abc\*\*\*   | 保留从第n位到第m位的字符，其余脱敏。需设置保留的起始位置n和结束位置m。 |
   | 隐藏特殊字符               | abc\*d\*f         | 将指定的特殊字符替换为星号。需设置需要脱敏的特殊字符。           |
   | 特殊字符前脱敏              | \*\*\*@abc.com     | 脱敏指定特殊字符之前的所有内容。需设置特殊字符。              |
   | 特殊字符后脱敏             | abc@\*\*\*       | 脱敏指定特殊字符之后的所有内容。需设置特殊字符。              |
      
   
   
7. 选择"生效用户"范围： 
   
   |  **生效范围**  |                      **说明**                      |
   |---|---|
   | 全部用户生效      | 规则对所有用户生效。                                      |
   | 指定用户/用户组生效 | 规则仅对选定的用户和用户组生效。选择后需在用户选择组件中指定具体的用户和用户组。      |
   | 指定用户/用户组不生效 | 规则对选定的用户和用户组不生效，对其他用户生效。选择后需在用户选择组件中指定具体的用户和用户组。 |
      
   图5实例权限   
   ![](https://support.huaweicloud.com/usermanual-dataartsplatform/figure/zh-cn_image_0000002732204244.png "点击放大")
   
   
8. 单击"确定"，保存规则。 
   
   |   **生效范围**   |                     **说明**                      |
   |---|---|
   | 全部用户生效      | 规则对所有用户生效。                                     |
   | 指定用户/用户组生效   | 规则仅对选定的用户和用户组生效。选择后需在用户选择组件中指定具体的用户和用户组。        |
   | 指定用户/用户组不生效 | 规则对选定的用户和用户组不生效，对其他用户生效。选择后需在用户选择组件中指定具体的用户和用户组。 |
      
   **冲突检测提示：**保存规则时，系统会自动检测同一对象类型下是否存在冲突的列权限规则。如果同一属性字段已对同一用户配置了脱敏或禁止规则，系统将拒绝保存并提示"已对该属性配置了相关用户可见性规则，不允许重复配置。请修改或删除已有规则后重试。"
   **主键ID脱敏联动：**当被禁止查看或脱敏的属性字段是主键列时，系统会自动对实体ID中对应的主键值部分同步进行脱敏处理，确保主键值不会通过实体ID泄露。
   
   
 
