![Release](https://github.com/markusl/cdk-ecr-image-scan-handler/workflows/Release/badge.svg)
cdk-ecr-image-scan-handler
Get automated notifications from AWS scanned ECR images that contain findings.
Usage
In your ECR repository setup, create a SNS topic:
const onImageScanCompletedTopic = new sns.Topic(stack, 'RepositoryScanTopic', {
topicName: 'ecr-repository-scan-completed-topic',
displayName: 'Notifications about ECR Repository scans',
});
Hook each ECR repository to report image scan results to the previously created topic:
const ecrRepository = new ecr.Repository(stack, 'DemoEcrRepository', {
repositoryName: name,
imageScanOnPush: true,
});
ecrRepository.onImageScanCompleted('DemoScanCompleted', {
target: new targets.SnsTopic(onImageScanCompletedTopic),
});
Microsoft Teams reporting for ECR Image scan
To get notifications using Microsoft Teams Webhook, set up the handler for the previously created topic:
import { EcrImageScanTeamsWebhookHandler } from 'cdk-ecr-image-scan-handler';
const mockApp = new App();
const stack = new Stack(mockApp, 'app-stack');
new EcrImageScanTeamsWebhookHandler(stack, 'ecr-scan-result-handler', {
webhookUrl: 'https://outlook.office.com/webhook/xxxxx',
notificationTopicArn: 'arn:aws:sns:eu-central-1:112233445566:ecr-repository-scan-completed-topic',
});
Email results for ECR Image scan
To get reports via email, set up the handler for the previously created topic:
import { EcrImageScanResultHandler } from 'cdk-ecr-image-scan-handler';
const mockApp = new App();
const stack = new Stack(mockApp, 'app-stack');
new EcrImageScanResultHandler(stack, 'ecr-scan-result-handler', {
fromAddress: 'from@address.com',
toAddress: 'to@address.com',
notificationTopicArn: 'arn:aws:sns:eu-central-1:112233445566:ecr-repository-scan-completed-topic',
});