NeuVector Compliance API

Operations about Compliance

OpenAPI Specification

neuvector-compliance-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 Compliance API
  contact:
    email: support@neuvector.com
schemes:
- https
tags:
- name: Compliance
  description: Operations about Compliance
paths:
  /v1/bench/host/{id}/docker:
    get:
      tags:
      - Compliance
      summary: Docker bench
      security:
      - ApiKeyAuth: []
      - TokenAuth: []
      produces:
      - application/json
      parameters:
      - in: path
        name: id
        description: Host ID
        required: true
        type: string
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/RESTBenchReport'
    post:
      tags:
      - Compliance
      summary: Docker bench run
      security:
      - ApiKeyAuth: []
      - TokenAuth: []
      parameters:
      - in: path
        name: id
        description: Host ID
        required: true
        type: string
      responses:
        '200':
          description: Success
  /v1/bench/host/{id}/kubernetes:
    get:
      tags:
      - Compliance
      summary: Kubernetes bench
      security:
      - ApiKeyAuth: []
      - TokenAuth: []
      produces:
      - application/json
      parameters:
      - in: path
        name: id
        description: Host ID
        required: true
        type: string
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/RESTBenchReport'
    post:
      tags:
      - Compliance
      summary: Kubernetes bench run
      security:
      - ApiKeyAuth: []
      - TokenAuth: []
      parameters:
      - in: path
        name: id
        description: Host ID
        required: true
        type: string
      responses:
        '200':
          description: Success
  /v1/compliance/profile:
    get:
      tags:
      - Compliance
      summary: Get compliance profile list
      security:
      - ApiKeyAuth: []
      - TokenAuth: []
      produces:
      - application/json
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/RESTComplianceProfilesData'
  /v1/compliance/profile/{name}:
    get:
      tags:
      - Compliance
      summary: Get compliance profile detail
      security:
      - ApiKeyAuth: []
      - TokenAuth: []
      produces:
      - application/json
      parameters:
      - in: path
        name: name
        description: Profile name
        required: true
        type: string
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/RESTComplianceProfileData'
    patch:
      tags:
      - Compliance
      summary: Configure compliance profile
      security:
      - ApiKeyAuth: []
      - TokenAuth: []
      consumes:
      - application/json
      parameters:
      - in: path
        name: name
        description: Compliance profile name
        required: true
        type: string
      - in: body
        name: body
        description: Compliance profile config data
        required: true
        schema:
          $ref: '#/definitions/RESTComplianceProfileConfigData'
      responses:
        '200':
          description: Success
  /v1/compliance/profile/{name}/entry/{check}:
    patch:
      tags:
      - Compliance
      summary: Configure compliance profile entry
      security:
      - ApiKeyAuth: []
      - TokenAuth: []
      consumes:
      - application/json
      parameters:
      - in: path
        name: name
        description: Compliance profile name
        required: true
        type: string
      - in: path
        name: check
        description: Compliance profile entry check name
        required: true
        type: string
      - in: body
        name: body
        description: Compliance profile entry data
        required: true
        schema:
          $ref: '#/definitions/RESTComplianceProfileEntryConfigData'
      responses:
        '200':
          description: Success
    delete:
      tags:
      - Compliance
      summary: Delete compliance profile entry
      security:
      - ApiKeyAuth: []
      - TokenAuth: []
      parameters:
      - in: path
        name: name
        description: Compliance profile name
        required: true
        type: string
      - in: path
        name: check
        description: Compliance profile entry check name
        required: true
        type: string
      responses:
        '200':
          description: Success
  /v1/custom_check:
    get:
      tags:
      - Compliance
      summary: Get custom check scripts of all groups
      security:
      - ApiKeyAuth: []
      - TokenAuth: []
      produces:
      - application/json
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/RESTCustomCheckListData'
  /v1/custom_check/{group}:
    get:
      tags:
      - Compliance
      summary: GET custom check scripts of the specified group
      security:
      - ApiKeyAuth: []
      - TokenAuth: []
      produces:
      - application/json
      parameters:
      - in: path
        name: group
        description: Script config name
        required: true
        type: string
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/RESTCustomCheckData'
    patch:
      tags:
      - Compliance
      summary: Update custom check scripts of the specified group
      security:
      - ApiKeyAuth: []
      - TokenAuth: []
      consumes:
      - application/json
      parameters:
      - in: path
        name: group
        description: Script config name
        required: true
        type: string
      - in: body
        name: body
        description: Script config data
        required: true
        schema:
          $ref: '#/definitions/RESTCustomCheckConfigData'
      responses:
        '200':
          description: Success
definitions:
  RESTComplianceProfileEntryConfigData:
    type: object
    required:
    - config
    properties:
      config:
        $ref: '#/definitions/RESTComplianceProfileEntry'
  RESTCustomCheck:
    type: object
    required:
    - name
    - script
    properties:
      name:
        type: string
        example: node
      script:
        type: string
        example: 'uname -r '
  RESTBenchItem:
    type: object
    required:
    - catalog
    - type
    - level
    - test_number
    - profile
    - scored
    - automated
    - description
    - message
    - remediation
    - group
    properties:
      catalog:
        type: string
        example: docker
      type:
        type: string
        example: ''
      level:
        type: string
        example: INFO
      test_number:
        type: string
        example: '1'
      profile:
        type: string
        example: Level 1
      scored:
        type: boolean
        example: true
      automated:
        type: boolean
        example: true
      description:
        type: string
        example: General Configuration
      message:
        type: array
        items:
          type: string
          example: Host Configuration
      remediation:
        type: string
        example: ''
      group:
        type: string
        example: nv.calico
  RESTComplianceProfileConfig:
    type: object
    required:
    - name
    properties:
      name:
        type: string
        example: default
      disable_system:
        type: boolean
        example: false
      entries:
        type: array
        items:
          $ref: '#/definitions/RESTComplianceProfileEntry'
  RESTCustomCheckData:
    type: object
    required:
    - config
    properties:
      config:
        $ref: '#/definitions/RESTCustomChecks'
  RESTCustomCheckConfig:
    type: object
    required:
    - add
    - delete
    - update
    properties:
      add:
        $ref: '#/definitions/RESTCustomChecks'
      delete:
        $ref: '#/definitions/RESTCustomChecks'
      update:
        $ref: '#/definitions/RESTCustomChecks'
  RESTCustomCheckListData:
    type: object
    required:
    - configs
    properties:
      configs:
        type: array
        items:
          $ref: '#/definitions/RESTCustomChecks'
  RESTComplianceProfileConfigData:
    type: object
    required:
    - config
    properties:
      config:
        $ref: '#/definitions/RESTComplianceProfileConfig'
  RESTCustomCheckConfigData:
    type: object
    required:
    - config
    properties:
      config:
        $ref: '#/definitions/RESTCustomCheckConfig'
  RESTComplianceProfileData:
    type: object
    required:
    - profile
    properties:
      profile:
        $ref: '#/definitions/RESTComplianceProfile'
  RESTComplianceProfilesData:
    type: object
    required:
    - profiles
    properties:
      profiles:
        type: array
        items:
          $ref: '#/definitions/RESTComplianceProfile'
  RESTCustomChecks:
    type: object
    required:
    - group
    - scripts
    properties:
      group:
        type: string
        example: containers
      enabled:
        type: boolean
        example: false
      writable:
        type: boolean
        example: false
      scripts:
        type: array
        items:
          $ref: '#/definitions/RESTCustomCheck'
  RESTComplianceProfile:
    type: object
    required:
    - name
    - disable_system
    - entries
    properties:
      name:
        type: string
        example: default
      disable_system:
        type: boolean
        example: false
      entries:
        type: array
        items:
          $ref: '#/definitions/RESTComplianceProfileEntry'
      cfg_type:
        type: string
        enum:
        - user_created
        - ground
  RESTComplianceProfileEntry:
    type: object
    required:
    - test_number
    - tags
    properties:
      test_number:
        type: string
        example: ''
      tags:
        type: array
        items:
          type: string
          example: ''
  RESTBenchReport:
    type: object
    required:
    - run_timestamp
    - run_at
    - cis_version
    - items
    properties:
      run_timestamp:
        type: integer
        format: int64
        example: 1516561253
      run_at:
        type: string
        format: date-time
        example: 2018-06-21 19:00:53+00:00
      cis_version:
        type: string
        example: 1.5.1
      items:
        type: array
        items:
          $ref: '#/definitions/RESTBenchItem'
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/