All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m55s
4.1 KiB
4.1 KiB
资产审计日志验收准备
0.1 资产敏感写操作覆盖矩阵
| 业务域 | 场景 | operation_type |
主要入口 |
|---|---|---|---|
| IoT 卡 | 分配 | card_allocate |
iot_card.Service.AllocateCards |
| IoT 卡 | 回收 | card_recall |
iot_card.Service.RecallCards |
| IoT 卡 | 系列绑定 | card_series_binding |
iot_card.Service.BatchSetSeriesBinding |
| IoT 卡 | 轮询开关 | card_polling_status |
iot_card.Service.UpdatePollingStatus/BatchUpdatePollingStatus |
| IoT 卡 | 实名策略 | card_realname_policy |
iot_card.Service.UpdateRealnamePolicy |
| IoT 卡 | 手动实名状态 | card_realname_status |
iot_card.Service.ManualUpdateRealnameStatus |
| IoT 卡 | 删除/批量删除 | card_delete / card_batch_delete |
iot_card.Service.DeleteCard/BatchDeleteCards |
| IoT 卡停复机 | 自动停机/复机 | card_auto_stop / card_auto_start |
iot_card.StopResumeService.stopCardWithRetry/resumeSingleCard |
| IoT 卡停复机 | 手动停机/复机 | card_manual_stop / card_manual_start |
iot_card.StopResumeService.ManualStopCard/ManualStartCard |
| 设备 | 删除 | device_delete |
device.Service.Delete |
| 设备 | 分配/回收 | device_allocate / device_recall |
device.Service.AllocateDevices/RecallDevices |
| 设备 | 系列绑定 | device_series_binding |
device.Service.BatchSetSeriesBinding |
| 设备 | 绑卡/解绑 | device_bind_card / device_unbind_card |
device.Service.BindCard/UnbindCard |
| 设备 | 停机/复机 | device_stop / device_start |
device.Service.StopDevice/StartDevice |
| 设备远程控制 | 限速 | device_speed_limit |
device.Service.GatewaySetSpeedLimit |
| 设备远程控制 | WiFi 设置 | device_set_wifi |
device.Service.GatewaySetWiFi |
| 设备远程控制 | 切卡 | device_switch_card |
device.Service.GatewaySwitchCard |
| 设备远程控制 | 切卡模式 | device_switch_mode |
device.Service.GatewaySwitchMode |
| 设备远程控制 | 重启/恢复出厂 | device_reboot / device_reset |
device.Service.GatewayRebootDevice/ResetDevice |
| 统一资产入口 | 停用 | asset_deactivate |
asset.LifecycleService.DeactivateIotCard/DeactivateDevice |
| 统一资产入口 | 轮询开关 | asset_polling_status |
polling.AssetPollingService.UpdatePollingStatus |
| 统一资产入口 | 实名策略 | asset_realname_policy |
device.Service.UpdateRealnamePolicy(设备路径) |
| 导入任务 | 设备导入任务创建 | device_import_task_create |
device_import.Service.CreateImportTask |
| 导入任务 | 卡导入任务创建 | iot_card_import_task_create |
iot_card_import.Service.CreateImportTask |
0.2 审计字段验收清单
| 字段组 | 核对项 | 说明 |
|---|---|---|
operator_* |
operator_id/operator_type/operator_name |
系统触发场景 operator_type=system 且 operator_id 可为空 |
asset_* |
asset_type/asset_id/asset_identifier |
设备使用虚拟号,卡使用 ICCID;批量/导入场景允许按任务摘要记录 |
operation_* |
operation_type/operation_desc |
operation_type 必须来自 pkg/constants/asset_audit.go |
before_data/after_data |
变更镜像 | 状态/配置修改类要求体现前后差异 |
request_* |
request_id/ip_address/user_agent/request_path/request_method |
由日志中间件注入到 context,审计统一读取 |
result_* |
result_status/error_code/error_msg |
覆盖 success/failed/denied;失败/拒绝需记录错误摘要 |
| 批量聚合 | batch_total/success_count/fail_count |
批量与设备停复机场景需写入聚合统计 |
0.3 手工验收数据与脚本
接口回放建议(Postman/curl)
- 成功样例:设备分配、卡分配、设备远程控制(限速)
- 失败样例:远程控制网关失败、非法设备 ID、事务失败
- 拒绝样例:停复机保护期、越权分配、无效实名策略
SQL 脚本
- 统一查询脚本:
docs/add-asset-operation-audit-log/手工验收脚本.sql - 重点核对:
- 同一操作存在
success/failed/denied三类结果 before_data/after_data存在且字段合理- WiFi 密码字段已脱敏(不出现明文)
- 同一操作存在