SBOM for AWS ECR
Gain visibility into the container images stored in your Amazon Elastic Container Registry (ECR) and the software packages they include. The SBOM for AWS ECR integration assumes an IAM role in your AWS account, discovers repositories by tag, and scans your most recent images for software components and known vulnerabilities, enabling you to query, monitor, and alert on changes in your software supply chain.
- Installation
- Data Model
- Types
- Release Notes
Installation
For this integration, you will need an AWS account with one or more images stored in Amazon Elastic Container Registry (ECR), and an IAM role that JupiterOne can assume to read from your registry. The integration authenticates by assuming this role with an auto-generated External ID, discovers repositories by tag, and scans the most recent images in each matching repository for SBOM (Software Bill of Materials) ingestion.
Set permissions in AWS
Create an IAM role in the AWS account that hosts your ECR registry, and configure its trust policy to allow JupiterOne to assume it using the External ID that is auto-generated when you create the integration instance (see below). Attach a policy granting the following read-only Amazon ECR permissions:
ecr:GetAuthorizationTokenecr:DescribeRepositoriesecr:ListTagsForResourceecr:DescribeImagesecr:BatchCheckLayerAvailabilityecr:GetDownloadUrlForLayerecr:BatchGetImage
ecr:GetAuthorizationToken, ecr:BatchCheckLayerAvailability, ecr:GetDownloadUrlForLayer, and ecr:BatchGetImage allow the integration to authenticate to the registry and pull image layers for scanning. ecr:DescribeRepositories and ecr:ListTagsForResource are used to discover repositories by tag, and ecr:DescribeImages to select the most recent images per repository.
Configuration in JupiterOne
To install the SBOM for AWS ECR integration in JupiterOne, navigate to the Integrations tab and select SBOM for AWS ECR. Click New Instance to begin configuring your integration.
Creating an instance requires the following:
- Registry – The URL of your ECR registry, such as
<account-id>.dkr.ecr.<region>.amazonaws.comfor a private registry orpublic.ecr.aws/<namespace>for a public registry. - Role ARN – The ARN of the IAM role JupiterOne assumes to authenticate with AWS.
- External ID – Auto-generated by JupiterOne. Use this value when configuring the trust policy of the IAM role. You may change it, but doing so is against Amazon's security recommendations.
- Region – (Optional) The AWS region where the registry is located. Defaults to
us-east-1.
Data filters
- Tag – Filter which repositories to ingest SBOMs from using AWS resource tags. Use the format
tag-key:tag-value(for example,environment:production), or specify only the tag key to match any value (for example,environment). Only repositories carrying a matching tag are processed. - Images to Scan – The number of most recent images to scan per repository (
1,2, or3). Defaults to1.
If your registry is served behind an internal or self-signed certificate, you can optionally provide a Certificate Authority Certificate (PEM format, full CA chain) under TLS / Certificate Settings to verify the TLS connection to the registry.
Click Create once all required values are provided to finalize the integration.
Next steps
Now that your integration instance has been configured, it will begin running on the polling interval you provided, populating data within JupiterOne. Continue on to our Instance management guide to learn more about working with and editing integration instances.
Entities
The following entities are created:
| Resources | Entity _type | Entity _class |
|---|---|---|
| Container Image | sbom_container_image | Image |
| Software Package | sbom_software_package | CodeModule |
| Vulnerability | sbom_vulnerability | Finding, Vulnerability |
| Vulnerability | sbom_vulnerability | Finding |
Relationships
The following relationships are created:
Source Entity _type | Relationship _class | Target Entity _type |
|---|---|---|
sbom_container_image | CONTAINS | sbom_software_package |
sbom_software_package | USES | sbom_software_package |
sbom_software_package | HAS | sbom_vulnerability |
Mapped Relationships
The following mapped relationships are created:
Source Entity _type | Relationship _class | Target Entity _type | Direction |
|---|---|---|---|
sbom_container_image | IS | image | FORWARD |
Sbom Container Image
sbom_container_image inherits from Image
| Property | Type | Description | Specifications |
|---|---|---|---|
digest * | string | ||
imagePlatform | string | ||
imageTag * | string | ||
imageType * | string | ||
repository | string | ||
size | number | ||
version | string |
Sbom Software Package
sbom_software_package inherits from CodeModule
| Property | Type | Description | Specifications |
|---|---|---|---|
cpe * | array | null | ||
license * | array | null | ||
modulePackageManager * | string | ||
purl | string | ||
repositoryType | string | ||
size | number | ||
type | string | ||
version | string |
Sbom Vulnerability
sbom_vulnerability inherits from Finding, Vulnerability
| Property | Type | Description | Specifications |
|---|---|---|---|
fixAvailable | boolean | ||
fixedInVersion | string | ||
publishedOn | number |
Sbom Vulnerability
sbom_vulnerability inherits from Finding
| Property | Type | Description | Specifications |
|---|---|---|---|
fixAvailable | boolean | ||
fixedInVersion | string | ||
publishedOn | number |