# 更新凭据 - UpdateSecret
#### 功能介绍
更新指定凭据的元数据信息
#### 接口约束
此接口仅能修改凭据的元数据信息，无法修改凭据值
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-dew/dew_02_0002.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-dew/dew_02_0308.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                | 访问级别  | 资源类型（\*为必须）   | 条件键                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | csms:secret:update | Write | secretName \* | - csms:Type   - csms:KmsKeyId   - g:EnterpriseProjectId   - g:ResourceTag/\<tag-key\>    | -  | -      |
     
  
 
#### URI
PUT /v1/{project_id}/secrets/{secret_name}
表1路径参数 
| 参数          | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| project_id  | 是    | String | **参数解释：** 项目ID。可参考[获取项目ID](https://support.huaweicloud.com/api-dew/dew_02_0009.html)获取。 **约束限制：** 不涉及 **取值范围：** 以IAM服务接口返回值为准，字符长度32-32 **默认取值：** 不涉及 |
| secret_name | 是    | String | **参数解释：** 凭据名称 **约束限制：** 不涉及 **取值范围：** 需要满足正则表达式：\^\[a-zA-Z0-9_-\]{1,64}$ **默认取值：** 不涉及                                                               |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token。 通过调用IAM服务查询用户Token接口获取（响应消息头中X-Subject-Token的值）。使用AK、SK等认证方式，此处非必选 **约束限制：** 不涉及 **取值范围：** IAM服务查询用户Token接口为准 **默认取值：** 不涉及 |
   
表3请求Body参数 
| 参数                  | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| kms_key_id          | 否    | String           | **参数解释：** 用于加密保护凭据值的KMS主密钥ID，如果您未指定此参数，凭据管理服务将默认使用名为csms/default的默认主密钥，用于加密您账号在本项目中创建的凭据值。如果用户账号下不存在该名称的主密钥，则凭据管理服务自动为您创建该名称的密钥 **约束限制：** 不涉及 **取值范围：** 需要满足正则表达式：\^\[0-9a-z\]{8}-\[0-9a-z\]{4}-\[0-9a-z\]{4}-\[0-9a-z\]{4}-\[0-9a-z\]{12}$ **默认取值：** 不涉及 |
| description         | 否    | String           | **参数解释：** 凭据的描述信息 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                               |
| auto_rotation       | 否    | Boolean          | **参数解释：** 自动轮转，仅特定类型的凭据支持配置此参数 **约束限制：** 不涉及 **取值范围：** true 开启 ，false 关闭 (默认) **默认取值：** false                                                                                                                                                             |
| rotation_period     | 否    | String           | **参数解释：** 轮转周期，当开启自动轮转时，必须填写该值 **约束限制：** Integer\[unit\] ，Integer表示时间长度 。unit表示时间单位，d（天）、h（小时）、m（分钟）、s（秒）。例如 1d 表示一天，24h也表示一天 **取值范围：** 4小时-8，760小时 （365天） **默认取值：** 不涉及                                                                                  |
| event_subscriptions | 否    | Array of strings | **参数解释：** 凭据订阅的事件列表。当事件包含的基础事件触发时，通知消息将发送到事件对应的通知主题 **约束限制：** 当前最大可订阅一个事件 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                     |
| rotation_func_urn   | 否    | String           | **参数解释：** 凭据轮转函数，对应FunctionGraph函数的urn。当开启自动轮转时，必须填写 **约束限制：** 已创建好凭据轮转函数 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                     |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数     | 参数类型                                            | 描述                                                                                                                             |
|:---|:---|:---|
| secret | [Secret] object | **参数解释：** 凭据详细信息 **取值范围：** 不涉及 |
   
 表5Secret 
| 参数                    | 参数类型                                                        | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|
| id                    | String                                                      | **参数解释：** 凭据的资源标识符 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| name                  | String                                                      | **参数解释：** 凭据名称 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| state                 | String                                                      | **参数解释：** 凭据状态 **取值范围：** - ENABLED：表示启用状态   - DISABLED：表示禁用状态   - PENDING_DELETE：表示待删除状态   - FROZEN：表示冻结状态                                                                                                                          |
| kms_key_id            | String                                                      | **参数解释：** 用于加密凭据值的KMS主密钥的ID值 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| description           | String                                                      | **参数解释：** 凭据的描述信息 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| create_time           | Long                                                        | **参数解释：** 凭据创建时间，时间戳，即从1970年1月1日至该时间的总毫秒数 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| update_time           | Long                                                        | **参数解释：** 凭据上次更新时间，时间戳，即从1970年1月1日至该时间的总毫秒数 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| scheduled_delete_time | Long                                                        | **参数解释：** 凭据计划删除时间，时间戳，即从1970年1月1日至该时间的总毫秒数 凭据不在删除计划中时，本项值为null **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| secret_type           | String                                                      | **参数解释：** 凭据类型 **取值范围：** - COMMON：通用凭据(默认)。用于应用系统中的各种敏感信息储存   - RDS：RDS凭据 。专门针对RDS的凭据，用于存储RDS的账号信息（已不支持，使用RDS-FG替代）   - RDS-FG：RDS凭据 。专门针对RDS的凭据，用于存储RDS的账号信息   - GaussDB-FG：TaurusDB凭据。专门针对TaurusDB的凭据，用于存储TaurusDB的账号信息           |
| auto_rotation         | Boolean                                                     | **参数解释：** 自动轮转 **取值范围：** true 开启， false 关闭(默认)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| rotation_period       | String                                                      | **参数解释：** 轮转周期 **取值范围：** 4小时-8，760小时 （365天）                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| rotation_config       | String                                                      | **参数解释：** 轮转配置 **取值范围：** - 不超过1024个字符   - 当secret_type为RDS-FG、GaussDB-FG时，配置为{"InstanceId":"","SecretSubType":""}    说明：当secret_type为RDS-FG、GaussDB-FG时，必须填写该值 InstanceId为实例ID，SecretSubType为轮转子类型，取值为：SingleUser，MultiUser SingleUser：指定轮转类型为单用户模式轮转，每次轮转将指定账号重置为新的口令 MultiUser：指定轮转类型为双用户模式轮转，SYSCURRENT和SYSPREVIOUS分别引用其中一个账号。凭据轮转时，SYSPREVIOUS引用的账号口令会被重置为新的随机口令，随后凭据交换SYSCURRENT和SYSPREVIOUS对账号的引用 |
| rotation_time         | Long                                                        | **参数解释：** 轮转时间戳 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| next_rotation_time    | Long                                                        | **参数解释：** 下一次轮转时间戳 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| last_used_time        | Long                                                        | **参数解释：** 最近一次获取凭据值的时间 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| event_subscriptions   | Array of strings                                            | **参数解释：** 凭据订阅的事件列表，当前最大可订阅一个事件。当事件包含的基础事件触发时，通知消息将发送到事件对应的通知主题 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| enterprise_project_id | String                                                      | **参数解释：** 企业项目ID **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| rotation_func_urn     | String                                                      | **参数解释：** FunctionGraph函数的urn **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| domain_id             | String                                                      | **参数解释：** 凭据所属的租户的id **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| replica_type          | String                                                      | **参数解释：** 多 Region 凭据类型 **取值范围：** - STANDALONE：表示当前凭据没有 多Region 副本   - PRIMARY：表示当前凭据有多 Region 副本，当前凭据为主凭据   - REPLICA：表示当前凭据有多 Region 副本，当前凭据为副本凭据                                                                                                                                                                                                                                   |
| replicas              | Array of [Replica] objects | **参数解释：** 副本凭据信息 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   
 表6Replica 
| 参数           | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|
| id           | String | **参数解释：** 凭据资源标识符 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| kms_key_id   | String | **参数解释：** 用于加密凭据值的KMS密钥的ID **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| project_id   | String | **参数解释：** 凭据所属的 project_id **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| region       | String | **参数解释：** 凭据所属的 region 名称 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| replica_type | String | **参数解释：** 多 Region 凭据类型 **取值范围：** - PRIMARY：当前凭据为主凭据   - REPLICA：当前凭据为副本凭据                                                                                                                                                                           |
| status       | String | **参数解释：** 副本凭据同步状态 **取值范围：** - IN_PROGRESS：副本凭据待同步   - IN_SYNC：副本与主凭据同步   - FAILED：副本凭据与主凭据同步失败    |
| created_at   | Long   | **参数解释：** 创建时间戳 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| updated_at   | Long   | **参数解释：** 更新时间戳 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   
#### 请求示例
更新凭据KMS密钥ID为"0001293d-fa52-4256-b5bb-661dea066b39"，描述为"update description"
```
{
  "kms_key_id" : "0001293d-fa52-4256-b5bb-661dea066b39",
  "description" : "update description",
  "event_subscriptions" : [ "pocEvent2" ]
}
```
#### 响应示例
**状态码：200**
请求已成功
```
{
  "secret" : {
    "id" : "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e",
    "name" : "test",
    "state" : "ENABLED",
    "kms_key_id" : "0001293d-fa52-4256-b5bb-661dea066b39",
    "description" : "description",
    "create_time" : 1581507580000,
    "update_time" : 1581507580000,
    "scheduled_delete_time" : 1581507580000,
    "secret_type" : "RDS-FG",
    "auto_rotation" : true,
    "rotation_config" : "{'InstanceId':'instance id','SecretSubType':'MultiUser'}",
    "rotation_period" : "1d",
    "rotation_time" : 1668567940000,
    "next_rotation_time" : 1668629140000,
    "event_subscriptions" : [ "pocEvent" ],
    "rotation_func_urn" : "urn:fss:{region}:46b6f338fc3445b8846c71dfb1fbxxxx:function:default:test2-0:latest"
  }
}
```
#### 状态码
| 状态码 | 描述    |
|:---|:---|
| 200 | 请求已成功 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-dew/ErrorCode.html)。
