
# 临时授权访问OBS
#### 场景介绍
本案例介绍如何使用临时访问密钥（临时AK/SK和securitytoken），通过临时授权的方式访问OBS。
假设您希望IAM用户（用户名：APPServer）可以访问桶hi-company的APPClient文件夹，并希望申请到两个不同的临时访问密钥分发给终端APP：APP-1和APP-2，其中APP-1仅能访问APPClient/APP-1下的文件，APP-2仅能访问APPClient/APP-2下的文件。
#### 配置步骤
1. 登录[管理控制台](https://console.huaweicloud.com/console/?locale=zh-cn#/obs/manager/buckets)。
2. 在控制台页面，鼠标移动至右上方的用户名，在下拉列表中选择"统一身份认证"。
3. 创建一个IAM用户：APPServer。创建步骤请参见[创建IAM用户](https://support.huaweicloud.com/usermanual-iam/iam_02_0001.html)。
4. 创建允许访问桶hi-company中APPClient文件夹的自定义策略。 
   1. 在左侧导航窗格中，单击"权限管理"\>"权限"\>"创建自定义策略"。
   
   2. 配置自定义策略参数。
      ![](https://support.huaweicloud.com/perms-cfg-obs/public_sys-resources/note_3.0-zh-cn.png)
      在使用IAM权限之前需明确用户所需要的权限集合，IAM用户只拥有配置的策略所对应的权限。在本案例中APPServer只拥有APPClient文件夹下对象的所有操作权限。
      图1配置自定义策略   
      ![](https://support.huaweicloud.com/perms-cfg-obs/figure/zh-cn_image_0000001911437262.png)
      表1自定义策略参数配置说明 
      | 参数     | 说明                                                                                                                                                          |
      |:---|:---|
      | 策略名称   | 输入自定义策略的名称                                                                                                                                                  |
      | 策略配置方式 | 根据使用习惯进行选择，此处以"JSON视图"为例                                                                                                                                    |
      | 策略内容   | ``` { "Version": "1.1", "Statement": [ { "Action": [ "obs:object:*" ], "Resource": [ "obs:*:*:object:hi-company/APPClient/*" ], "Effect": "Allow" } ] } ``` |
      | 作用范围   | 默认为"全局级服务"                                                                                                                                                  |
         
      
   
   3. 单击"确定"，完成自定义策略创建。
   
   
   
   
5. [创建用户组并授权](https://support.huaweicloud.com/usermanual-iam/iam_03_0001.html)。
   
   按照IAM文档指导，将前面步骤创建的自定义策略添加到用户组中。
   
   
6. 将需要授权的IAM用户（APPServer）[加入到创建的用户组中](https://support.huaweicloud.com/usermanual-iam/iam_03_0002.html)，授权完成。
   
   ![](https://support.huaweicloud.com/perms-cfg-obs/public_sys-resources/note_3.0-zh-cn.png)
   由于缓存的存在，授予OBS相关的策略后，大概需要等待10\~15分钟策略才能生效。
   
   
7. IAM用户（APPServer）为终端APP-1和APP-2获取临时访问密钥（临时AK/SK和securitytoken）。 
   为获取具有不同权限的临时访问密钥，需设置临时策略，设置方式为添加请求体中的policy参数，可参考[获取临时AK/SK和securitytoken](https://support.huaweicloud.com/api-iam/iam_04_0002.html)。
   下面将给出获取临时访问密钥的请求样例，其中临时策略加粗表示。
   **为终端APP-1获取临时访问密钥的请求示例如下：**
   ```
   {
       "auth": {
   "identity": {
       "policy": {
   "Version": "1.1",
   "Statement": [
       {
   "Action": [
       "obs:object:*"
   ],
   "Resource": [
       "obs:*:*:object:hi-company/APPClient/APP-1/*"
   ],
   "Effect": "Allow"
       }
   ]
       },
       "token": {
   "duration-seconds": 900
   
       },
       "methods": [
   "token"
       ]
   }
       }
   }
   ```
   **为终端APP-2获取临时访问密钥的请求示例如下：**
   ```
   {
       "auth": {
   "identity": {
       "policy": {
   "Version": "1.1",
   "Statement": [
       {
   "Action": [
       "obs:object:*"
   ],
   "Resource": [
       "obs:*:*:object:hi-company/APPClient/APP-2/*"
   ],
   "Effect": "Allow"
       }
   ]
       },
       "token": {
   "duration-seconds": 900
   
       },
       "methods": [
   "token"
       ]
   }
       }
   }
   ```
   
   
 
#### 验证
终端APP-1和APP-2获取对应的临时访问密钥后，可使用OBS API或SDK来访问OBS，APP-1只能访问APPClient/APP-1下的文件，APP-2只能访问APPClient/APP-2下的文件。
