
# 更新认证策略配置 - UpdateAuthMethodConfig
#### 功能介绍
更新认证策略配置信息。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/Workspace/doc?api=UpdateAuthMethodConfig)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-workspace/workspace_09_0128.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                          | 访问级别  | 资源类型（\*为必须） | 条件键 | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | workspace:authConfigs:update | Write | -           | -   | -  | -      |
     
  
 
#### URI
PUT /v2/{project_id}/auth-config/method-config
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述    |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目ID。 |
   
#### 请求参数
表2请求Body参数 
| 参数                                   | 是否必选 | 参数类型                                                                                 | 描述                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| id                                   | 否    | String                                                                               | 认证配置id。                                                                                                                                                                                                                                                                                                                       |
| is_multi_domain_authenticate_enabled | 否    | Boolean                                                                              | 是否支持多域。                                                                                                                                                                                                                                                                                                                       |
| auth_type                            | 否    | String                                                                               | 认证类型。 RADIUS_GATEWAY：短信辅助认证 OAUTH2:OAUTH2认证 CLIENT_TOKEN:本地token认证 USER_PASSWORD:密码认证类型 SAML2:SAML 2.0 联邦认证 |
| radius_gateway_config                | 否    | [RadiusGatewayConfig] object   | 短信辅助认证配置。                                                                                                                                                                                                                                                                                                                     |
| third_party_auth_config              | 否    | [ThirdPartyAuthConfig] object | 第三方认证配置信息。                                                                                                                                                                                                                                                                                                                    |
| emergency_login_mode                 | 否    | String                                                                               | 应急登录模式。                                                                                                                                                                                                                                                                                                                       |
| saml2_auth_config                    | 否    | [Saml2AuthConfig] object           | SAML2认证配置信息。                                                                                                                                                                                                                                                                                                                  |
| sms_login_enabled                    | 否    | Boolean                                                                              | 短信验证码登录开关。                                                                                                                                                                                                                                                                                                                    |
| login_captcha                        | 否    | [LoginCaptchaConfig] object     | 滑块验证码相关配置。                                                                                                                                                                                                                                                                                                                    |
   
 表3RadiusGatewayConfig 
| 参数                      | 是否必选 | 参数类型    | 描述         |
|:---|:---|:---|:---|
| enable                  | 否    | Boolean | 是否启用。      |
| app_id                  | 否    | String  | 用户名。       |
| password                | 否    | String  | 密码。        |
| token_url               | 否    | String  | 获取token地址。 |
| verification_cipher_url | 否    | String  | 获取验证码地址。   |
| cert_content            | 否    | String  | 证书内容（PEM）。 |
   
 表4ThirdPartyAuthConfig 
| 参数                         | 是否必选 | 参数类型                                                                         | 描述                                                    |
|:---|:---|:---|:---|
| update_type                | 否    | String                                                                       | 更新认证配置类型，认证类型为第三方单点登录时使用。                             |
| enable                     | 否    | Boolean                                                                      | 是否启用。                                                 |
| update_object              | 否    | String                                                                       | 更新认证配置对象，认证类型为第三方单点登录时使用。                             |
| auth_type                  | 否    | String                                                                       | 认证类型。                                                 |
| client_interface_config    | 否    | [InterfacesConfig] object | 接口配置。                                                 |
| server_interface_config    | 否    | [InterfacesConfig] object | 接口配置。                                                 |
| third_password_update_type | 否    | String                                                                       | 更新认证配置类型，认证类型为第三方密码时使用。ADD代表新增，UPDATE代表修改，DELETE代表删除。 |
| custom_definition          | 否    | String                                                                       | 自定义接口配置。                                              |
| oauth_configs              | 否    | String                                                                       | oauth2配置。                                             |
| ldap_configs               | 否    | Array of [LdapConfig] objects   | 单点登录配置信息列表。                                           |
| third_password_name        | 否    | String                                                                       | 更新认证配置对象，认证类型为第三方密码时使用。                               |
   
 表5InterfacesConfig 
| 参数             | 是否必选 | 参数类型                                                                           | 描述    |
|:---|:---|:---|:---|
| apply_platform | 否    | String                                                                         | 应用平台。 |
| id             | 否    | String                                                                         | ID。   |
| name           | 否    | String                                                                         | 名称。   |
| type           | 否    | String                                                                         | 类型。   |
| results        | 否    | Map\<String,String\>                                                           | 结果。   |
| pagination     | 否    | Map\<String,Object\>                                                           | 分页信息。 |
| request        | 否    | [InterfacesRequest] object | 接口请求。 |
| response       | 否    | String                                                                         | 响应。   |
| result_check   | 否    | String                                                                         | 检查结果。 |
   
 表6InterfacesRequest 
| 参数      | 是否必选 | 参数类型                 | 描述     |
|:---|:---|:---|:---|
| method  | 否    | String               | 方法。    |
| params  | 否    | Map\<String,String\> | 请求参数。  |
| headers | 否    | Map\<String,String\> | 请求头信息。 |
| body    | 否    | String               | 请求体。   |
| url     | 否    | String               | URL。   |
| configs | 否    | Map\<String,Object\> | 配置。    |
   
 表7LdapConfig 
| 参数                     | 是否必选 | 参数类型    | 描述                    |
|:---|:---|:---|:---|
| host                   | 否    | String  | host。                 |
| port                   | 否    | Integer | 端口,取值范围1-65535,默认389。 |
| base_dn                | 否    | String  | base_dn。              |
| administrator_dn       | 否    | String  | 管理员dn。                |
| administrator_password | 否    | String  | 管理员密码。                |
| user_dn                | 否    | String  | 用户dn。                 |
| use_ssl                | 否    | Boolean | 是否启用ssl。              |
| cert_content           | 否    | String  | 证书。                   |
| username_attribute     | 否    | String  | 用户名属性。                |
| object_class           | 否    | String  | 用户ObjectClass。        |
| security_type          | 否    | String  | 安全类型。                 |
   
 表8Saml2AuthConfig 
| 参数                     | 是否必选 | 参数类型                                                                       | 描述        |
|:---|:---|:---|:---|
| identity_provider      | 否    | String                                                                     | 身份提供者名称。  |
| access_server_address  | 否    | String                                                                     | 接入服务器地址。  |
| unique_user_identifier | 否    | String                                                                     | 唯一用户标识符。  |
| idp_metadata_info      | 否    | [IdpMetadataInfo] object | IDP元数据信息。 |
   
 表9IdpMetadataInfo 
| 参数             | 是否必选 | 参数类型   | 描述                |
|:---|:---|:---|:---|
| id             | 否    | String | IDP元数据id。         |
| file_name      | 否    | String | IDP元数据文件名称。       |
| content        | 否    | String | IDP元数据内容（base64）。 |
| content_length | 否    | Number | 元数据大小（字节数），最大1M。  |
| create_time    | 否    | Long   | 创建时间戳。            |
| update_time    | 否    | Long   | 更新时间戳。            |
   
 表10LoginCaptchaConfig 
| 参数                | 是否必选 | 参数类型    | 描述                                                           |
|:---|:---|:---|:---|
| enabled           | 否    | Boolean | 是否开启滑块验证码。                                                   |
| trigger_threshold | 否    | Integer | 用户登录失败 trigger_threshold 次后开始要求验证码认证。验证码不启用时无意义，启用时若不传默认为 3。 |
   
#### 响应参数
**状态码：200**
表11响应Body参数 
| 参数         | 参数类型   | 描述    |
|:---|:---|:---|
| project_id | String | 项目ID。 |
   
**状态码：400**
表12响应Body参数 
| 参数                            | 参数类型   | 描述                                                           |
|:---|:---|:---|
| error_code                    | String | 错误码。                                                         |
| error_msg                     | String | 错误描述。                                                        |
| error_detail                  | String | 错误详情。                                                        |
| encoded_authorization_message | String | 加密后的详细拒绝原因，用户可以自行调用STS服务的decode-authorization-message接口进行解密。 |
   
**状态码：401**
表13响应Body参数 
| 参数                            | 参数类型   | 描述                                                           |
|:---|:---|:---|
| error_code                    | String | 错误码。                                                         |
| error_msg                     | String | 错误描述。                                                        |
| error_detail                  | String | 错误详情。                                                        |
| encoded_authorization_message | String | 加密后的详细拒绝原因，用户可以自行调用STS服务的decode-authorization-message接口进行解密。 |
   
**状态码：403**
表14响应Body参数 
| 参数                            | 参数类型   | 描述                                                           |
|:---|:---|:---|
| error_code                    | String | 错误码。                                                         |
| error_msg                     | String | 错误描述。                                                        |
| error_detail                  | String | 错误详情。                                                        |
| encoded_authorization_message | String | 加密后的详细拒绝原因，用户可以自行调用STS服务的decode-authorization-message接口进行解密。 |
   
**状态码：404**
表15响应Body参数 
| 参数                            | 参数类型   | 描述                                                           |
|:---|:---|:---|
| error_code                    | String | 错误码。                                                         |
| error_msg                     | String | 错误描述。                                                        |
| error_detail                  | String | 错误详情。                                                        |
| encoded_authorization_message | String | 加密后的详细拒绝原因，用户可以自行调用STS服务的decode-authorization-message接口进行解密。 |
   
**状态码：500**
表16响应Body参数 
| 参数                            | 参数类型   | 描述                                                           |
|:---|:---|:---|
| error_code                    | String | 错误码。                                                         |
| error_msg                     | String | 错误描述。                                                        |
| error_detail                  | String | 错误详情。                                                        |
| encoded_authorization_message | String | 加密后的详细拒绝原因，用户可以自行调用STS服务的decode-authorization-message接口进行解密。 |
   
#### 请求示例
```
PUT /v2/fb2e5ec048384c8f9469d22db0037908/auth-config/method-config
{
  "auth_type" : "RADIUS_GATEWAY",
  "radius_gateway_config" : {
    "enable" : true,
    "app_id" : "sms3d356sd4f1s3e",
    "password" : 123456,
    "token_url" : "www.xxx-token.com",
    "verification_cipher_url" : "www.xxx-sms.com",
    "cert_content" : "cert_content"
  }
}
```
#### 响应示例
**状态码：200**
更新认证策略配置响应。
```
{
  "project_id" : "0e575d8e1a00f4742f70c00589a0ebdc"
}
```
#### 状态码
| 状态码 | 描述                      |
|:---|:---|
| 200 | 更新认证策略配置响应。             |
| 400 | 由于包含语法错误，当前请求无法被服务器理解。  |
| 401 | 鉴权失败。                   |
| 403 | 没有操作权限。                 |
| 404 | 找不到资源。                  |
| 500 | 服务内部错误，具体返回错误码请参见错误码说明。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-workspace/ErrorCode.html)。
