
# 给子账号配置文件夹级的SFS Turbo访问权限
#### 场景描述
本文介绍如何配置文件夹级的SFS Turbo访问权限，实现在ModelArts中访问挂载的SFS Turbo时，只允许子账号访问特定的SFS Turbo文件夹内容。
![](https://support.huaweicloud.com/permission-modelarts/public_sys-resources/note_3.0-zh-cn.png)
给子账号配置文件夹级的SFS Turbo访问权限为白名单功能，如果有试用需求，请提工单申请权限。
#### 前提条件
- 需要在ModelArts控制台打开严格授权模式。新创建的账号默认开启严格授权模式。严格授权模式开关在ModelArts旧版控制台的"权限管理 "页面显示。新版控制台无严格授权模式开关。
- 如果打开严格模式前没有为子账号配置过ModelArts权限，开启严格授权模式后可能会导致子账号无法使用ModelArts功能，请根据您的业务需求配置需要的ModelArts服务的权限（参见[依赖和委托](https://support.huaweicloud.com/permission-modelarts/modelarts_24_0081.html)中ModelArts服务对应的依赖策略项）。
 
#### 操作步骤
1. 使用主用户账号登录管理控制台，鼠标放在右上角用户名，在下拉框中选择"统一身份认证"，进入统一身份认证（IAM）服务。
2. 在统一身份认证服务页面的左侧导航选择"权限管理 \> 权限"，单击右上角的"创建自定义策略"，设置策略。
   
   - "策略名称"：设置自定义策略名称，例如：ma_sfs_turbo。
   
   - "策略配置方式"：JSON视图。
   
   - "策略内容"：填入如下内容。
     ```
     {
         "Version": "1.1",
         "Statement": [
             {
                 "Effect": "Allow",
                 "Action": [
                     "<modelarts_action>"
                 ],
                 "Condition": {
                     "StringEqualsIfExists": {
                         "modelarts:sfsId": [
                             "<your_sfs_id>"
                         ],
                         "modelarts:sfsPath": [
                             "<sfs_path>"
                         ],
                         "modelarts:sfsOption": [
                             "<sfs_option>"
                         ]
                     }
                 }
             }
         ]
     }
     ```
     
   
   
   ![](https://support.huaweicloud.com/permission-modelarts/public_sys-resources/note_3.0-zh-cn.png)
   - 未创建以上权限策略前，所有子账号默认可以挂载SFS Turbo。当您创建了以上SFS权限管控策略后，没有被授予以上权限的子账号，默认在ModelArts Console上创建训练作业时无法挂载SFS Turbo（具有Tenant Administrator权限的子账号除外）。
   
   - 当前仅支持配置允许策略的权限（即以上"策略内容"中的"Effect"只能配置为"Allow"），请勿配置拒绝策略的权限。
   
   - Condition参数必须使用"StringEqualsIfExists"字段，对应可视化视图为勾选"如果存在"的开关。
     图1"如果存在"的开关   
     ![](https://support.huaweicloud.com/permission-modelarts/figure/zh-cn_image_0000001961868522.png) 
    
   以上代码中的"*\<modelarts_action\>* "、"*\<your_sfs_id\>* "、"*\<sfs_path\>* "、"*\<sfs_option\>*"，需要根据您的业务需求替换为实际的参数，各参数含义如下。
   表1参数解释 
   | 参数                  | **参数解释**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   |:---|:---|
   | Action              | 表示在何种场景下授予SFS Turbo文件夹访问权限。 - 创建开发环境实例：modelarts:notebook:create  - 创建训练作业：modelarts:trainJob:create   支持填写多种Action，例如： ``` "Action": [ "modelarts:trainJob:create", "modelarts:notebook:create" ], ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | modelarts:sfsId     | SFS Turbo的ID，在SFS Turbo详情页查看。支持填写多个ID，例如： ``` "modelarts:sfsId": [ "0e51c7d5-d90e-475a-b5d0-ecf896da3b0d", "2a70da1e-ea87-4ee4-ae1e-55df846e7f41" ], ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | modelarts:sfsPath   | 需要进行权限配置的SFS Turbo文件夹路径。支持填写多个路径，例如： ``` "modelarts:sfsPath": [ "/path1", "/path2/path2-1" ], ``` 如果sfsId中填写了多个ID，则sfsPath会应用于所有sfsId。例如以下代码含义为：为"0e51c7d5-d90e-475a-b5d0-ecf896da3b0d"的"/path1"和"/path2/path2-1"配置访问权限，同时也为"2a70da1e-ea87-4ee4-ae1e-55df846e7f41"的"/path1"和"/path2/path2-1"配置访问权限。 ``` "modelarts:sfsId": [ "0e51c7d5-d90e-475a-b5d0-ecf896da3b0d", "2a70da1e-ea87-4ee4-ae1e-55df846e7f41" ], "modelarts:sfsPath": [ "/path1", "/path2/path2-1" ], ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | modelarts:sfsOption | 设置用户对于SFS Turbo文件夹的权限类型，支持填写以下参数： - 仅读权限：readonly  - 读写权限：readwrite（创建开发环境实例modelarts:notebook:create仅支持配置readwrite）   如果需要在一个自定义策略中添加多个不同的sfsOption，需要"Statement"中新增JSON结构体，例如： ``` { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "modelarts:trainJob:create" ], "Condition": { "StringEqualsIfExists": { "modelarts:sfsId": [ "0e51c7d5-d90e-475a-b5d0-ecf896da3b0d" ], "modelarts:sfsPath": [ "/path1" ], "modelarts:sfsOption": [ "readonly" ] } } }, { "Effect": "Allow", "Action": [ "modelarts:trainJob:create" ], "Condition": { "StringEqualsIfExists": { "modelarts:sfsId": [ "0e51c7d5-d90e-475a-b5d0-ecf896da3b0d" ], "modelarts:sfsPath": [ "/path2" ], "modelarts:sfsOption": [ "readwrite" ] } } } ] } ``` |
      
   
   
3. 创建用户组并加入用户，步骤请参考[Step1 创建用户组并加入用户](https://support.huaweicloud.com/permission-modelarts/modelarts_24_0089.html)。
4. 给用户组授权策略。在IAM服务的用户组列表页面，单击"授权"，进入到授权页面，为子账号配置权限。勾选[步骤2]中创建的"ma_sfs_turbo"策略。单击"下一步"和"确定"。
5. 在已有的ModelArts委托权限中，追加IAM ReadOnlyAccess权限。 
   1. 在ModelArts管理控制台，单击"权限管理 "，在对应委托的操作列，单击"查看权限 \> 去IAM修改委托权限"。
   
   2. 在新页面中，单击"授权记录 \> 授权"，搜索"IAM ReadOnlyAccess"，勾选后单击"下一步"并单击"确认"。
   
   
   
   
6. 验证权限是否配置成功。 
   登录子用户账号，在创建训练作业/创建Notebook时，仅能看到配置的SFS Turbo文件夹，则表示权限配置成功。
   
   
 
