IP Library Granted Patent US 11,487,530
Granted Patent B2
US 11,487,530 · App. 16/940,261 · Granted Nov 1, 2022

Software container registry service

Inventors: Anthony Joseph Suarez (Seattle, WA); Scott Kerns Windsor (Seattle, WA); Nare Hayrapetyan (Seattle, WA); Daniel Robert Gerdesmeier (Seattle, WA); Pooja Kalpana Prakash (Seattle, WA)
Assignee: Amazon Technologies, Inc.
G06F8/71G06F8/63G06F9/45558G06F21/53G06F21/6209G06F2009/4557G06F2221/033
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,487,530
App. No.
16/940,261
Granted
Nov 1, 2022
Kind
B2
Abstract

A request to update a software container image within a container registry hosted by a computing resource service provider is received from an entity associated with a customer account with the computing resource service provider, where the container registry is a scalable distributed data storage service. The software container image is stored in the container registry in association with the customer account. A layer of the software container image stored in the container registry is scanned for a reference identifier associated with a security vulnerability as a result of said scan finding the reference identifier within the software container image, notice is provided to the entity indicating that the security vulnerability was found. Software within the software container image is updated based at least in part on the vulnerability scan; and the update software is deployed.

Claims (46)

1. A computer implemented method, comprising:

receiving, from an entity associated with a customer account with a computing resource service provider, a request to update a software container image within a container registry hosted by the computing resource service provider, the software container image including image layers stored as encrypted image layers in a data object store assigned to the customer account, the container registry being a scalable distributed data storage service;

storing, in the container registry, the software container image in association with the customer account;

scanning a layer of the software container image stored in the container registry for a reference identifier associated with a security vulnerability;

as a result of said scanning finding the reference identifier within the software container image, providing notice to the entity indicating that the security vulnerability was found;

updating the software container image based at least in part on the result of said scanning; and

deploying the updated software container image.

2. The computer implemented method of claim 1 , further comprising deleting the software container image from the container registry.

3. The computer implemented method of claim 1 , wherein an encryption key for encrypting the software container image is managed by the entity associated with the customer account.

4. The computer implemented method of claim 1 , further comprising obtaining an instruction that specifies, on a condition that the security vulnerability is found, to perform a rollback of the software container image.

5. The computer implemented method of claim 1 , further comprising storing, in a registry metadata service, metadata about the software container image.

6. The computer implemented method of claim 5 , wherein the registry metadata service is a structured data storage service.

7. The computer implemented method of claim 1 , wherein the layer of the software container image corresponds to a step in a build process of the software container image.

8. A system, comprising:

one or more processors; and

memory including executable instructions that, as a result of execution by the one or more processors, cause the system to:

receive, from an entity associated with a customer account with a computing resource service provider, a request to update a software container image within a container registry hosted by the computing resource service provider, the container registry being a scalable distributed data storage service;

store, in the container registry, the software container image in association with the customer account by at least causing the system to:

encrypt the software container image to produce an encrypted software container image; and

store the encrypted software container image in association with the customer account;

scan a layer of the software container image stored in the container registry for a reference identifier associated with a security vulnerability;

as a result of said scan finding the reference identifier within the software container image, providing notice to the entity indicating that the security vulnerability was found;

update the software container image based at least in part on the result of said scan; and

deploy the updated software container image.

9. The system of claim 8 , wherein the executable instructions further include instructions that cause the system to obtain a manifest that contains metadata about a set of container image layers comprising the software container image stored in the container registry.

10. The system of claim 8 , wherein the executable instructions further include instructions that cause the system to:

receive a user-specified tag to apply to the software container image; and

apply the user-specified tag to the software container image stored in the container registry.

11. The system of claim 8 , wherein the executable instructions that cause the system to update the software container image include instructions that cause the system to update the software container image in response to receipt of updated software without the security vulnerability from the entity.

12. The system of claim 8 , wherein the software container image comprises image layers stored as encrypted image layers in a data object assigned to the customer account.

13. A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by a processor of a computer system, cause the computer system to at least:

receive, from an entity associated with a customer account with a computing resource service provider, a request to update a software container image within a container registry hosted by the computing resource service provider, the software container image including image layers stored as encrypted image layers in a data object store assigned to the customer account, the container registry being a scalable distributed data storage service;

store, in the container registry, the software container image in association with the customer account;

scan a layer of the software container image stored in the container registry for a reference identifier associated with a security vulnerability;

as a result of said scan finding the reference identifier within the software container image, providing notice to the entity indicating that the security vulnerability was found;

update the software container image based at least in part on the result of said scan; and

deploy the updated software container image.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the executable instructions further include instructions that cause the computer system to store, in a registry metadata service, metadata about the software container image.

15. The non-transitory computer-readable storage medium of claim 14 , wherein the registry metadata service is a structured data storage service.

16. The non-transitory computer-readable storage medium of claim 13 , wherein the executable instructions further include instructions that cause the computer system to:

receiving a command to deploy a software application that is based at least in part on the software container image; and

deploying, based at least in part on the software container image stored in the container registry, the software application using a cluster of container instances.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the cluster of container instances is associated with the customer account.

18. The non-transitory computer-readable storage medium of claim 16 , wherein the executable instructions that cause the computer system to deploy the software application further include instructions that cause the computer system to deploy the software application in response to a command received via an application programming interface.

19. The non-transitory computer-readable storage medium of claim 16 , wherein the executable instructions further include instructions that cause the computer system, prior to updating the software container image, to roll back the software application using a previous version of the software container image stored in the container registry.

20. The non-transitory computer-readable storage medium of claim 16 , wherein the executable instructions that cause the computer system to deploy the updated software container image further include instructions that cause the computer system to redeploy the software application using the updated software container image.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2020
From: SUAREZ, ANTHONY JOSEPH; WINDSOR, SCOTT KERNS; HAYRAPETYAN, NARE; GERDESMEIER, DANIEL ROBERT; PRAKASH, POOJA KALPANA
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 053322/0630 →
Continuity (3)
Continuation 16383523 · Apr 12, 2019
Division 14975631 · Dec 18, 2015
Related Publication 20210042108A1 · Feb 11, 2021
Cited By (5)
US 12,360,756 US 12,547,502 US 12,650,827 US 12,699,575 US 12,711,242