
# 在CodeArts TestPlan接口脚本中调用GetIAMToken关键字
#### 概述
该系统关键字可以用于通过用户名/密码的方式进行认证来获取IAM用户Token。Token是系统颁发给IAM用户的访问令牌，承载用户的身份、权限等信息。调用IAM以及其他云服务的接口时，可以使用该系统关键字获取的IAM用户Token。
#### 参数详解
| 参数            | 是否必选 | 参数类型   | 默认值                                          | 描述                                                                                                                                                                       |
|:---|:---|:---|:---|:---|
| IAM Token URL | 是    | String | https://iam.myhuaweicloud.com/v3/auth/tokens | IAM的Endpoint（终端节点）。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见：[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。  |
| Domain Name   | 是    | String | \<空\>                                        | IAM用户所属账号名称/租户名。 当使用华为账号登录时，租户(账号)名称与用户名相同。关于如何获取账号名称请参见：[获取账号](https://support.huaweicloud.com/api-iam/iam_17_0002.html#section0) |
| User Name     | 是    | String | \<空\>                                        | IAM用户名。关于如何获取用户名称请参见：[获取IAM 用户名](https://support.huaweicloud.com/api-iam/iam_17_0002.html#section0)                                                                      |
| Password      | 是    | String | \<空\>                                        | IAM用户登录密码（登录密码属于个人敏感信息，须在环境参数中定义为敏感参数）。                                                                                                                                  |
| Region ID     | 否    | String | \<空\>                                        | 区域ID（如：cn-north-1），关于如何获取区域ID请参见：[获取区域ID](https://support.huaweicloud.com/api-iam/iam_17_0002.html#section2)                                                             |
   
#### 默认检查点
| 名称 | 预期值 |
|:---|:---|
| 结果 | 成功  |
   
#### 默认响应提取
| 名称        | 提取变量            | 含义        |
|:---|:---|:---|
| IAM_TOKEN | X-Subject-Token | 用户TOKEN字符 |
   
#### 响应
- **状态：成功**
  
  | 参数   | 参数类型     | 描述       |
  |:---|:---|:---|
  | Body | IAM接口返回体 | IAM接口返回体 |
     
  
 
- **响应示例**
```
{
    "token": {
        "catalog": [],
        "expires_at": "2020-01-04T09:05:22.701000Z",
        "issued_at": "2020-01-03T09:05:22.701000Z",
        "methods": [
            "password"
        ],
        "project": {
            "domain": {
                "id": "d78cbac186b744899480f25bd022f...",
                "name": "IAMDomain"
            },
            "id": "aa2d97d7e62c4b7da3ffdfc11551f...",
            "name": "cn-north-1"
        },
        "roles": [
            {
                "id": "0",
                "name": "te_admin"
            },
            {
                "id": "0",
                "name": "op_gated_OBS_file_protocol"
            },
            {
                "id": "0",
                "name": "op_gated_Video_Campus"
            }
        ],
        "user": {
            "domain": {
                "id": "d78cbac186b744899480f25bd022f...",
                "name": "IAMDomain"
            },
            "id": "7116d09f88fa41908676fdd4b039e...",
            "name": "IAMUser",
            "password_expires_at": ""
        }
    },
    "X-Subject-Token": "MIIatAYJKoZIhvcNAQcCoIIapTCCGqECAQExDTALB..."
}
```
#### 示例
- **获取IAM用户TOKEN**
![](https://support.huaweicloud.com/usermanual-testman/public_sys-resources/note_3.0-zh-cn.png)
IAM Token URL默认配置全局访问地址（global），如需更改Endpoint请参考IAM官网地址（[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)）；
Password字段属于敏感参数，需要在变量里面配置且设置为敏感参数，在下拉框中选用。
![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001936914110.png "点击放大")
- **在接口中引用TOKEN**
![](https://support.huaweicloud.com/usermanual-testman/public_sys-resources/note_3.0-zh-cn.png)
IAM_TOKEN为保留的默认响应提取，可以直接在请求里面引用。
![](https://support.huaweicloud.com/usermanual-testman/zh-cn_image_0000001936914106.png "点击放大")
