
# 让IAM用户只能看到被授权的桶
#### 场景介绍
本章节介绍如何通过企业项目为华为云账号下的某个IAM用户配置指定桶的权限，使其只能在控制台看到授权的桶并且拥有桶的指定权限，无法看到账号下的其他桶，实现桶资源的隔离。
本案例将指定IAM用户test-user只能在控制台看到名为example的桶，并且只拥有上传权限（obs:object:PutObject）、列举桶内权限（obs:bucket:ListBucket）和列举桶权限（obs:bucket:ListAllMyBuckets），通过这些权限test-user用户可以完成上传对象的操作。
#### 推荐配置方法
企业项目
#### 配置须知
- 如果同时在IAM和企业项目中针对某个动作（Action）为某IAM用户进行了授权，授权结果以IAM为准。 举例：
  1、如果在IAM和企业项目同时配置了列举桶权限（obs:bucket:ListAllMyBuckets），最终结果会列举出所有桶，包括用户所属企业项目之外的桶。
  2、针对上传权限（obs:object:PutObject），如果在IAM中配置Allow，企业项目中配置deny，最终结果为Allow，即允许上传对象。
  
- 如果在IAM中为某IAM用户配置OBS Viewer权限，并且将其所在用户组加入至企业项目中，则IAM用户登录后将会出现无法列举桶的情况。
- 配置完成进入桶后仍然会出现无权限相关提示，属于正常现象，因为控制台还调用了其他高级配置的接口，但此时已可以正常完成读写模式中允许的操作。
 
#### 配置步骤
1. 登录[管理控制台](https://console.huaweicloud.com/console/?locale=zh-cn#/obs/manager/buckets)，单击页面右上方的"企业 \> 项目管理"。参考[创建企业项目](https://support.huaweicloud.com/usermanual-em/zh-cn_topic_0108763964.html)，使用授权账号创建一个名为test-project的企业项目。
2. 参考[为企业项目迁入资源](https://support.huaweicloud.com/usermanual-em/zh-cn_topic_0108763967.html)，将目标桶example-001迁入[步骤1]中test-project的企业项目中。
   
   ![](https://support.huaweicloud.com/perms-cfg-obs/public_sys-resources/note_3.0-zh-cn.png)
   如果需要授权多个桶，则将需要的桶都迁移到企业项目中即可。
   图1将目标桶迁入目标企业项目   
   ![](https://support.huaweicloud.com/perms-cfg-obs/figure/zh-cn_image_0000001898294028.png)
   
   
3. 选择"权限管理 "。单击"用户授权"。 
   图2为企业用户添加授权   
   ![](https://support.huaweicloud.com/perms-cfg-obs/figure/zh-cn_image_0000001898297092.png)
   
   
4. 进入IAM用户界面，找到目标用户test-user。 
   图3找到目标IAM用户   
   ![](https://support.huaweicloud.com/perms-cfg-obs/figure/zh-cn_image_0000001938176589.png)
   
   
5. 单击"操作"列下的"授权"，进入授权页面。选择"直接给用户授权（适用于企业项目授权）"。 
   图4选择直接给用户授权   
   ![](https://support.huaweicloud.com/perms-cfg-obs/figure/zh-cn_image_0000001911452186.png)
   
   
6. 对目标用户test-user设置策略，使该用户在test-project企业项目中拥有策略定义的权限。 
   1. 选择策略。您可以在所选策略的下拉框中选择"自定义策略"对已有策略进行筛选，也可以通过右侧"新建策略"创建自定义策略。
      - 创建自定义策略的具体操作请参见[创建自定义策略](https://support.huaweicloud.com/usermanual-iam/iam_01_0605.html)。本案例配置的自定义权限内容如下图所示，其中包含上传权限（obs:object:PutObject）、列举桶内权限（obs:bucket:ListBucket）和列举桶权限（obs:bucket:ListAllMyBuckets）。
      
      - OBS系统权限说明请参见[表1](https://support.huaweicloud.com/perms-cfg-obs/obs_40_0021.html#ZH-CN_TOPIC_0242743672__table143320246431)。
        图5配置自定义策略   
        ![](https://support.huaweicloud.com/perms-cfg-obs/figure/zh-cn_image_0000001911574376.png)
        ![](https://support.huaweicloud.com/perms-cfg-obs/public_sys-resources/note_3.0-zh-cn.png)
        用户所在的用户组在IAM中需未添加此处待添加的策略，否则添加的策略将以IAM中配置的为准。
        
       
   
   2. 勾选待添加的策略。
   
   
   图6添加自定义策略   
   ![](https://support.huaweicloud.com/perms-cfg-obs/figure/zh-cn_image_0000001911494472.png)
   
   
7. 单击"下一步"。将目标用户test-user（未加入任何用户组）添加至该企业项目中。 
   图7将目标用户添加至企业项目中   
   ![](https://support.huaweicloud.com/perms-cfg-obs/figure/zh-cn_image_0000001944733633.png)
   
   
8. 单击"确定"，完成权限配置。添加成功的权限会展示在"权限管理 \> 授权管理"的"企业项目视图"列表中。 
   图8添加完成   
   ![](https://support.huaweicloud.com/perms-cfg-obs/figure/zh-cn_image_0000001911574380.png)
   ![](https://support.huaweicloud.com/perms-cfg-obs/public_sys-resources/note_3.0-zh-cn.png)
   完成企业项目权限配置后，无需再配置IAM自定义策略或系统策略。
   
   
 
#### 验证
1. 使用目标用户test-user登录OBS控制台。
2. 可以看到桶列表中只有名为example-001的桶。 
   图9验证权限配置结果   
   ![](https://support.huaweicloud.com/perms-cfg-obs/figure/zh-cn_image_0000001898306768.png)
   
   
3. 进入目标桶，单击左侧导航栏"对象"。可以看到桶中的其他对象。 
   图10进入桶example-001   
   ![](https://support.huaweicloud.com/perms-cfg-obs/figure/zh-cn_image_0000001938231353.png)
   ![](https://support.huaweicloud.com/perms-cfg-obs/public_sys-resources/note_3.0-zh-cn.png)
   配置完成进入桶后仍然会出现无权限相关提示，属于正常现象，因为控制台还调用了其他高级配置的接口，但此时已可以正常完成读写模式中允许的操作。
   
   
4. 上传文件111.txt至桶example-001中，可以上传成功。表示权限配置成功。 
   图11上传文件   
   ![](https://support.huaweicloud.com/perms-cfg-obs/figure/zh-cn_image_0000001898514830.png)
   ![](https://support.huaweicloud.com/perms-cfg-obs/public_sys-resources/note_3.0-zh-cn.png)
   如果需要配置其他指定的权限完成其他操作，如下载对象或删除对象等，可前往"账号名 \> 统一身份认证 \> 权限"页面配置的自定义策略中继续配置相关权限即可。
   
   
 
