Импорт через лямбда-функцию используя файл отчета

Чтобы отправить данные сканирования в Security Center

У вас есть возможность импортировать отчеты в Security Center с помощью функции, представленной ниже.

import json
import urllib.request
import urllib3


def import_report(<>):
    
    security_center_api_token = "Token " + <>
    
    while True:
        try:
            url = 'https://<>/api/v1/scan/import/'
            body = {
                "file": ("<>.json", json.dumps(<>)),
                "product_name": "<>",
                "product_type": "<>",
                "scanner_name": "<>",
                "branch": "", 
                "repository": "<>",
                "docker_image": "<>", 
                "domain": "<>", 
                "host": "<>"
            }
            data, header = urllib3.encode_multipart_formdata(body)
            r = urllib.request.Request(url, data=data)
            r.add_header('Authorization', security_center_api_token)
            r.add_header('Content-Type', header)
            response = urllib.request.urlopen(r)
            print(response.getcode())
        except Exception as e:
            raise e
        break
    return {
        'statusCode': 200,
        'body': json.dumps('Event successfully imported')
    }

Замените следующие параметры:

  • <event> названием вашего файла, содержащего отчет

  • <security center api key> ключом вашего токена авторизации

  • <security center address> адресом вашего Security Center

  • <product name> названием вашего продукта

  • <product_type> названием типа вашего продукта

  • <branch> (необязательно) именем ветки в репозитории исходного кода (если применимо). Этот параметр особенно полезен, когда вы хотите связать результаты сканирования с определенной веткой в вашем репозитории. Если параметр не указан, сканирование будет ассоциировано с веткой по умолчанию

Информация об активах, если используется Auditor

  • <repository> Если ваш продукт это код в репозитории, введите адрес репозитория в определенном формате, например: git@gitlab.com:cybercodereview/security-center.git

  • <docker_image> Если ваш продукт является образом, введите адрес реестра, в котором находится ваш продукт, например: registry.gitlab.com/cybercodereview/security-center/back/auto_validator:latest

  • <domain> Если ваш продукт является веб-ресурсом, введите доменное имя вашего продукта, например: cybercodereview.ru

  • <host> Если ваш продукт находится в Интернете, введите IP-адрес вашего продукта, например: 0.0.0.0

Поздравляем!🎉 Теперь ваша функция готова к отправке отчетов в Security Center

Last updated