You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/container-registry/container-registry-tutorial-sign-build-push.md
+12-12Lines changed: 12 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
-
title: Sign container images with Notation and Azure Key Vault using a self-signed certificate (preview)
3
-
description: In this tutorial you'll learn to create a signing certificate in Azure Key Vault (AKV), build and sign a container image stored in Azure Container Registry (ACR) with notation and AKV, and then verify the container image with notation.
2
+
title: Sign container images with Notation and Azure Key Vault using a self-signed certificate (Preview)
3
+
description: In this tutorial you'll learn to create a self-signed certificate in Azure Key Vault (AKV), build and sign a container image stored in Azure Container Registry (ACR) with notation and AKV, and then verify the container image with notation.
4
4
author: yizha1
5
5
ms.author: yizha1
6
6
ms.service: container-registry
@@ -9,9 +9,9 @@ ms.topic: how-to
9
9
ms.date: 4/23/2023
10
10
---
11
11
12
-
# Sign container images with Notation and Azure Key Vault using a self-signed certificate (preview)
12
+
# Sign container images with Notation and Azure Key Vault using a self-signed certificate (Preview)
13
13
14
-
Signing container images is a process that ensures their authenticity and integrity. This is achieved by adding a digital signature to the container image, which can be validated during deployment. The signature helps to verify that the image is from a trusted publisher and has not been tampered with. [Notation](https://github.com/notaryproject/notation) is an open source supply chain tool developed by [Notary Project](https://notaryproject.dev/), which supports signing and verifying container images and other artifacts. The Azure Key Vault (AKV) is used to store a signing certificate that can be utilized by Notation with the Notation AKV plugin (azure-kv) to sign and verify container images and other artifacts. The Azure Container Registry (ACR) allows you to attach and discover these signatures to container images.
14
+
Signing container images is a process that ensures their authenticity and integrity. This is achieved by adding a digital signature to the container image, which can be validated during deployment. The signature helps to verify that the image is from a trusted publisher and has not been tampered with. [Notation](https://github.com/notaryproject/notation) is an open source supply chain tool developed by [Notary Project](https://notaryproject.dev/), which supports signing and verifying container images and other artifacts. The Azure Key Vault (AKV) is used to store certificates with signing keys that can be utilized by Notation with the Notation AKV plugin (azure-kv) to sign and verify container images and other artifacts. The Azure Container Registry (ACR) allows you to attach and discover these signatures to container images.
15
15
16
16
> [!IMPORTANT]
17
17
> This feature is currently in preview. Previews are made available to you on the condition that you agree to the [supplemental terms of use][terms-of-use]. Some aspects of this feature may change prior to general availability (GA).
@@ -20,15 +20,15 @@ In this tutorial:
20
20
21
21
> [!div class="checklist"]
22
22
> * Install Notation CLI and AKV plugin
23
-
> * Create a self-signed signing certificate in AKV
23
+
> * Create a self-signed certificate in AKV
24
24
> * Build and push a container image with ACR task
25
25
> * Sign a container image with Notation CLI and AKV plugin
26
26
> * Validate a container image against the signature with Notation CLI
27
27
28
28
## Prerequisites
29
29
30
30
* Create or use an [Azure Container Registry](../container-registry/container-registry-get-started-azure-cli.md) for storing container images and signatures
31
-
* Create or use an [Azure Key Vault](../key-vault/general/quick-create-cli.md) for managing signing certificates
31
+
* Create or use an [Azure Key Vault](../key-vault/general/quick-create-cli.md) for managing certificates
32
32
* Install and configure the latest [Azure CLI](/cli/azure/install-azure-cli), or Run commands in the [Azure Cloud Shell](https://portal.azure.com/#cloudshell/)
33
33
34
34
## Install Notation CLI and AKV plugin
@@ -104,7 +104,7 @@ In this tutorial:
104
104
az login
105
105
```
106
106
107
-
To learn more about Azure CLI and how to sign in with it, see [Sign in with Azure CLI](https://learn.microsoft.com/en-us/cli/azure/authenticate-azure-cli).
107
+
To learn more about Azure CLI and how to sign in with it, see [Sign in with Azure CLI](/cli/azure/authenticate-azure-cli).
108
108
109
109
## Assign access policy in AKV (Azure CLI)
110
110
@@ -126,13 +126,13 @@ az keyvault set-policy -n $AKV_NAME --certificate-permissions create get --key-p
126
126
> [!NOTE]
127
127
> The permissions granted are necessary for creating a certificate and signing a container image. Depending on your requirements, you may need to grant additional permissions.
128
128
129
-
## Create a self-signed signing certificate in AKV (Azure CLI)
129
+
## Create a self-signed certificate in AKV (Azure CLI)
130
130
131
-
The following steps show how to create a self-signed signing certificate for testing purpose.
131
+
The following steps show how to create a self-signed certificate for testing purpose.
132
132
133
133
1. Create a certificate policy file.
134
134
135
-
Once the certificate policy file is executed as below, it creates a valid signing certificate compatible with [Notary Project certificate requirement](https://github.com/notaryproject/specifications/blob/v1.0.0/specs/signature-specification.md#certificate-requirements) in AKV. The EKU listed is for code-signing, but isn't required for notation to sign artifacts. The subject is used later as trust identity that user trust during verification.
135
+
Once the certificate policy file is executed as below, it creates a valid certificate compatible with [Notary Project certificate requirement](https://github.com/notaryproject/specifications/blob/v1.0.0/specs/signature-specification.md#certificate-requirements) in AKV. The EKU listed is for code-signing, but isn't required for notation to sign artifacts. The subject is used later as trust identity that user trust during verification.
136
136
137
137
```bash
138
138
cat <<EOF > ./my_policy.json
@@ -207,7 +207,7 @@ The following steps show how to create a self-signed signing certificate for tes
207
207
208
208
## Verify a container image with Notation CLI
209
209
210
-
To verify the container image, you need to add the root certificate that signs the signing certificate to a trust store and create trust policies for verification. For a self-signed certificate used in this tutorial, the root certificate is the self-signed certificate itself.
210
+
To verify the container image, you need to add the root certificate that signs the certificate to a trust store and create trust policies for verification. For a self-signed certificate used in this tutorial, the root certificate is the self-signed certificate itself.
211
211
212
212
1. Download public certificate.
213
213
@@ -231,7 +231,7 @@ To verify the container image, you need to add the root certificate that signs t
231
231
232
232
4. Configure trust policy before verification.
233
233
234
-
Trust policies allow users to specify fine-tuned verification policies. Use the following command to configure trust policy. Upon successful execution of the command, one trust policy named `wabbit-networks-images` is created. This trust policy applies to all the artifacts stored in repositories defined in `$REGISTRY/$REPO`. Assuming that the user trusts a specific identity with the X.509 subject `$CERT_SUBJECT`, which is used for the signing certificate. The named trust store `$STORE_NAME` of type `$STORE_TYPE` contains the root certificates. See [Trust store and trust policy specification](https://github.com/notaryproject/notaryproject/blob/v1.0.0/specs/trust-store-trust-policy.md) for details.
234
+
Trust policies allow users to specify fine-tuned verification policies. Use the following command to configure trust policy. Upon successful execution of the command, one trust policy named `wabbit-networks-images` is created. This trust policy applies to all the artifacts stored in repositories defined in `$REGISTRY/$REPO`. Assuming that the user trusts a specific identity with the X.509 subject `$CERT_SUBJECT`, which is used for the certificate. The named trust store `$STORE_NAME` of type `$STORE_TYPE` contains the root certificates. See [Trust store and trust policy specification](https://github.com/notaryproject/notaryproject/blob/v1.0.0/specs/trust-store-trust-policy.md) for details.
0 commit comments