Run only the images you trust¶
With MKE you can force applications to use only Docker images that are signed by MKE users you trust. Every time a user attempts to deploy an application to the cluster, MKE verifies that the application is using a trusted Docker image. If a trusted Docker image is not in use, MKE halts the deployment.
By signing and verifying the Docker images, you ensure that the images in use in your cluster are trusted and have not been altered, either in the image registry or on their way from the image registry to your MKE cluster.
A developer makes changes to a service and pushes their changes to a version control system.
A CI system creates a build, runs tests, and pushes an image to the Mirantis Secure Registry (MSR) with the new changes.
The quality engineering team pulls the image, runs more tests, and signs and pushes the image if the image is verified.
IT operations deploys the service, but only if the image in use is signed by the QA team. Otherwise, MKE will not deploy.
To configure MKE to only allow running services that use Docker trusted images:
Log in to the MKE web UI.
In the left-side navigation menu, click the user name drop-down to display the available options.
Click Admin Settings > Docker Content Trust to reveal the Content Trust Settings page.
Enable Run only signed images.
At this point, MKE allows the deployment of any signed image, regardless of signee.
(Optional) Make it necessary for the image to be signed by a particular team or group of teams:
Click Add Team+ to reveal the two-part tool.
From the drop-down at the left, select an organization.
From the drop-down at the right, select a team belonging to the organization you selected.
Repeat the procedure to configure additional teams.
If you specify multiple teams, the image must be signed by a member of each team, or someone who is a member of all of the teams.
MKE immediately begins enforcing the image trust policy. Existing services continue to run and you can restart them as necessary. From this point, however, MKE only allows the deployment of new services that use a trusted image.