
# 设备获取全量安全态势感知配置
#### Topic
上行: $oc/devices/{device_id}/sys/shadow/get/request_id={request_id}
下行: $oc/devices/{device_id}/sys/shadow/get/response/request_id={request_id}
#### 上行请求参数说明
| 字段名              | 必选/可选 | 类型     | 参数描述                                                                                                                                                               |
|:---|:---|:---|:---|
| object_device_id | 可选    | String | **参数解释：** 需要获取设备影子的目标设备ID。                                      |
| service_id       | 必选    | String | **参数解释：** 需要获取设备影子的设备服务ID，安全态势感知配置固定为：$security_detection_config。 |
   
#### 下行响应参数说明
| 字段名              | 必选/可选 | 类型                 | 参数描述                                                                                                                      |
|:---|:---|:---|:---|
| object_device_id | 必选    | String             | **参数解释：** 设备影子的目标设备ID。 |
| shadow           | 可选    | List\<ShadowData\> | **参数解释：** 服务影子数据。      |
   
ShadowData结构定义：
| 字段名        | 必选/可选 | 类型             | 参数描述                                                                                                                                              |
|:---|:---|:---|:---|
| service_id | 必选    | String         | **参数解释：** 安全检测配置固定为：$security_detection_config。 |
| desired    | 可选    | PropertiesData | **参数解释：** 安全检测配置属性列表。                          |
| reported   | 可选    | PropertiesData | **参数解释：** 设备影子reported区的属性列表。                  |
| version    | 可选    | Integer        | **参数解释：** 设备影子版本信息。                            |
   
PropertiesData结构定义：
| 字段名        | 必选/可选 | 类型                 | 参数描述                                                                                                                                                                  |
|:---|:---|:---|:---|
| properties | 必选    | SecurityProperties | **参数解释：** 安全态势感知配置详情。                                                |
| event_time | 可选    | String             | **参数解释：** 设备属性数据的UTC时间（格式：yyyyMMdd'T'HHmmss'Z'），如：20161219T114920Z。 |
   
 #### SecurityProperties结构定义：
| 字段名                                | 必选/可选 | 类型      | 参数描述                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| memoryCheck                        | 可选    | Integer | **参数解释：** 内存检测开关，0：关闭内存检测，1：开启内存检测。 **取值范围：** \[0, 1\] |
| memoryThreshold                    | 可选    | Integer | **参数解释：** 内存利用率告警阈值。 **取值范围：** \[1, 100\]                                                                 |
| memoryCheckReportPeriod            | 可选    | Integer | **参数解释：** 内存检测上报周期，单位：小时。 **取值范围：** \[1, 24\]                                                           |
| portCheck                          | 可选    | Integer | **参数解释：** 端口检测开关，0：关闭端口检测，1：开启端口检测。 **取值范围：** \[0, 1\]                                                |
| portCheckReportPeriod              | 可选    | Integer | **参数解释：** 端口检测上报周期，取值范围1-24，单位：小时。 **取值范围：** \[1, 24\]                                                    |
| cpuUsageCheck                      | 可选    | Integer | **参数解释：** CPU检测开关，0：关闭CPU检测，1：开启CPU检测。 **取值范围：** \[0, 1\]                                                |
| cpuUsageThreshold                  | 可选    | Integer | **参数解释：** CPU利用率告警阈值，取值范围1-100。 **取值范围：** \[1, 100\]                                                     |
| cpuUsageCheckReportPeriod          | 可选    | Integer | **参数解释：** CPU检测上报周期，取值范围1-24，单位：小时。 **取值范围：** \[1, 24\]                                                  |
| diskSpaceCheck                     | 可选    | Integer | **参数解释：** 磁盘检测开关，0：关闭磁盘检测，1：开启磁盘检测。 **取值范围：** \[0, 1\]                                                   |
| diskSpaceThreshold                 | 可选    | Integer | **参数解释：** 磁盘利用率告警阈值，取值范围1-100。 **取值范围：** \[1, 100\]                                                     |
| diskSpaceCheckReportPeriod         | 可选    | Integer | **参数解释：** 磁盘检测上报周期，取值范围1-24，单位：小时。 **取值范围：** \[1, 24\]                                                |
| batteryPercentageCheck             | 可选    | Integer | **参数解释：** 电量检测开关，0：关闭电量检测，1：开启电量检测。 **取值范围：** \[0, 1\]                                                   |
| batteryPercentageThreshold         | 可选    | Integer | **参数解释：** 电量百分比告警阈值，取值范围1-100。 **取值范围：** \[1, 100\]                                                      |
| batteryPercentageCheckReportPeriod | 可选    | Integer | **参数解释：** 电量检测上报周期，取值范围1-24，单位：小时。 **取值范围：** \[1, 24\]                                                   |
| loginLocalCheck                    | 可选    | Integer | **参数解释：** 本地登录检测开关，0：关闭本地登录检测，1：开启本地登录检测。 **取值范围：** \[0, 1\]                                            |
| loginBruteForceCheck               | 可选    | Integer | **参数解释：** 暴力破解登录检测开关，0：关闭暴力破解登录检测，1：开启暴力破解登录检测。 **取值范围：** \[0, 1\]                                        |
| maliciousIPCheck                   | 可选    | Integer | **参数解释：** 恶意IP检测开关，0：关闭恶意IP检测，1：开启恶意IP检测。 **取值范围：** \[0, 1\]                                             |
| fileTamperCheck                    | 可选    | Integer | **参数解释：** 0：关闭文件防篡改检测，1：开启文件防篡改检测。 **取值范围：** \[0, 1\]                                                  |
   
#### 上行请求示例
```
Topic: $oc/devices/{device_id}/sys/shadow/get/request_id={request_id} 
数据格式：  
{
"object_device_id": "40fe3542-f4cc-4b6a-98c3-61a49ba1acd4",
"service_id": "$security_detection_config"
}
```
#### 下行响应示例
```
Topic：$oc/devices/{device_id}/sys/shadow/get/response/request_id={request_id}
数据格式：  
{
  "object_device_id": "40fe3542-f4cc-4b6a-98c3-61a49ba1acd4",
  "shadow": [
    {
      "service_id": "$security_detection_config",
      "desired": {
        "properties": {
        "loginBruteForceCheck": 1,
        "cpuUsageCheck": 1,
        "cpuUsageThreshold": 80,
        "cpuUsageCheckPeriod": 2,
        "memoryCheck": 1,
        "memoryThreshold": 80,
        "memoryCheckReportPeriod": 24,
        "batteryPercentageCheck": 1,
        "batteryPercentageReportPeriod": 24,
        "batteryPercentageThreshold": 20
        },
        "event_time": "20151212T121212Z"
      },
      "reported": {
        "properties": null,
        "event_time": null
      },
      "version": 1
    }
  ]
}
```
