batchImportFindings
Imports security findings generated by a finding provider into Security Hub. This action is requested by the finding provider to import its findings into Security Hub.
BatchImportFindings
must be called by one of the following:
The Amazon Web Services account that is associated with a finding if you are using the default product ARN or are a partner sending findings from within a customer's Amazon Web Services account. In these cases, the identifier of the account that you are calling
BatchImportFindings
from needs to be the same as theAwsAccountId
attribute for the finding.An Amazon Web Services account that Security Hub has allow-listed for an official partner integration. In this case, you can call
BatchImportFindings
from the allow-listed account and send findings from different customer accounts in the same batch.
The maximum allowed size for a finding is 240 Kb. An error is returned for any finding larger than 240 Kb.
After a finding is created, BatchImportFindings
cannot be used to update the following finding fields and objects, which Security Hub customers use to manage their investigation workflow.
Note
UserDefinedFields
VerificationState
Workflow
Finding providers also should not use BatchImportFindings
to update the following attributes.
Confidence
Criticality
RelatedFindings
Severity
Types
Instead, finding providers use FindingProviderFields
to provide values for these attributes.
Samples
import aws.sdk.kotlin.services.securityhub.model.AwsSecurityFinding
import aws.sdk.kotlin.services.securityhub.model.FindingProviderFields
import aws.sdk.kotlin.services.securityhub.model.FindingProviderSeverity
import aws.sdk.kotlin.services.securityhub.model.Partition
import aws.sdk.kotlin.services.securityhub.model.Resource
import aws.sdk.kotlin.services.securityhub.model.SeverityLabel
fun main() {
//sampleStart
// The following example imports findings from a third party provider to Security Hub.
val resp = securityHubClient.batchImportFindings {
findings = listOf<AwsSecurityFinding>(
AwsSecurityFinding {
awsAccountId = "123456789012"
createdAt = "2020-05-27T17:05:54.832Z"
description = "Vulnerability in a CloudTrail trail"
findingProviderFields = FindingProviderFields {
severity = FindingProviderSeverity {
label = SeverityLabel.fromValue("LOW")
original = "10"
}
types = listOf<String>(
"Software and Configuration Checks/Vulnerabilities/CVE"
)
}
generatorId = "TestGeneratorId"
id = "Id1"
productArn = "arn:aws:securityhub:us-west-1:123456789012:product/123456789012/default"
resources = listOf<Resource>(
Resource {
id = "arn:aws:cloudtrail:us-west-1:123456789012:trail/TrailName"
partition = Partition.fromValue("aws")
region = "us-west-1"
type = "AwsCloudTrailTrail"
}
)
schemaVersion = "2018-10-08"
title = "CloudTrail trail vulnerability"
updatedAt = "2020-06-02T16:05:54.832Z"
}
)
}
//sampleEnd
}