
# 配置Yarn权限控制开关
#### 操作场景
在安全模式的多租户场景下，一个集群可以支持多个用户同时使用，并支持多个用户同时提交、运行任务。用户之间是不可见，MRS提供权限控制机制，使用户的任务信息不被其他用户获取。
例如，用户A提交的应用正在运行，此时用户B登录系统并查看应用列表，用户B不应该访问到A用户的应用信息。
#### 操作影响
该章节参数配置会影响restful API和shell命令结果，即以下参数配置开启后，restful API调用和shell命令运行所返回的内容只包含调用用户有权查看的信息。
#### 配置权限控制开关
1. 登录FusionInsight Manager。 
   登录集群Manager具体操作，请参考[访问MRS集群Manager](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0128.html)。
   
   
2. 选择"集群 \> 服务 \> Yarn \> 配置 \> 全部配置"。
3. 搜索以下参数名称，并根据需要修改参数值。 
   表1参数描述 
   | **参数**                                 | **描述**                                                                                                                                                                                                                                                                                                                                                                                                                                                    | **默认值** |
   |:---|:---|:---|
   | yarn.acl.enable                        | 是否开启Yarn权限控制开关。 - true：开启Yarn权限校验。  - false：关闭Yarn权限校验。此时任何用户都可以在Yarn上提交任务和查看任务信息，存在安全风险，请谨慎使用。                                                                                                                                                                      | true    |
   | yarn.webapp.filter-entity-list-by-user | ResourceManager严格视图启用开关。 开启后，该用户只能查看该用户有权限查看的内容。 - true：开启严格视图校验，开启后该用户只能查看该用户有权限查看的内容。 当要开启该功能时，同时需要设置参数"yarn.acl.enable"为true。   - false：关闭严格视图校验，此时该用户可以查看其他用户作业，存在安全风险，请谨慎使用。   | true    |
      
   
   
4. 选择"集群 \> 服务 \> Mapreduce \> 配置 \> 全部配置"。
5. 搜索以下参数名称，并根据需要修改参数值。 
   表2参数描述 
   | **参数**                                 | **描述**                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | **默认值** |
   |:---|:---|:---|
   | mapreduce.cluster.acls.enabled         | 是否开启对MR JobHistoryServer权限控制开关。 该参数为客户端参数，当JobHistoryServer服务端开启权限控制之后该参数生效。 - true：开启JobHistoryServer权限控制开关。  - false：关闭权限校验，此时任何用户都可以操作JobHistoryServer，存在安全风险，请谨慎使用。                                                                                              | true    |
   | yarn.webapp.filter-entity-list-by-user | MR JobHistoryServer严格视图启用开关。 - true：开启，开启后登录用户只能查看该用户有权限查看的内容。 该参数为JobHistoryServer的服务端参数，表示JobHistoryServer开启了权限控制，但是否要对某一个特定的Application进行控制，是由客户端参数："mapreduce.cluster.acls.enabled"决定。   - false：关闭严格视图校验，此时该用户可以查看其他用户作业，存在安全风险，请谨慎使用。   | true    |
      
   
   
6. 保存修改的配置。保存完成后请重新启动配置过期的服务或实例以使配置生效。
7. 配置完成后可以参考如下操作进行验证。 
   1. 安装客户端，如果已安装则跳过。 例如安装目录为"/opt/client"，以下操作的客户端目录只是举例，请根据实际安装目录修改。
      下载并安装集群客户端的具体操作，请参考[安装MRS集群客户端](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0089.html)。
      
   
   2. 以客户端安装用户，登录安装客户端的节点。
   
   3. 执行以下命令，切换到客户端安装目录。
      ```
      cd /opt/client
      ```
      
   
   4. 执行以下命令配置环境变量。
      ```
      source bigdata_env
      ```
      
   
   5. 执行以下命令进行用户认证，该用户需要具有Yarn任务操作权限，例如**user1** 。首次认证需要修改密码。
      ```
      kinit user1
      ```
      
   
   6. 使用**user1** 用户提交Yarn任务，例如执行以下命令使用Hadoop自带的MapReduce示例程序计算π值。
      ```
      yarn jar HDFS/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar pi 1 20
      ```
      例如执行后结果如下，表示任务提交成功，并记录任务ID，例如"application_1749532996066_0013"。
      ```
      Number of Maps  = 1
      Samples per Map = 20
      ...
      xxx,917 INFO mapreduce.Job: The url to track the job: https://server-2110082001-0018:26001/proxy/application_1749532996066_0013/
      xxx,919 INFO mapreduce.Job: Running job: job_1749532996066_0013
      ```
      
   
   7. 使用**user1** 用户登录Manager界面，选择"集群 \> 服务 \> Yarn"，单击"ResourceManager(*xxx* ，主)"链接，进入Yarn WebUI页面。
      查看到提交的Yarn任务：
      ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000002331172334.png "点击放大")
      
   
   8. 使用**user2** 用户（该用户无Yarn任务的查看权限）登录Manager界面，选择"集群 \> 服务 \> Yarn"，单击"ResourceManager(*xxx* ，主)"链接，进入Yarn WebUI页面。
      如果用户开启了权限配置开关，则在Yarn WebUI页面中查看不到**user1**用户提交的Yarn任务。
      ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000002365014133.png "点击放大")
      
   
   
   
   
 
