
# 配置Guardian服务不启用Ranger OBS路径鉴权
#### 操作场景
该章节指导用户开启集群未启用Kerberos认证（普通模式）的Guardian组件存算分离操作，且不支持通过Ranger配置组件关于OBS相关路径的权限策略（即关闭使用Guardian对接OBS的AccessLabel，OBS侧无需关注是否启用AccessLabel功能）。配置后Guardian可以在存算分离场景下为HDFS、Hive、Spark、Loader、HetuEngine等服务提供访问OBS的临时认证凭据。
配置Guardian服务对接OBS主要操作如下：
1. [创建OBS并行文件系统]
2. [创建云服务委托并绑定集群]
3. [为Guardian组件配置访问OBS权限]
4. [配置回收站清理策略]
5. [配置OBS碎片生命周期规则]
 
#### 前提条件
- 集群已安装Guardian、Ranger、Hadoop等组件。
- 如果安装Hadoop、HetuEngine、Hive、Spark等组件后，再安装Guardian，则需要重新下载客户端，并对管理面作业提交的默认客户端进行刷新。
 
#### 对系统的影响
配置完该章节操作后，原始的客户端需要重新刷新配置，或重新安装客户端。
 #### 创建OBS并行文件系统
1. 登录[OBS管理控制台](https://console.huaweicloud.com/obs/)。
2. 选择"并行文件系统 \> 创建并行文件系统"。
3. 填写文件系统名称，例如"guardian-obs"。 企业项目需要与MRS集群保持一致，其他参数请根据需要填写。
   
4. 单击"立即创建"。
 
 #### 创建云服务委托并绑定集群
![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
- MRS在IAM的委托列表中预置了**MRS_ECS_DEFAULT_AGENCY** 委托，可在集群创建过程中选择该委托，该委托拥有对象存储服务的OBS OperateAccess权限和在集群所在区域拥有MRS Agency KMSAccess权限。同时请勿在IAM修改**MRS_ECS_DEFAULT_AGENCY**委托。
- 如需使用预置的委托，请跳过创建委托步骤。如需使用自定义委托，请参考如下步骤进行创建委托（创建或修改委托需要用户具有Security Administrator权限）。如果还需对OBS文件系统中的指定路径进行更加细粒度的权限控制，可参考[配置MRS集群用户的OBS的细粒度访问权限](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0632.html)创建自定义的角色策略。
 
1. 登录[IAM管理控制台](https://console.huaweicloud.com/iam)。
2. 选择"委托 \> 创建委托"。
3. 在创建委托页面配置以下参数，并单击"完成"：
   - 委托名称：设置委托名称，例如：mrs_ecs_obs。
   
   - 委托类型：选择"云服务"。
   
   - 云服务：选择"弹性云服务器ECS 裸金属服务器BMS"。
   
   - 持续时间：选择"永久"。
    
4. 在授权的确认弹窗中，单击"立即授权"，在弹出的授权页面，单击"新建策略"。
   在新建策略界面配置以下参数并单击"下一步"：
   - 策略名称：自定义策略名称，例如"guardian-policy"。
   
   - 策略配置方式：选择"JSON视图"。
   
   - 策略内容配置如下：
     ```
     {
         "Version": "1.1",
         "Statement": [
             {
                 "Effect": "Allow",
                 "Action": [
     "obs:bucket:GetBucketLocation",
     "obs:bucket:ListBucketMultipartUploads",
     "obs:object:GetObject",
     "obs:object:ModifyObjectMetaData",
     "obs:object:DeleteObject",
     "obs:object:ListMultipartUploadParts",
     "obs:bucket:HeadBucket",
     "obs:object:AbortMultipartUpload",
     "obs:bucket:ListBucket",
     "obs:object:PutObject",
             "obs:bucket:ListAllMyBuckets"
                 ],
                 "Resource": [
                     "OBS:*:*:bucket:guardian-obs",
                     "OBS:*:*:bucket:guardian-obs2",
                     "OBS:*:*:object:*"
                 ]
             }
         ]
     }
     ```
     上述的"Resource"配置表示可访问配置的并行文件系统的所有资源，*guardian-obs* 为[创建OBS并行文件系统]创建的OBS并行文件系统名称。
     
     
5. 单击"下一步"，在"选择策略"页面勾选[4]创建的策略名称。
6. 单击"下一步"，在"选择授权范围"中勾选"全局服务资源"，单击"确定"。
7. 在弹出的提示框中单击"知道了"，开始授权。界面提示"授权成功。"，单击"完成"，委托成功创建。
8. 登录[MRS管理控制台](https://console.huaweicloud.com/mrs/)。
9. 在导航栏选择"现有集群"。
10. 单击集群名称，进入集群详情页面。
11. 在集群详情页的"概览"页签，单击"IAM用户同步"右侧的"同步"进行IAM用户同步。
12. 在集群详情页的"概览"页签，单击委托右侧的"选择委托"选择创建的委托名称，例如"mrs_ecs_obs"，单击"确定"进行绑定。
    图1绑定委托   
    ![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0000002415736721.png "点击放大") 
 
 #### 为Guardian组件配置访问OBS权限
1. 登录MRS集群Manager界面，具体请参见[访问MRS集群Manager](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0128.html)，选择"集群 \> 服务 \> Guardian \> 配置 \> 全部配置"搜索并修改以下参数。
   
   | 参数                                  | 含义                                                                                                                                                                                                                                                                                                                                                                                                                                                            | 取值示例                                                                              |
   |:---|:---|:---|
   | fs.obs.guardian.accesslabel.enabled | 是否开启使用Guardian对接OBS的access label。 - true：对接OBS后，可通过Ranger配置组件关于OBS相关路径的权限策略，需确保OBS服务已开启AccessLabel功能，如果未开启，需手动开启，详细操作请联系OBS服务运维人员。  - false：对接OBS后，不能通过Ranger配置组件关于OBS相关路径的权限策略，无需关注OBS服务是否开启AccessLabel功能。   该参数值需设置为"false"。 | false                                                                             |
   | fs.obs.guardian.enabled             | 是否开启使用Guardian。 - true：开启使用Guardian。  - false：默认值，不使用Guardian。                                                                                                                                                                | true                                                                              |
   | fs.obs.delegation.token.providers   | delegation token生成器，当"fs.obs.guardian.enabled"参数值为"true"时，需要同时配置com.huawei.mrs.dt.MRSDelegationTokenProvider和com.huawei.mrs.dt.GuardianDTProvider。                                                                                                                                                                                                                                                                                                            | com.huawei.mrs.dt.MRSDelegationTokenProvider和com.huawei.mrs.dt.GuardianDTProvider |
      
   
2. 单击"保存"保存服务配置，然后在FusionInsight Manager主页中选择"更多 \> 重启配置过期的实例"，根据界面提示重启所有配置过期的服务实例。
3. 如果需要通过MRS管理控制台提交作业，使用**omm** 用户登录主OMS节点，执行以下命令刷新内置客户端配置：
   ```
   sh /opt/executor/bin/refresh-client-config.sh
   ```
   
4. （可选）如果安装了集群其他组件的客户端，则需更新相关客户端配置，具体操作请参见[更新客户端配置](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0090.html#mrs_01_0090__section17728154711371)。
 
 #### 配置回收站清理策略
1. 登录[OBS管理控制台](https://console.huaweicloud.com/obs/)。
2. 选择"并行文件系统"，单击[创建OBS并行文件系统]的文件系统名称。
3. 选择"数据管理 \> 生命周期规则"，单击"创建"，创建"/user/.Trash"目录的生命周期规则。
   ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/caution_3.0-zh-cn.png)
   **配置集群使用存算分离方案后，必须配置相关目录的生命周期策略，否则会有存储空间被占满以及增加存储资源费用的风险，关于OBS更多计费说明请参考[OBS计费概述](https://support.huaweicloud.com/price-obs/obs_42_0001.html)。**
   表1生命周期规则创建参数 
   | 参数名称        | 描述                                                                                                            | 示例          |
   |:---|:---|:---|
   | 状态          | 是否启用本条生命周期规则。                                                                                                 | 启用          |
   | 规则名称        | 规则名称，可自定义，用于识别不同的生命周期配置。                                                                                      | rule-test   |
   | 前缀          | 生命周期规则适用的对象前缀，MRS集群组件数据回收站目录为"/user/.Trash"。                                                                  | user/.Trash |
   | 转换为低频访问存储天数 | 指定在对象最后一次更新后多少天，受规则影响的对象将转换为低频访问存储。至少设置为30天。                                                                  | 30天         |
   | 转换为归档存储天数   | 指定在对象最后一次更新后多少天，受规则影响的对象将转换为归档存储。若同时设置转换为低频访问存储和转换为归档存储，则转换为归档存储的时间要比转换为低频访问存储的时间至少长30天。若单独设置转换为归档存储，则没有时间限制。 | 31天         |
   | 文件过期删除天数    | 指定在对象最后一次更新后多少天，受规则影响的对象将过期并自动被OBS删除。过期时间必须大于前两个转换时间的最大值。                                                     | 32天         |
   | 碎片过期规则设置    | 受规则影响的碎片将过期并自动被OBS删除。                                                                                         | 30天         |
      
   
4. 单击"确定"，完成生命周期规则配置。 若您需修改生命周期的内容，请单击该生命周期规则所在行右侧的"编辑"进行编辑；单击"禁用"，可以禁用该生命周期规则。单击"启用"，可启用该生命周期规则。
   
 
 #### 配置OBS碎片生命周期规则
1. 登录[OBS管理控制台](https://console.huaweicloud.com/obs/)。
2. 选择"并行文件系统"，单击[创建OBS并行文件系统]的文件系统名称。
3. 选择"数据管理 \> 生命周期规则"，单击"创建"，创建OBS碎片的生命周期规则。
   ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/caution_3.0-zh-cn.png)
   - **由于OBS的[多段上传](https://support.huaweicloud.com/usermanual-obs/obs_41_0021.html)机制，写入数据到OBS的任务中断或失败时，会在OBS中产生OBS文件碎片，碎片会在OBS中产生存储费用，因此必须配置对应目录的生命周期策略以避免增加存储成本** 。**详细说明请参见[清理碎片](https://support.huaweicloud.com/usermanual-obs/zh-cn_topic_0045829110.html)**。
   
   - 推荐单独为OBS碎片新增一条针对所有文件的生命周期规则，与组件回收站目录配置的生命周期规则分开。
    
   表2生命周期规则创建参数 
   | 分类       | 参数名称 | 描述                                                    | 示例         |
   |:---|:---|:---|:---|
   | 基本信息     | 状态   | 是否启用本条生命周期规则。                                         | 启用         |
   | 基本信息     | 规则名称 | 规则名称，可自定义，用于识别不同的生命周期配置。                              | rule-test1 |
   | 基本信息     | 范围   | 使用对象名称作为筛选条件，明确生命周期规则适用的对象范围，请根据实际需求进行配置，例如配置为"所有文件"。 | 所有文件       |
   | 当前版本     | 状态   | 是否启用"当前版本"配置，需关闭。                                     | 关闭         |
   | 碎片过期规则设置 | 状态   | 是否启用"碎片过期规则设置"，需开启。                                   | 开启         |
   | 碎片过期规则设置 | 设置天数 | 受规则影响的碎片将过期并自动被OBS删除，请根据实际需求进行配置，例如配置为7天。             | 7天         |
      
   
4. 勾选确认信息，单击"确定"，完成生命周期规则配置。 若您需修改生命周期的内容，请单击该生命周期规则所在行右侧的"编辑"进行编辑；单击"禁用"，可以禁用该生命周期规则。单击"启用"，可启用该生命周期规则。
   
 
