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

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

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

import json import urllib.request import urllib3 def import_report(<event>): security_center_api_token = "Token " + <security_center_api_key> while True: try: url = 'https://<security_center_url>/api/v1/scan/import/' body = { "file": (<event>.json", json.dumps(<event>)), "product_name": "<product_name>", "product_type": "<product_type>", "scanner_name": "<scanner_name>", "branch": "<branch_name>", "repository": "<repository_ssh_url>", "docker_image": "<registry_url>", "domain": "<domain>", "host": "<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.

  • <security_center_url> - адрес вашего Security Center.

  • <product_name> - название вашего продукта.

  • <product_type> - тип вашего продукта.

  • <scanner_name> - название вашего сканера.

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

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

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

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

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

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

Заполнив все необходимые данные, вы можете использовать функцию для отправки отчетов из сканеров в Security Center.