# 更新STS凭证提供商
#### 功能介绍
更新指定的STS凭证提供商。
#### URI
PUT /v1/sts-credential-providers/{credential_provider_name}
表1路径参数 
| 参数                       | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| credential_provider_name | 是    | String | **参数解释**： 凭证提供商名称，用于唯一标识一个凭证提供商。 **约束限制**： 不涉及。 **取值范围**： 只能由英文字母、数字及"-"、"_"组成，长度为1\~56个字符。 **默认取值**： 不涉及。 |
   
#### 请求参数
表2请求Body参数 
| 参数         | 是否必选 | 参数类型                                                              | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| agency_urn | 否    | String                                                            | **参数解释**： IAM委托的统一资源名称（URN），用于获取IAM临时凭证，在IAM控制台的「委托」页面中获取，需确保该委托的信任策略允许 AgentIdentity 服务执行 sts:agencies:assume 动作。 **约束限制**： 不涉及。 **取值范围**： 只能由英文字母、数字及"/"、"="、"_"、":"、"-"组成，长度为16\~1500个字符。 **默认取值**： 不涉及。 |
| tags       | 否    | Array of [Tag] objects | **参数解释**： 自定义标签列表。 **约束限制**： 列表最多20个标签。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                                                                                                       |
   
 表3Tag 
| 参数    | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| key   | 是    | String | **参数解释**： 标签键，用于标识标签的名称。 **约束限制**： 首尾不能包含空格，不能以"_sys_"开头。 **取值范围**： 可以包含任意语种字母、数字、空格以及"_"、"."、":"、"/"、"="、"+"、"-"、"@"符号的任意组合，长度为1\~128个字符。 **默认取值**： 不涉及。 |
| value | 是    | String | **参数解释**： 标签值，用于标识标签的具体内容。 **约束限制**： 不涉及。 **取值范围**： 可以包含任意语种字母、数字、空格以及"_"、"."、":"、"/"、"="、"+"、"-"、"@"、"\&"符号的任意组合，可以是空字符串，长度为0\~255个字符。 **默认取值**： 不涉及。    |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数                  | 参数类型                                                                                         | 描述                                                                                                                                                                                                     |
|:---|:---|:---|
| credential_provider | [StsCredentialProvider] object | **参数解释**： STS凭证提供商，用于配置通过IAM委托获取临时访问凭证的参数。 **取值范围**： 不涉及。 |
   
 表5StsCredentialProvider 
| 参数                     | 参数类型                                                               | 描述                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|
| credential_provider_id | String                                                             | **参数解释**： 凭证提供商的唯一标识符。 **取值范围**： 只能由英文字母、数字及"-"、"_"组成，长度为1\~64个字符。                                                                                                            |
| name                   | String                                                             | **参数解释**： 凭证提供商名称，用于唯一标识一个凭证提供商。 **取值范围**： 只能由英文字母、数字及"-"、"_"组成，长度为1\~56个字符。                                                                                                  |
| urn                    | String                                                             | **参数解释**： 凭证提供商的唯一资源名称（URN）。 **取值范围**： 不涉及。                                                                                                                                   |
| agency_urn             | String                                                             | **参数解释**： IAM委托的统一资源名称（URN），用于获取IAM临时凭证，在IAM控制台的「委托」页面中获取，需确保该委托的信任策略允许 AgentIdentity 服务执行 sts:agencies:assume 动作。 **取值范围**： 只能由英文字母、数字及"/"、"="、"_"、":"、"-"组成，长度为16\~1500个字符。 |
| created_at             | String                                                             | **参数解释**： UTC时间戳，记录资源的创建或更新时间。 **取值范围**： 使用UTC+0时间格式，格式为yyyy-MM-ddTHH:mm:ssZ。例如：2025-01-01T00:00:00Z。                                                                         |
| updated_at             | String                                                             | **参数解释**： UTC时间戳，记录资源的创建或更新时间。 **取值范围**： 使用UTC+0时间格式，格式为yyyy-MM-ddTHH:mm:ssZ。例如：2025-01-01T00:00:00Z。                                                                         |
| tags                   | Array of [Tag] objects | **参数解释**： 自定义标签列表。 **取值范围**： 不涉及。                                                                                                                                             |
   
 表6Tag 
| 参数    | 参数类型   | 描述                                                                                                                                                                                                                                                                    |
|:---|:---|:---|
| key   | String | **参数解释**： 标签键，用于标识标签的名称。 **取值范围**： 可以包含任意语种字母、数字、空格以及"_"、"."、":"、"/"、"="、"+"、"-"、"@"符号的任意组合，长度为1\~128个字符。                |
| value | String | **参数解释**： 标签值，用于标识标签的具体内容。 **取值范围**： 可以包含任意语种字母、数字、空格以及"_"、"."、":"、"/"、"="、"+"、"-"、"@"、"\&"符号的任意组合，可以是空字符串，长度为0\~255个字符。 |
   
**状态码：400**
表7响应Body参数 
| 参数                            | 参数类型   | 描述                                                                                                                                                                                                 |
|:---|:---|:---|
| error_code                    | String | **参数解释**： 错误码。 **取值范围**： 不涉及。                         |
| error_msg                     | String | **参数解释**： 错误信息。 **取值范围**： 不涉及。                        |
| request_id                    | String | **参数解释**： 请求ID。 **取值范围**： 不涉及。                        |
| encoded_authorization_message | String | **参数解释**： 加密后的认证失败信息，可以通过STS5解密接口进行解密。 **取值范围**： 不涉及。 |
   
**状态码：404**
表8响应Body参数 
| 参数                            | 参数类型   | 描述                                                                                                                                                                                                 |
|:---|:---|:---|
| error_code                    | String | **参数解释**： 错误码。 **取值范围**： 不涉及。                         |
| error_msg                     | String | **参数解释**： 错误信息。 **取值范围**： 不涉及。                        |
| request_id                    | String | **参数解释**： 请求ID。 **取值范围**： 不涉及。                        |
| encoded_authorization_message | String | **参数解释**： 加密后的认证失败信息，可以通过STS5解密接口进行解密。 **取值范围**： 不涉及。 |
   
**状态码：409**
表9响应Body参数 
| 参数                            | 参数类型   | 描述                                                                                                                                                                                                 |
|:---|:---|:---|
| error_code                    | String | **参数解释**： 错误码。 **取值范围**： 不涉及。                         |
| error_msg                     | String | **参数解释**： 错误信息。 **取值范围**： 不涉及。                        |
| request_id                    | String | **参数解释**： 请求ID。 **取值范围**： 不涉及。                        |
| encoded_authorization_message | String | **参数解释**： 加密后的认证失败信息，可以通过STS5解密接口进行解密。 **取值范围**： 不涉及。 |
   
#### 请求示例
更新STS凭证提供商的agency_urn和标签。
```
PUT https://{endpoint}/v1/sts-credential-providers/{credential_provider_name}
{
  "agency_urn" : "iam::3fd23817bd85480e8dc4f520075de348:agency:provider",
  "tags" : [ {
    "key" : "key-1",
    "value" : "value-1"
  } ]
}
```
#### 响应示例
**状态码：200**
```
{
  "credential_provider" : {
    "credential_provider_id" : "684a2c3e5f1b9d0e7a3c4f56",
    "name" : "my_stsprovider",
    "urn" : "agentIdentity:<region>:<account-id>:stsCredentialProvider:tokenVault/<token-vault-id>/<name>",
    "agency_urn" : "iam::3fd23817bd85480e8dc4f520075de348:agency:provider",
    "created_at" : "2025-01-02 00:00:00",
    "updated_at" : "2025-01-02 00:00:00",
    "tags" : [ {
      "key" : "key-1",
      "value" : "value-1"
    } ]
  }
}
```
#### 状态码
| 状态码 | 描述        |
|:---|:---|
| 200 | 请求成功。     |
| 400 | 请求体异常。    |
| 404 | 未找到相应的资源。 |
| 409 | 请求冲突。     |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-agentidentity/ErrorCode.html)。
