Импорт отчетов с помощью AWS Lambda Function в AWS Security Hub
Чтобы отправить данные сканирования из AWS Security Hub в Security Center
Шаг 1: Подготовка к интеграции
Шаг 2: Создание функции AWS Lambda
import json
import boto3
import urllib.request
import urllib3
def lambda_handler(event, context):
# Fetch Security Center API key from AWS Secrets Manager
client_sm = boto3.client('secretsmanager')
security_center_secret_raw = client_sm.get_secret_value(
SecretId="<secret_name>"
)
security_center_api_json = json.loads(security_center_secret_raw["SecretString"])
security_center_api_token = "Token " + security_center_api_json['key']
while True:
try:
url = 'https://<security_center_address>/api/v1/scan/import/'
body = {
"file": ("event.json", json.dumps(event)),
"product_name": "AWS",
"product_type": "AWS",
"scanner_name": "AWS Security Hub Scan"
}
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('Hello from Lambda!')
}Шаг 3: Запустите функцию
Last updated