睿珀物联网云平台提供了跟踪用户操作以保留审计日志的功能。可以记录与主要实体相关的用户操作:assets, devices, dashboard, rules等。

用户界面

租户管理员能够查看属于相应租户帐户的审计日志。管理员能够设置日期范围,并对获取的实体执行全文搜索。
image.png
“详细”按钮可以查看记录的详细信息
image.png

REST API

可以通过REST API获取审核日志。有几种API调用,它们允许获取与指定用户,实体,客户相关的实体,或使用页面链接获取所有记录。

常规配置

系统管理员可以使用relaperIot.yml.配置审核日志级别。你可以在下面找到示例配置:

  1. # 审计日志参数
  2. audit_log:
  3. # 启用/禁用审计日志功能.
  4. enabled: "${AUDIT_LOG_ENABLED:true}"
  5. # 按租户 ID 存储指定审计日志的分区大小. 例如: 分钟, 小时, 天, 月
  6. by_tenant_partitioning: "${AUDIT_LOG_BY_TENANT_PARTITIONING:MONTHS}"
  7. # 如果未指定 开始时间 和 结束时间,则作为历史周期的天数
  8. default_query_period: "${AUDIT_LOG_DEFAULT_QUERY_PERIOD:30}"
  9. # 每个实体类型的日志记录级别.
  10. # 允许值: OFF (不可用), W (日志写操作), RW (日志读写操作)
  11. logging_level:
  12. mask:
  13. "device": "${AUDIT_LOG_MASK_DEVICE:W}"
  14. "asset": "${AUDIT_LOG_MASK_ASSET:W}"
  15. "dashboard": "${AUDIT_LOG_MASK_DASHBOARD:OFF}"
  16. "customer": "${AUDIT_LOG_MASK_CUSTOMER:W}"
  17. "user": "${AUDIT_LOG_MASK_USER:RW}"
  18. "rule": "${AUDIT_LOG_MASK_RULE:RW}"
  19. "plugin": "${AUDIT_LOG_MASK_PLUGIN:RW}"

此配置示例禁用与仪表板相关的任何操作的日志记录,并为用户和规则进行日志读取操作。对于所有其他实体,物联网平台将仅记录写级别的操作。
我们建议根据要记录的设备数和用户操作来修改“ by_tenant_partitioning”参数。你计划记录的动作越多,所需的分区就越精确。每个分区的大约记录量不应超过500000条记录。

外部日志接收配置

系统管理员可以配置与外部系统的连接。此连接将用于推送审核日志。内联文档对配置参数进行了详细记录。

  1. sink:
  2. # 外部sink类型. 可选项: none, elasticsearch
  3. type: "${AUDIT_LOG_SINK_TYPE:none}"
  4. # 存储审计日志的索引名称
  5. # 索引名称可以包含下一个占位符(非强制性):
  6. # @{TENANT} - 由租户 ID 代替
  7. # @{DATE} - 以 audit_log.sink.date_format 中提供的格式替换为当前日期
  8. index_pattern: "${AUDIT_LOG_SINK_INDEX_PATTERN:@{TENANT}_AUDIT_LOG_@{DATE}}"
  9. # 日期格式。 可以在此处找到该模式的详细信息:
  10. # https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html
  11. date_format: "${AUDIT_LOG_SINK_DATE_FORMAT:YYYY.MM.DD}"
  12. scheme_name: "${AUDIT_LOG_SINK_SCHEME_NAME:http}" # http or https
  13. host: "${AUDIT_LOG_SINK_HOST:localhost}"
  14. port: "${AUDIT_LOG_SINK_POST:9200}"
  15. user_name: "${AUDIT_LOG_SINK_USER_NAME:}"
  16. password: "${AUDIT_LOG_SINK_PASSWORD:}"