Skip to content

Commit 00b1f9e

Browse files
authored
addressed feedback
1 parent 0eda7a0 commit 00b1f9e

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

articles/confidential-computing/skr-flow-confidential-vm-sev-snp.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Secure Key Release with Azure Key Vault and application on Confidential VM's with AMD SEV-SNP
2+
title: Secure Key Release with Azure Key Vault and application on Confidential VMs with AMD SEV-SNP
33
description: Learn how to build an application that securely gets the key from AKV to a Confidential VM attested environment and in an Azure Kubernetes Service cluster
44
author: ThomVanL
55
ms.service: virtual-machines
@@ -12,7 +12,7 @@ ms.author: amgowda
1212

1313
# Secure Key Release with Confidential VMs How To Guide
1414

15-
The below article describes how to perform a Secure Key Release from Azure Key Value when your applications are running with an AMD SEV-SNP confidential. To learn more about Secure Key Release and Azure Confidential Computing, [go here](./concept-skr-attestation.md).
15+
The below article describes how to perform a Secure Key Release from Azure Key Value when your applications are running with an AMD SEV-SNP confidential. To learn more about Secure Key Release and Azure Confidential Computing, [go here.](./concept-skr-attestation.md).
1616

1717
SKR requires that an application performing SKR shall go through a remote guest attestation flow using Microsoft Azure Attestation (MAA) as described [here](guest-attestation-confidential-vms.md).
1818

@@ -23,9 +23,9 @@ To allow Azure Key Vault to release a key to an attested confidential virtual ma
2323
1. Assign a managed identity to the confidential virtual machine. System-assigned managed identity or a user-assigned managed identity are allowed.
2424
1. Set a Key Vault access policy to grant the managed identity the "release" key permission. A policy allows the confidential virtual machine to access the Key Vault and perform the release operation. If using Key Vault Managed HSM, assign "Managed HSM Crypto Service Release User" role membership.
2525
1. Create a Key Vault key that is marked as exportable and has an associated release policy. Key release policy associates the key to an attested confidential virtual machine and that the key can only be used for the desired purpose.
26-
1. To perform the release, send an HTTP request to the Key Vault from the confidential virtual machine. HTTP request must include the Confidential VM's attested platform report in the request body. The attested platform report is used to verify the trustworthiness of the state of the Trusted Execution Environment-enabled platform, such as the Confidential VM. The Microsoft Azure Attestation service can be used to create the attested platform report and include it in the request.
26+
1. To perform the release, send an HTTP request to the Key Vault from the confidential virtual machine. HTTP request must include the Confidential VMs attested platform report in the request body. The attested platform report is used to verify the trustworthiness of the state of the Trusted Execution Environment-enabled platform, such as the Confidential VM. The Microsoft Azure Attestation service can be used to create the attested platform report and include it in the request.
2727

28-
![Image of the aforementioned operations, which we'll be performing.](media/skr-flow-confidential-vm-sev-snp-attestation/overview.png)
28+
![Diagram of the aforementioned operations, which we'll be performing.](media/skr-flow-confidential-vm-sev-snp-attestation/overview.png)
2929

3030
## Deploying an Azure Key Vault
3131

@@ -83,7 +83,7 @@ To enable system-assigned managed identity on a CVM, your account needs the [Vir
8383

8484
### [Bicep 1](#tab/bicep)
8585

86-
1. Whether you sign in to Azure locally or via the Azure portal, use an account that is associated with the Azure subscription that contains the VM.
86+
1. Whether you sign in to Azure locally or via the Azure Portal, use an account that is associated with the Azure subscription that contains the VM.
8787

8888
2. To enable system-assigned managed identity, load the template into an editor, locate the `Microsoft.Compute/virtualMachines` resource of interest and add the `"identity"` property at the same level as the `name: vmName` property. Use the following syntax:
8989

@@ -118,7 +118,7 @@ To enable system-assigned managed identity on a CVM, your account needs the [Vir
118118
},
119119
```
120120

121-
3. The final template looks the the below example
121+
3. The final template looks the below example
122122

123123
```json
124124
"resources": [
@@ -357,11 +357,11 @@ resource exportableKey 'Microsoft.KeyVault/vaults/keys@2022-07-01' = {
357357

358358
We can verify that Key Vault has created a new, __HSM-backed__, key and that it contains our secure key __release policy__ by navigating to the Azure Portal and selecting our key. The intended key will be marked as "__exportable__".
359359

360-
![Image of the Azure Portal with the settings for key named 'my SKR key' visible. It shows another panel that shows the details of the secure key release policy.](media/skr-flow-confidential-vm-sev-snp-attestation/skr-onboard-key-with-policy.png)
360+
![Screenshot of the Azure Portal with the settings for key named 'my SKR key' visible. It shows another panel that shows the details of the secure key release policy.](media/skr-flow-confidential-vm-sev-snp-attestation/skr-onboard-key-with-policy.png)
361361

362362
## Guest attestation client
363363

364-
Attestation helps us to _cryptographically assess_ that something is running in the intended operating state. It is the process by which one party, the verifier, assesses the trustworthiness of a potentially untrusted peer, the attester.With remote guest attestation, the trusted execution environment offers a platform that allows you to run an entire operating system inside of it.
364+
Attestation helps us to _cryptographically assess_ that something is running in the intended operating state. It is the process by which one party, the verifier, assesses the trustworthiness of a potentially untrusted peer, the attester. With remote guest attestation, the trusted execution environment offers a platform that allows you to run an entire operating system inside of it.
365365

366366
> [!IMPORTANT]
367367
> Microsoft offers a C/C++ library, for both [Windows](https://www.nuget.org/packages/Microsoft.Azure.Security.GuestAttestation) and [Linux](https://packages.microsoft.com/repos/azurecore/pool/main/a/azguestattestation1/) that can help your development efforts. The library makes it easy to acquire a __a SEV-SNP platform report__ from the hardware and to also have it attested by an instance of Azure Attestation service. The Azure Attestation service can either be one hosted by Microsoft (shared) or your own private instance.
@@ -432,7 +432,7 @@ The result from the Guest Attestation client simply is a base64 encoded string!
432432
eyJhbGciO...
433433
```
434434

435-
The header contains a `jku`, aka [JWK Set URI](https://www.rfc-editor.org/rfc/rfc7515#section-4.1.2) which links to a set of JSON-encoded public keys. One of which corresponds to the key used to digitally sign the JWS. The `kid` indicates which key was used to sign the JWS.
435+
The header contains a `jku`, also knows as [JWK Set URI](https://www.rfc-editor.org/rfc/rfc7515#section-4.1.2) which links to a set of JSON-encoded public keys. One of which corresponds to the key used to digitally sign the JWS. The `kid` indicates which key was used to sign the JWS.
436436

437437
```json
438438
{
@@ -443,7 +443,7 @@ The header contains a `jku`, aka [JWK Set URI](https://www.rfc-editor.org/rfc/rf
443443
}
444444
```
445445

446-
The body of the guest attestation response will get validated by Azure Key Vault as input to test against the key release policy. As reviously notes, Azure Key Vault uses the "`TpmEphemeralEncryptionKey`" as the key-encryption key.
446+
The body of the guest attestation response will get validated by Azure Key Vault as input to test against the key release policy. As reviously noted, Azure Key Vault uses the "`TpmEphemeralEncryptionKey`" as the key-encryption key.
447447

448448
```json
449449
{
@@ -550,9 +550,9 @@ The documentation for Microsoft Azure Attestation service has an extensive list
550550

551551
## Performing the key release operation
552552

553-
We can use any scripting or programming language to receive an attested platform report using the AttestationClient binary. Since the virtual machine we deployed in a previous step has managed identity enabled, we should get an __AAD token for Key Vault__ from the instance metadata service (__IMDS__).
553+
We can use any scripting or programming language to receive an attested platform report using the AttestationClient binary. Since the virtual machine we deployed in a previous step has managed identity enabled, we should get an __Azure AD token for Key Vault__ from the instance metadata service (__IMDS__).
554554

555-
By configuring the attested platform report as the body payload and the AAD token in our __authorization header__, you have everything needed to perform the key `release` operation.
555+
By configuring the attested platform report as the body payload and the Azure AD token in our __authorization header__, you have everything needed to perform the key `release` operation.
556556

557557
```powershell
558558
#Requires -Version 7

0 commit comments

Comments
 (0)