NeuVector Log API

Operations about Log

OpenAPI Specification

neuvector-log-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  description: Secure Docker and Kubernetes based container deployments with the NeuVector run-time security solution.
  version: 5.6.0
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  title: NeuVector Log API
  contact:
    email: support@neuvector.com
schemes:
- https
tags:
- name: Log
  description: Operations about Log
paths:
  /v1/log/activity:
    get:
      tags:
      - Log
      summary: Get activity list
      security:
      - ApiKeyAuth: []
      - TokenAuth: []
      produces:
      - application/json
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/RESTEventsData'
  /v1/log/audit:
    get:
      tags:
      - Log
      summary: Get a list of audits
      security:
      - ApiKeyAuth: []
      - TokenAuth: []
      produces:
      - application/json
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/RESTAuditsData'
  /v1/log/event:
    get:
      tags:
      - Log
      summary: Get a list of events
      security:
      - ApiKeyAuth: []
      - TokenAuth: []
      produces:
      - application/json
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/RESTEventsData'
  /v1/log/incident:
    get:
      tags:
      - Log
      summary: Get a list of incidents
      security:
      - ApiKeyAuth: []
      - TokenAuth: []
      produces:
      - application/json
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/RESTIncidentsData'
  /v1/log/threat:
    get:
      tags:
      - Log
      summary: Get a list of threats
      security:
      - ApiKeyAuth: []
      - TokenAuth: []
      produces:
      - application/json
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/RESTThreatsData'
  /v1/log/threat/{id}:
    get:
      tags:
      - Log
      summary: Show threat
      security:
      - ApiKeyAuth: []
      - TokenAuth: []
      produces:
      - application/json
      parameters:
      - in: path
        name: id
        description: Threat ID
        required: true
        type: string
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/RESTThreatData'
  /v1/log/violation:
    get:
      tags:
      - Log
      summary: Get a list of violations
      security:
      - ApiKeyAuth: []
      - TokenAuth: []
      produces:
      - application/json
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/RESTPolicyViolationsData'
  /v1/log/violation/workload:
    get:
      tags:
      - Log
      summary: Get violation workloads
      security:
      - ApiKeyAuth: []
      - TokenAuth: []
      produces:
      - application/json
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/RESTPolicyViolationsWLData'
  /v1/log/security:
    get:
      tags:
      - Log
      summary: Get security event list
      security:
      - ApiKeyAuth: []
      - TokenAuth: []
      produces:
      - application/json
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/RESTSecurityData'
definitions:
  Audit:
    type: object
    required:
    - level
    - reported_timestamp
    - reported_at
    - cluster_name
    - host_id
    - host_name
    - enforcer_id
    - enforcer_name
    - base_os
    - high_vul_cnt
    - medium_vul_cnt
    - cvedb_version
    - message
    - user
    - error
    - aggregation_from
    - count
    - platform
    - platform_version
    properties:
      name:
        type: string
        example: Container.Managed
      level:
        type: string
        example: INFO
      reported_timestamp:
        type: integer
        format: int64
        example: 1516832670
      reported_at:
        type: string
        format: date-time
        example: 2018-01-24 22:24:30+00:00
      cluster_name:
        type: string
        example: cluster1
      response_rule_id:
        type: integer
        example: 10007
      host_id:
        type: string
        example: 2AU7:TIEN:O5KX:QK56:LFQP:IJSV:FXBN:QJV7
      host_name:
        type: string
        example: ubuntu64
      enforcer_id:
        type: string
        example: bced57295eefbd3f3bd0cf798b6184fa789
      enforcer_name:
        type: string
        example: allinone
      workload_id:
        type: string
        example: 7df6a19648e2860c89fe12c8d5b1c52079a
      workload_name:
        type: string
        example: ''
      workload_domain:
        type: string
        example: ''
      workload_image:
        type: string
        example: ''
      workload_service:
        type: string
        example: ''
      image:
        type: string
        example: alpine:3.16.1
      image_id:
        type: string
        example: d572b7ee3511b21a2b78b8915bc03c5786ad01949704c1418624224c4cae2c5f
      registry:
        type: string
        example: https://registry.hub.docker.com/
      registry_name:
        type: string
        example: ''
      repository:
        type: string
        example: alpine
      tag:
        type: string
        example: latest
      base_os:
        type: string
        example: ubuntu:16.04
      high_vul_cnt:
        type: integer
        example: 1
      medium_vul_cnt:
        type: integer
        example: 1
      high_vuls:
        type: array
        items:
          type: string
          example: ''
      medium_vuls:
        type: array
        items:
          type: string
          example: ''
      cvedb_version:
        type: string
        example: '1.011'
      message:
        type: string
        example: ''
      user:
        type: string
        example: root
      error:
        type: string
        example: Request failed
      aggregation_from:
        type: integer
        format: int64
        example: 1516832670
      count:
        type: integer
        example: 10
      items:
        type: array
        items:
          type: string
          example: ''
      platform:
        type: string
        example: ''
      platform_version:
        type: string
        example: ''
      packages:
        type: array
        items:
          type: string
          example: ''
      package_ver:
        type: string
      fixed_ver:
        type: string
      score:
        type: number
        format: float32
        example: 7.3
      score_v3:
        type: number
        format: float32
        example: 7.3
      vectors:
        type: string
      vectors_v3:
        type: string
      link:
        type: string
      description:
        type: string
      pub_date:
        type: string
      last_mod_date:
        type: string
      image_layer_digest:
        type: string
        example: sha256:08614570918e6832c44397cc7bce8037f07a8e2b87aec19d57a3da5eff274c7b
      cmds:
        type: string
  Incident:
    type: object
    required:
    - name
    - level
    - reported_timestamp
    - reported_at
    - cluster_name
    - response_rule_id
    - host_id
    - host_name
    - enforcer_id
    - enforcer_name
    - id
    - workload_id
    - workload_name
    - workload_domain
    - workload_image
    - workload_service
    - remote_workload_id
    - remote_workload_name
    - remote_workload_domain
    - remote_workload_image
    - remote_workload_service
    - proc_name
    - proc_path
    - proc_cmd
    - proc_real_uid
    - proc_effective_uid
    - proc_real_user
    - proc_effective_user
    - file_path
    - file_name
    - client_ip
    - server_ip
    - client_port
    - server_port
    - server_conn_port
    - ether_type
    - ip_proto
    - conn_ingress
    - proc_parent_name
    - proc_parent_path
    - action
    - group
    - rule_id
    - aggregation_from
    - count
    - message
    properties:
      name:
        type: string
        example: Host.Suspicious.Process
      level:
        type: string
        example: WARNING
      reported_timestamp:
        type: integer
        format: int64
        example: 1515020888
      reported_at:
        type: string
        format: date-time
        example: 2018-01-03 23:08:08+00:00
      cluster_name:
        type: string
        example: cluster1
      response_rule_id:
        type: integer
        example: 10006
      host_id:
        type: string
        example: ubuntu64:ZYA3:UZL5:2WOT:QYEF:SLVT:LIBD
      host_name:
        type: string
        example: ubuntu64
      enforcer_id:
        type: string
        example: a928be54f34fbb696426890a7249c067
      enforcer_name:
        type: string
        example: allinone
      id:
        type: string
        example: e6e19591-75a0-43e9-bebb-145d588e6718
      workload_id:
        type: string
        example: 83e76eabd68494649440fa0a35451315289c70eb3094454e419952dffaa7715a
      workload_name:
        type: string
        example: iperfserver
      workload_domain:
        type: string
        example: ''
      workload_image:
        type: string
        example: iperfserver
      workload_service:
        type: string
        example: iperfserver
      remote_workload_id:
        type: string
        example: external
      remote_workload_name:
        type: string
        example: iperfclient
      remote_workload_domain:
        type: string
        example: ''
      remote_workload_image:
        type: string
        example: iperfclient
      remote_workload_service:
        type: string
        example: iperfclient
      proc_name:
        type: string
        example: nc
      proc_path:
        type: string
        example: /bin/nc.traditional
      proc_cmd:
        type: string
        example: ./dns_tunneling/iodine/bin/iodine -f -r 172.17.0.3 -P
      proc_real_uid:
        type: integer
        example: 1000
      proc_effective_uid:
        type: integer
        example: 1000
      proc_real_user:
        type: string
        example: test
      proc_effective_user:
        type: string
        example: root
      file_path:
        type: string
        example: ''
      file_name:
        type: array
        items:
          type: string
          example: ''
      client_ip:
        type: string
        example: 192.168.1.62
      server_ip:
        type: string
        example: 10.1.4.3
      client_port:
        type: integer
        format: uint16
        example: 56564
      server_port:
        type: integer
        format: uint16
        example: 80
      server_conn_port:
        type: integer
        format: uint16
        example: 80
      ether_type:
        type: integer
        format: uint16
        example: 2048
      ip_proto:
        type: integer
        format: uint8
        example: 6
      conn_ingress:
        type: boolean
        example: false
      proc_parent_name:
        type: string
        example: sh
      proc_parent_path:
        type: string
        example: /bin/dash
      action:
        type: string
        example: violate
      group:
        type: string
        example: nv.iperfserver
      rule_id:
        type: string
        example: 00000000-0000-0000-0000-000000000001
      aggregation_from:
        type: integer
        format: int64
        example: 1515020888
      count:
        type: integer
        example: 1
      message:
        type: string
        example: dns tunneling
  RESTAuditsData:
    type: object
    required:
    - audits
    properties:
      audits:
        type: array
        items:
          $ref: '#/definitions/Audit'
  RESTPolicyViolationsData:
    type: object
    required:
    - violations
    properties:
      violations:
        type: array
        items:
          $ref: '#/definitions/Violation'
  Event:
    type: object
    required:
    - level
    - reported_timestamp
    - reported_at
    - cluster_name
    - host_id
    - host_name
    - enforcer_id
    - enforcer_name
    - controller_id
    - controller_name
    - workload_id
    - workload_name
    - workload_domain
    - workload_image
    - workload_service
    - category
    - user
    - user_roles
    - user_addr
    - user_session
    - message
    properties:
      name:
        type: string
        example: Container.Managed
      level:
        type: string
        example: INFO
      reported_timestamp:
        type: integer
        format: int64
        example: 1516832670
      reported_at:
        type: string
        format: date-time
        example: 2018-01-24 22:24:30+00:00
      cluster_name:
        type: string
        example: cluster1
      response_rule_id:
        type: integer
        example: 10009
      host_id:
        type: string
        example: QK56:LFQP:IJSV:FXBN:QJV7:5MBB:6PL5
      host_name:
        type: string
        example: ubuntu64
      enforcer_id:
        type: string
        example: bced57295eefbd3f3bd0cf798b6184fa789
      enforcer_name:
        type: string
        example: allinone
      controller_id:
        type: string
        example: ''
      controller_name:
        type: string
        example: ''
      workload_id:
        type: string
        example: 7df6a19648e2860c89fe12c8d5b1c52079a
      workload_name:
        type: string
        example: kafkadocker_zookeeper_1
      workload_domain:
        type: string
        example: ''
      workload_image:
        type: string
        example: zookeeper
      workload_service:
        type: string
        example: ''
      category:
        type: string
        example: WORKLOAD
      user:
        type: string
        example: user
      user_roles:
        type: object
        description: map key is domain(string type)
        additionalProperties:
          type: string
        example:
          domain1: admin
          domain2: reader
      user_addr:
        type: string
        example: ''
      user_session:
        type: string
        example: ''
      rest_method:
        type: string
        example: ''
      rest_request:
        type: string
        example: ''
      rest_body:
        type: string
        example: ''
      enforcer_limit:
        type: integer
        example: 0
      license_expire:
        type: string
        example: ''
      message:
        type: string
        example: Start managing container kafkadocker_zookeeper_1
  Violation:
    type: object
    required:
    - level
    - reported_timestamp
    - reported_at
    - cluster_name
    - host_id
    - host_name
    - enforcer_id
    - enforcer_name
    - id
    - client_id
    - client_name
    - server_id
    - server_name
    - server_port
    - ip_proto
    - applications
    - servers
    - sessions
    - policy_action
    - policy_id
    - client_ip
    - server_ip
    - fqdn
    properties:
      name:
        type: string
        example: ''
      level:
        type: string
        example: WARNING
      reported_timestamp:
        type: integer
        format: int64
        example: 1516160219
      reported_at:
        type: string
        format: date-time
        example: 2018-01-17 03:36:59+00:00
      cluster_name:
        type: string
        example: cluster1
      response_rule_id:
        type: integer
        example: 10008
      host_id:
        type: string
        example: 2AU7:TIEN:O5KX:QK56:LFQP:IJSV:FXBN:QJV7
      host_name:
        type: string
        example: ubuntu64
      enforcer_id:
        type: string
        example: bced57295eefbd3f3bd0cf798b6184fa789
      enforcer_name:
        type: string
        example: allinone
      id:
        type: string
        example: e6e19591-75a0-43e9-bebb-145d588e6718
      client_id:
        type: string
        example: 25f773945fff1d8880b9eb67d26be22f5321d
      client_name:
        type: string
        example: iperfclient
      client_domain:
        type: string
        example: ''
      client_image:
        type: string
        example: ''
      client_service:
        type: string
        example: ''
      server_id:
        type: string
        example: 0350077d87164505597268494acbc8a25109e3
      server_name:
        type: string
        example: iperfserver
      server_domain:
        type: string
        example: ''
      server_image:
        type: string
        example: ''
      server_service:
        type: string
        example: ''
      server_port:
        type: integer
        format: uint16
        example: 5000
      ip_proto:
        type: integer
        format: uint8
        example: 6
      applications:
        type: array
        items:
          type: string
          example: HTTP
      servers:
        type: array
        items:
          type: string
        example:
        - server1
        - server2
      sessions:
        type: integer
        format: uint32
        example: 0
      policy_action:
        type: string
        example: violate
      policy_id:
        type: integer
        format: uint32
        example: 9999
      client_ip:
        type: string
        example: 172.17.0.4
      server_ip:
        type: string
        example: 172.17.0.3
      fqdn:
        type: string
        example: www.suse.com
  RESTEventsData:
    type: object
    required:
    - events
    properties:
      events:
        type: array
        items:
          $ref: '#/definitions/Event'
  RESTThreatData:
    type: object
    required:
    - threat
    properties:
      threat:
        $ref: '#/definitions/Threat'
  RESTScanBrief:
    type: object
    required:
    - status
    - high
    - medium
    - result
    - scanned_timestamp
    - scanned_at
    - base_os
    - scanner_version
    - cvedb_create_time
    properties:
      status:
        type: string
        example: scheduled
      high:
        type: integer
        example: 0
      medium:
        type: integer
        example: 0
      result:
        type: string
        example: success
      scanned_timestamp:
        type: integer
        format: int64
        example: 1516561253
      scanned_at:
        type: string
        format: date-time
        example: 2018-01-21 19:00:53+00:00
      base_os:
        type: string
        example: ubuntu:16.04
      scanner_version:
        type: string
        example: '1.011'
      cvedb_create_time:
        type: string
        format: date-time
        example: 2018-06-20 19:00:53+00:00
  RESTWorkloadBrief:
    type: object
    required:
    - id
    - name
    - display_name
    - pod_name
    - image
    - image_id
    - image_created_at
    - platform_role
    - domain
    - state
    - service
    - author
    - service_group
    - cap_sniff
    - cap_quarantine
    - cap_change_mode
    - policy_mode
    - profile_mode
    - scan_summary
    - children
    - service_mesh
    - service_mesh_sidecar
    - privileged
    - run_as_root
    - baseline_profile
    properties:
      id:
        type: string
        example: 7304e72fd093155c4cbcd65d07375329b2db82cc679
      name:
        type: string
        example: k8s_POD.d86c_calico-node-mzhtk_kube-system_0050565a_365c13d
      display_name:
        type: string
        example: calico-node-mzhtk
      pod_name:
        type: string
        example: istio-policy-5cdbc47674-t67p4
      image:
        type: string
        example: calico
      image_id:
        type: string
        example: d572b7ee3511b21a2b78b8915bc03c5786ad01949704c1418624224c4cae2c5f
      image_digest:
        type: array
        items:
          type: string
          example: c2ced31c5dda37cb805f481e3fa34b742cc8980f439b20af3111b08e66cff8e1
      image_created_at:
        type: string
        format: date-time
        example: 2018-01-18 00:44:02+00:00
      image_reg_scanned:
        type: boolean
        example: false
      platform_role:
        type: string
        example: core
      domain:
        type: string
        example: ''
      state:
        type: string
        example: exit
      service:
        type: string
        example: kafkazookeeper
      author:
        type: string
        example: ''
      service_group:
        type: string
        example: nv.calico
      share_ns_with:
        type: string
        example: cc0709d522749203042e89dba28bf6924a4b0d360648
      cap_sniff:
        type: boolean
        example: true
      cap_quarantine:
        type: boolean
        example: true
      cap_change_mode:
        type: boolean
        example: true
      policy_mode:
        type: string
        example: Discover
      profile_mode:
        type: string
        example: Discover
      scan_summary:
        $ref: '#/definitions/RESTScanBrief'
      children:
        type: array
        items:
          $ref: '#/definitions/RESTWorkloadBrief'
      quarantine_reason:
        type: string
        example: violation
      service_mesh:
        type: boolean
        example: true
      service_mesh_sidecar:
        type: boolean
        example: true
      privileged:
        type: boolean
        example: true
      run_as_root:
        type: boolean
        example: true
      baseline_profile:
        type: string
        example: ''
  RESTPolicyViolationsWLData:
    type: object
    required:
    - violation_workloads
    properties:
      violation_workloads:
        type: array
        items:
          $ref: '#/definitions/RESTViolationWorkload'
  RESTThreatsData:
    type: object
    required:
    - threats
    properties:
      threats:
        type: array
        items:
          $ref: '#/definitions/Threat'
  RESTIncidentsData:
    type: object
    required:
    - incidents
    properties:
      incidents:
        type: array
        items:
          $ref: '#/definitions/Incident'
  Threat:
    type: object
    required:
    - level
    - reported_timestamp
    - reported_at
    - cluster_name
    - host_id
    - host_name
    - enforcer_id
    - enforcer_name
    - id
    - threat_id
    - client_workload_id
    - client_workload_name
    - server_workload_id
    - server_workload_name
    - severity
    - action
    - count
    - ether_type
    - client_port
    - server_port
    - server_conn_port
    - icmp_code
    - icmp_type
    - ip_proto
    - client_ip
    - server_ip
    - application
    - sensor
    - group
    - target
    - monitor
    - message
    properties:
      name:
        type: string
        example: HTTP.Request.Slowloris
      level:
        type: string
        example: CRIT
      reported_timestamp:
        type: integer
        format: int64
        example: 1505755712
      reported_at:
        type: string
        example: '2017-09-18T17:28:32Z'
      cluster_name:
        type: string
        example: cluster1
      response_rule_id:
        type: integer
        example: 10005
      host_id:
        type: string
        example: ubuntu64:ZYA3:NPGZ:IU64:XJ3P:SUU3:QYEF:SLVT
      host_name:
        type: string
        example: ubuntu64
      enforcer_id:
        type: string
        example: 2fdc03e027d6483633376609
      enforcer_name:
        type: string
        example: allinone
      id:
        type: string
        example: 999-9c96-11e7-83c1-17580b
      threat_id:
        type: integer
        format: uint32
        example: 2017
      client_workload_id:
        type: string
        example: 7e31a2a4d4074ba459f8c22ee90
      client_workload_name:
        type: string
        example: iperfclient
      client_workload_domain:
        type: string
        example: ''
      client_workload_image:
        type: string
        example: ''
      client_workload_service:
        type: string
        example: ''
      server_workload_id:
        type: string
        example: 2cbab37b43efe049e583924a73a764b096ce8f15ea
      server_workload_name:
        type: string
        example: iperfserver
      server_workload_domain:
        type: string
        example: ''
      server_workload_image:
        type: string
        example: ''
      server_workload_service:
        type: string
        example: ''
      severity:
        type: string
        example: critical
      action:
        type: string
        example: monitor
      count:
        type: integer
        format: uint32
        example: 1
      ether_type:
        type: integer
        format: uint16
        example: 2048
      client_port:
        type: integer
        format: uint16
        example: 53825
      server_port:
        type: integer
        format: uint16
        example: 5000
      server_conn_port:
        type: integer
        format: uint16
        example: 5000
      icmp_code:
        type: integer
        format: uint8
        example: 0
      icmp_type:
        type: integer
        format: uint8
        example: 0
      ip_proto:
        type: integer
        format: uint8
        example: 6
      client_ip:
        type: string
        example: 172.17.0.4
      server_ip:
        type: string
        example: 172.17.0.3
      application:
        type: string
        example: HTTP
      sensor:
        type: string
        example: ''
      group:
        type: string
        example: ''
      target:
        type: string
        example: 'true'
      monitor:
        type: boolean
        example: true
      cap_len:
        type: integer
        format: uint16
        example: 32043
      packet:
        type: string
        example: base64string
      message:
        type: string
        example: Header duration=3s, threshold=3s
  RESTViolationWorkload:
    type: object
    required:
    - workload
    - count
    properties:
      workload:
        $ref: '#/definitions/RESTWorkloadBrief'
      count:
        type: integer
        example: 2
  RESTSecurityData:
    type: object
    required:
    - threats
    - incidents
    - violations
    properties:
      threats:
        type: array
        items:
          $ref: '#/definitions/Threat'
      incidents:
        type: array
        items:
          $ref: '#/definitions/Incident'
      violations:
        type: array
        items:
          $ref: '#/definitions/Violation'
securityDefinitions:
  ApiKeyAuth:
    type: apiKey
    in: header
    name: X-Auth-Apikey
  TokenAuth:
    type: apiKey
    in: header
    name: X-Auth-Token
externalDocs:
  description: Find out more about NeuVector
  url: https://www.suse.com/products/neuvector/