
# 通过用户标签完成数据集的权限控制
#### 应用场景
通过用户标签和列级权限的设置，可以确保只有授权的用户能够访问特定的数据字段，降低数据泄露的风险。本文通过给user1设置用户标签，实现user1只能访问授权的数据，从而保证数据的安全。
#### 操作流程
1. [准备工作]：准备本示例中所需的数据表。
2. [步骤一：新建项目]：新建项目，后续所有的数据分析在该空间中展开，便于数据管理。
3. [步骤二：接入数据源]：数据源是数据分析的基础，成功接入数据源后才能进行数据分析。
4. [步骤三：新建数据集]：数据集作为数据源和可视化展示的中间环节，承接数据源的输入，并为可视化展示提供输入。
5. [步骤四：创建用户标签]：创建用户标签，用于后续的设置行级权限。
6. [步骤五：设置行级权限]：设置行级权限，控制用户的访问权限。
 
 #### 准备工作
用户需提前准备示例数据，参考[表1]中的字段准备数据表。本例所用数据仅供参考。
 表1权限控制示例表 
| product_name | product_type | product_color | user_name | product_price | sale_price | profit | age |
|:---|:---|:---|:---|:---|:---|:---|:---|
| phone_5      | phone        | blue          | wang_5    | 3707          | 7239       | 32     | 39  |
| clothes4     | clothes      | black         | wang_44   | 2384          | 7239       | 332    | 40  |
| clothes20    | clothes      | black         | wang_60   | 5802          | 6950       | 428    | 15  |
| compute_8    | compute      | yellow        | wang_68   | 8816          | 7833       | 342    | 31  |
| car_2        | car          | white         | wang_82   | 7986          | 1221       | 31     | 30  |
| car_8        | car          | black         | wang_88   | 7243          | 8406       | 214    | 10  |
| car_18       | car          | white         | wang_98   | 7306          | 8740       | 251    | 47  |
| phone_6      | phone        | yellow        | wang_6    | 794           | 489        | 36     | 36  |
| book20       | book         | green         | wang_40   | 168           | 6076       | 103    | 19  |
| book_1       | book         | green         | wang_21   | 9918          | 7756       | 270    | 14  |
| book_15      | book         | green         | wang_35   | 1423          | 3736       | 388    | 46  |
| book_7       | book         | green         | wang_27   | 7704          | 4131       | 313    | 17  |
   
 #### 步骤一：新建项目
1. 登录[智能数据洞察控制台](https://auth.huaweicloud.com/authui/login.html?#/login)。
2. 单击控制台左上角的![](https://support.huaweicloud.com/bestpractice-dataartsinsight/zh-cn_image_0000002477915872.png "点击放大")，选择区域，单击右上角的企业项目，选择企业项目。
3. 单击"项目 \> 新建项目"，进入新增项目页面。
4. 参数填写完成后，单击"确定"，项目创建成功。
   图1新增项目   
   ![](https://support.huaweicloud.com/bestpractice-dataartsinsight/zh-cn_image_0000002510075793.png "点击放大")
   
   
 
 #### 步骤二：接入数据源
本例通过公网方式接入DWS数据源，详细操作步骤请参见[接入DWS数据源](https://support.huaweicloud.com/usermanual-dataartsinsight/dataartsinsight_03_0103.html)。
1. 选择需要操作的项目，单击项目名称进入项目空间。
2. 单击"数据管理 \> 数据源 \> 新建数据源"，进入新建数据源页面，接入网络类型选择"公网"（[图2]）。
3. 输入名称、域名、端口、数据库、等参数后，参数说明请参见[表2]，单击"连接测试"，成功接入数据源。
   图2新建数据源   
   ![](https://support.huaweicloud.com/bestpractice-dataartsinsight/zh-cn_image_0000002510075797.png "点击放大")
   
    表2参数说明 
   | 参数名称     | 是否必填 | 说明                                           |
   |:---|:---|:---|
   | 源库类型     | 是    | 接入的数据源类型，本示例为DWS。                            |
   | 接入网络类型   | 是    | 本示例以公网方式接入，用于已配置公网IP的DWS实例，不受所属账号、地区等限制。     |
   | 名称       | 是    | 为当前配置的数据连接进行命名，方便后续的使用、配置操作。                 |
   | 域名       | 是    | 目标数据源绑定的公网IP/域名，获取方式为DWS实例-集群详情内连接信息板块的公网IP。 |
   | 端口       | 是    | 目标数据源在对应节点上的外放端口，获取方式为DWS实例-集群详情内连接信息板块的端口。  |
   | 数据库      | 是    | 根据业务选择目标数据源内的数据库信息。                          |
   | SASL_SSL | -    | 连接时是否开启SSL认证，需与集群配置保持一致，默认开启。                |
   | 用户名      | 是    | 填写用于连接认证的用户名信息。                              |
   | 密码       | 是    | 填写用于连接认证的密码。                                 |
      
   
 
 #### 步骤三：新建数据集
1. 选择需要操作的项目，单击项目名称进入项目空间。
2. 单击数据源名称后的![](https://support.huaweicloud.com/bestpractice-dataartsinsight/zh-cn_image_0000002509955831.png)，单击"上传文件"，选择需要上传的Excel文件。
3. 确认无误后，单击"保存"。
4. 单击"数据管理 \> 数据集 \> 新建数据集"，进入数据集编辑页面。
5. 在页面左侧选择[步骤二：接入数据源]接入的数据源，单击"上传文件"，双击或者拖拽数据表，数据表被成功添加至操作面板。
   图3选择数据表   
   ![](https://support.huaweicloud.com/bestpractice-dataartsinsight/zh-cn_image_0000002477936046.png "点击放大")
   
   
6. 确认无误后，单击"保存"。
 
 #### 步骤四：创建用户标签
1. 在控制台上方单击"项目"后，单击项目名称，进入项目页面。
2. 单击"数据管理 \> 数据集"，进入数据集页面。
3. 选择所需数据集，进入数据集编辑界面。
4. 选择"数据预览"页签，单击"刷新预览"，如果未设置行级权限，数据预览中"product_type"、"product_color"字段会显示所有数据。
   通过设置行级权限，可以实现特定用户只能查看"product_type"、"product_color"字段的部分数据，例如"book"、"green"。
   图4原始数据   
   ![](https://support.huaweicloud.com/bestpractice-dataartsinsight/zh-cn_image_0000002161085793.png "点击放大")
   
   
5. 单击控制台主菜单的"系统设置"，进入系统设置页面。
6. 单击"标签管理 \> 用户标签"，默认进入"用户"列表页，再单击"新增标签"。
7. 本例新增"tag_product_type"、"tag_product_color"标签，"默认标签值类型"选择"为空"。新建标签后，每个用户对应的标签值为"为空"。如果需要特定用户看到特定数据，则需要单独设置。
   图5添加标签   
   ![](https://support.huaweicloud.com/bestpractice-dataartsinsight/zh-cn_image_0000002448103857.png "点击放大")
   
   
8. 分别单击"tag_product_type"、"tag_product_color"操作列的"编辑"，user1的标签类型选择"枚举"，标签值分别设置为"book"、"green"。 通过后续的行级权限设置，实现user1只能查看[图4]数据集中"product_type = book"、"product_color = green"的数据。
   
   图6新建tag_product_type用户标签   
   ![](https://support.huaweicloud.com/bestpractice-dataartsinsight/zh-cn_image_0000002143055262.png "点击放大")
   
   图7新建tag_product_color用户标签   
   ![](https://support.huaweicloud.com/bestpractice-dataartsinsight/zh-cn_image_0000002142897242.png "点击放大") 
 
 #### 步骤五：设置行级权限
1. 主菜单选择"项目"，选择需要操作的项目，单击项目名称进入项目空间。
2. 单击"数据管理 \> 数据集"，进入数据集页面。
3. 选择对应的数据集，单击"更多 \> 行级权限"，打开行级权限开关后，勾选"用户标签授权"。
4. 选择条件关系，单击"添加受控字段"，"受控字段"选择"product_type"、"product_color"，"标签表字段"选择"tag_product_type"、"tag_product_color"（[图8]）。
   本例条件关系设置为"且"，即user1只能查看"product_type = book"且"product_color = green"的数据。
   如果条件关系设置为"或"，即user1只能查看"product_type = book"或"product_color = green"的数据。
   图8设置行级权限   
   ![](https://support.huaweicloud.com/bestpractice-dataartsinsight/zh-cn_image_0000002447942889.png "点击放大")
   
   
5. 使用user1账号查看数据集，单击"数据管理 \> 数据集 "，进入数据集页面（[图9]），此时user1只能查看特定数据，即"product_type = book"且"product_color = green"的数据。
   图9查看数据集   
   ![](https://support.huaweicloud.com/bestpractice-dataartsinsight/zh-cn_image_0000002096237428.png "点击放大")
   
   
 
