This design implements Confidential Computing (SGX/SEV-SNP) to protect data *in use*.
Topology: Confidential VMs run in a Spoke VNet. Even Azure Admins (Microsoft) cannot see the memory contents.
+--------------+ +--------------------------+ +--------------+
| Client | | HUB VNet | | SPOKE VNet |
| (Remote) | | (Key Vault) | | (Enclave) |
+------+-------+ +------------+-------------+ +------+-------+
| | |
v | (Peering) |
+------+-------+ v v
| Attestation | +------------+-------------+ +------+-------+
| Service |---------->| Managed HSM |<--------->| Confidential|
| (Verify) | | (Keys) | | VM |
+--------------+ +--------------------------+ +------+-------+
PRIMARY REGION (East US)
+-----------------------------------------------------------------------+
| HUB VNet: vnet-hub (10.0.0.0/16) |
| +-----------------------+ |
| | Azure Managed HSM | |
| +-----------|-----------+ |
| | |
| v (Peering) |
+---------------|-------------------------------------------------------+
|
+---------------|-------------------------------------------------------+
| SPOKE VNet: vnet-confidential (10.1.0.0/16) |
| +-----------------------+ |
| | Subnet: Secure | |
| | [DCsv3 VM] | |
| | (Memory Encrypted) | |
| +-----------------------+ |
+-----------------------------------------------------------------------+
SECONDARY REGION (West US)
+-----------------------------------------------------------------------+
| DR SPOKE VNet |
| +-----------------------+ |
| | Confidential VM (DR) | |
| +-----------------------+ |
+-----------------------------------------------------------------------+
1. Boot: VM boots.
2. Quote: VM generates a hardware "quote" (signature).
3. Verify: Sends quote to Attestation Service.
4. Token: Service verifies and issues a Token.
5. Unlock: VM sends Token to Key Vault.
6. Key: Key Vault releases the Disk Encryption Key.
7. Run: App runs in encrypted memory.
1. Search: "Virtual networks" -> + Create.
2. Resource Group: rg-confidential.
3. Name: vnet-confidential.
4. Region: East US (Ensure region supports DCsv3).
5. Create.
6. Peer to vnet-hub.
1. Search: "Virtual machines" -> + Create.
2. Resource Group: rg-confidential.
3. Name: vm-confidential-01.
4. Region: East US.
5. Image: Ubuntu 20.04 LTS Gen 2.
6. Size:
* Click See all sizes.
* Filter by Family: Confidential compute.
* Select Standard_DC2s_v3 (Intel SGX) or Standard_EC2s_v5 (AMD SEV-SNP).
7. Security type: Confidential virtual machines.
8. Confidential computing encryption:
* Select Disk with a platform-managed key (Default).
* *Optionally select "Disk with a customer-managed key" if you have a Managed HSM.*
9. Networking: vnet-confidential.
10. Create.
1. Login to the VM (SSH).
2. Check Kernel: dmesg | grep -i sev.
3. Output: You should see lines like AMD Memory Encryption Features active: SEV SEV-ES SEV-SNP.
4. Check Attestation:
* Install cvm-tools (if available) or check /sys/kernel/security/sev.
1. If you chose DC-series (Intel):
2. Install OE SDK: sudo apt-get install open-enclave.
3. Run Sample: Run the helloworld sample.
4. It prints "Hello world from the Enclave".
* *This proves code ran in protected memory.*