
# 编辑策略 - UpdateDeviceSecurityPolicy
#### 功能介绍
编辑指定设备的安全策略配置
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-dsc/dsc_02_0008.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-dsc/dsc_02_0031.html)。
- 如果使用身份策略授权，当前API调用无需身份策略权限。
 
#### URI
PUT /v1/{project_id}/devices/security-policies/{policy_id}
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述   |
|:---|:---|:---|:---|
| policy_id  | 是    | Long   | 策略ID |
| project_id | 是    | String | 项目ID |
   
#### 请求参数
表2请求Body参数 
| 参数                      | 是否必选 | 参数类型                                                                                 | 描述            |
|:---|:---|:---|:---|
| config                  | 是    | [ConfigInfo] object                 | 策略配置信息        |
| name                    | 否    | String                                                                               | 策略名称          |
| policy                  | 是    | Array of [PolicyInfo] objects       | 策略信息          |
| related_datasource_id   | 是    | String                                                                               | 关联的数据库ID      |
| related_datasource_name | 否    | String                                                                               | 关联的数据库名称      |
| related_datasource_type | 否    | String                                                                               | 关联的数据库类型      |
| related_device_id       | 否    | String                                                                               | 执行策略的设备ID     |
| resource                | 否    | [DeviceResourceInfo] object | 设备内安全策略关联资源信息 |
| target_datasource_id    | 否    | String                                                                               | 静脱策略中的目标数据库ID |
| target_datasource_name  | 否    | String                                                                               | 静脱策略中的目标数据库名称 |
| target_datasource_type  | 否    | String                                                                               | 静脱策略中的目标数据库类型 |
| target_resource         | 否    | [DeviceResourceInfo] object | 设备内安全策略关联资源信息 |
| type                    | 否    | String                                                                               | 策略类型          |
   
 表3ConfigInfo 
| 参数         | 是否必选 | 参数类型                                                               | 描述              |
|:---|:---|:---|:---|
| ddm_config | 否    | [DdmConfig] object | 动态脱敏策略信息        |
| dom_config | 否    | [DomConfig] object | 数据库运维策略信息（暂不支持） |
| gde_config | 否    | [GdeConfig] object | 数据库加密策略信息       |
| sdm_config | 否    | [SdmConfig] object | 静态脱敏策略信息        |
   
 表4DdmConfig 
| 参数               | 是否必选 | 参数类型    | 描述                            |
|:---|:---|:---|:---|
| proxy_port       | 否    | Integer | 代理端口                          |
| zk_election_port | 否    | Integer | 自定义ZK选举端口，大数据类型（HBase和Hive）才有 |
| zk_port          | 否    | Integer | 自定义的ZK端口，大数据类型（HBase和Hive）才有  |
   
 表5DomConfig 
| 参数          | 是否必选 | 参数类型   | 描述   |
|:---|:---|:---|:---|
| deploy_mode | 否    | String | 部署模式 |
   
 表6GdeConfig 
| 参数         | 是否必选 | 参数类型    | 描述             |
|:---|:---|:---|:---|
| enc_mode   | 否    | Integer | 加密模式，1：加密，2：解密 |
| proxy_port | 否    | Integer | 代理端口           |
   
 表7SdmConfig 
| 参数                  | 是否必选 | 参数类型    | 描述       |
|:---|:---|:---|:---|
| auto_rebuild_target | 否    | Boolean | 是否重建表    |
| clear_target        | 否    | Boolean | 是否清理目标表  |
| select_param        | 否    | String  | 抽取方式对应的值 |
| select_type         | 否    | String  | 抽取类型     |
| skip_dirty_data     | 否    | Boolean | 是否跳过脏数据  |
   
 表8PolicyInfo 
| 参数          | 是否必选 | 参数类型                                                                 | 描述        |
|:---|:---|:---|:---|
| dbss_policy | 否    | [DbssPolicy] object | 数据库审计策略信息 |
| ddm_policy  | 否    | [DdmPolicy] object   | 动态脱敏策略信息  |
| dom_policy  | 否    | [DomPolicy] object   | 数据库运维策略信息 |
| gde_policy  | 否    | [GdePolicy] object   | 加密策略信息    |
| sdm_policy  | 否    | [SdmPolicy] object   | 静脱策略信息    |
   
 表9DbssPolicy 
| 参数          | 是否必选 | 参数类型    | 描述      |
|:---|:---|:---|:---|
| data_mask   | 否    | Boolean | 隐私数据脱敏  |
| show_result | 否    | Boolean | 是否显示结果集 |
   
 表10DdmPolicy 
| 参数        | 是否必选 | 参数类型                                                                   | 描述         |
|:---|:---|:---|:---|
| columns   | 否    | Array of [Column] objects | 策略配置的列信息列表 |
| namespace | 否    | String                                                                 | 命名空间名称     |
| table     | 否    | String                                                                 | 表名称        |
   
 表11DomPolicy 
| 参数                              | 是否必选 | 参数类型    | 描述                          |
|:---|:---|:---|:---|
| custom_policy                   | 否    | Boolean | 是否启用自定义策略                   |
| data_audit                      | 否    | Boolean | 是否进行数据审计                    |
| default_action                  | 否    | String  | 策略默认动作，pass/block/audit/... |
| intelligent_protection_baseline | 否    | Boolean | 是否启用智能防护基线                  |
| virtual_patch                   | 否    | Boolean | 是否启用虚拟补丁                    |
   
 表12GdePolicy 
| 参数      | 是否必选 | 参数类型                                                                   | 描述                       |
|:---|:---|:---|:---|
| action  | 否    | Integer                                                                | 1加密，2解密                  |
| alg     | 否    | String                                                                 | 加密算法，sm4、aes-128、aes-256 |
| columns | 否    | Array of [Column] objects | 需加密的列信息                  |
| table   | 否    | String                                                                 | 表名称                      |
   
 表13SdmPolicy 
| 参数        | 是否必选 | 参数类型                                                                   | 描述           |
|:---|:---|:---|:---|
| columns   | 否    | Array of [Column] objects | 列信息          |
| do_mask   | 否    | Boolean                                                                | 是否脱敏         |
| do_move   | 否    | Boolean                                                                | 是否迁移         |
| namespace | 否    | String                                                                 | 命名空间，HBase特有 |
| table     | 否    | String                                                                 | 表名称          |
   
 表14Column 
| 参数   | 是否必选 | 参数类型    | 描述        |
|:---|:---|:---|:---|
| mask | 否    | Integer | 脱敏算法名称或ID |
| name | 否    | String  | 列名称       |
   
 表15DeviceResourceInfo 
| 参数             | 是否必选 | 参数类型    | 描述             |
|:---|:---|:---|:---|
| account        | 否    | String  | 用户名            |
| address        | 否    | String  | 地址             |
| address_type   | 否    | String  | 地址类型（ipv4、ipv） |
| case_sensitive | 否    | Boolean | \\             |
| database_name  | 否    | String  | 数据库名称          |
| extra_params   | 否    | String  | 预留字段           |
| password       | 否    | String  | 密码             |
| port           | 否    | Integer | 端口             |
| res_id         | 否    | String  | 数据库ID          |
| res_type       | 否    | String  | 数据库类型          |
| res_version    | 否    | String  | 数据库版本          |
   
#### 响应参数
**状态码：200**
表16响应Body参数 
| 参数     | 参数类型   | 描述  |
|:---|:---|:---|
| id     | String | ID  |
| msg    | String | 消息  |
| status | String | 响应码 |
   
**状态码：201**
资源创建
#### 请求示例
```
PUT /v1/{project_id}/devices/security-policies/{policy_id}
{
  "config" : { },
  "name" : "string",
  "policy" : [ { } ],
  "related_datasource_id" : "string",
  "related_datasource_name" : "string",
  "related_datasource_type" : "string",
  "related_device_id" : "string",
  "resource" : { },
  "target_datasource_id" : "string",
  "target_datasource_name" : "string",
  "target_datasource_type" : "string",
  "target_resource" : { },
  "type" : "string"
}
```
#### 响应示例
无
#### 状态码
| 状态码 | 描述             |
|:---|:---|
| 200 | 更新成功           |
| 201 | 资源创建           |
| 401 | 未授权，用户未登录或令牌无效 |
| 403 | 无权限访问该资源       |
| 404 | 指定的项目或策略不存在    |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-dsc/ErrorCode.html)。
