
# 查询用户ID - GetUserId
#### 功能介绍
根据用户名或外部身份源ID，以精确匹配的方式查询用户ID。用户名和外部身份源ID两种查询方式二选一，不支持同时传入。此操作只能由组织的管理账号或作为服务委托管理员的成员账号调用。
#### 授权信息
账号根用户具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备如下身份策略权限，更多的权限说明请参见[权限和授权项](https://support.huaweicloud.com/api-identitycenter/iic_04_0028.html)。
| 授权项                           | 访问级别 | 资源类型（\*为必须） | 条件键 | 别名 | 依赖的授权项                                     |
|:---|:---|:---|:---|:---|:---|
| IdentityCenter:user:getUserId | Read | -           | -   | -  | organizations:delegatedAdministrators:list |
   
#### URI
POST /v1/identity-stores/{identity_store_id}/users/retrieve-user-id
表1路径参数 
| 参数                | 是否必选 | 参数类型   | 描述                                                                                           |
|:---|:---|:---|:---|
| identity_store_id | 是    | String | 身份源的全局唯一标识符（ID）。 最小长度：**12** 最大长度：**12** |
   
#### 请求参数
表2请求Header参数 
| 参数               | 是否必选 | 参数类型   | 描述                                                                                     |
|:---|:---|:---|:---|
| X-Security-Token | 否    | String | 如果正在使用临时安全凭据，则此header是必需的，该值是临时安全凭据的安全令牌（会话令牌）。 最大长度：**2048** |
   
表3请求Body参数 
| 参数                                                                                              | 是否必选 | 参数类型   | 描述     |
|:---|:---|:---|:---|
| [alternate_identifier] | 是    | Object | 备用标识符。 |
   
 表4alternate_identifier 
| 参数                                                                                      | 是否必选 | 参数类型   | 描述                 |
|:---|:---|:---|:---|
| [external_id]           | 否    | Object | 外部身份提供商颁发给此资源的标识符。 |
| [unique_attribute] | 否    | Object | 特定实体唯一的实体属性。       |
   
 表5alternate_identifier.external_id 
| 参数     | 是否必选 | 参数类型   | 描述                                                                                               |
|:---|:---|:---|:---|
| id     | 是    | String | 外部身份提供商颁发给此资源的标识符。 最小长度：**1** 最大长度：**256** |
| issuer | 是    | String | 外部标识符的颁发者。 最小长度：**1** 最大长度：**100**        |
   
 表6alternate_identifier.unique_attribute 
| 参数              | 是否必选 | 参数类型   | 描述                                                                                 |
|:---|:---|:---|:---|
| attribute_path  | 是    | String | 属性路径。 最小长度：**1** 最大长度：**255**    |
| attribute_value | 是    | String | 属性的值。 最小长度：**1** 最大长度：**255** |
   
#### 响应参数
**状态码： 200**
表7响应Body参数 
| 参数                | 参数类型   | 描述                                                                                                  |
|:---|:---|:---|
| identity_store_id | String | 身份源的全局唯一标识符（ID）。 最小长度：**1** 最大长度：**36**       |
| user_id           | String | 身份源中IAM身份中心用户的全局唯一标识符（ID）。 最小长度：**1** 最大长度：**47** |
   
**状态码： 400**
表8响应Body参数 
| 参数         | 参数类型   | 描述    |
|:---|:---|:---|
| error_code | String | 错误码。  |
| error_msg  | String | 错误信息。 |
| request_id | String | 请求ID。 |
   
**状态码： 403**
表9响应Body参数 
| 参数                            | 参数类型   | 描述       |
|:---|:---|:---|
| error_code                    | String | 错误码。     |
| error_msg                     | String | 错误信息。    |
| request_id                    | String | 请求ID。    |
| encoded_authorization_message | String | 加密的错误信息。 |
   
#### 请求示例
根据用户名或外部身份源ID，以精确匹配的方式查询用户ID。
```
POST https://{hostname}/v1/identity-stores/{identity_store_id}/users/retrieve-user-id
{
  "alternate_identifier" : {
        "unique_attribute" : {
      "attribute_path" : "user_name",
      "attribute_value" : "用户名u1"
    }
  }
}
```
#### 响应示例
**状态码： 200**
Successful
```
{
  "identity_store_id" : "d-a00aaaa33f",
  "user_id" : "ac6aa714-daa7-1aaa-aaa2-6715aaaa4dd9"
}
```
#### 状态码
请参见[状态码](https://support.huaweicloud.com/api-identitycenter/iic_04_0030.html)。
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-identitycenter/ErrorCode.html)。
