Skip to content

Commit dad96bc

Browse files
authored
Merge pull request #229221 from agowdamsft/agowdamsft-patch-acc-1
ACI Related Changes and Generic ACC updates
2 parents 5e582ad + a53c176 commit dad96bc

9 files changed

+58
-47
lines changed

articles/confidential-computing/TOC.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
items:
4343
- name: Create Intel SGX enclaves on AKS with CLI
4444
href: confidential-enclave-nodes-aks-get-started.md
45-
- name: Confidential node pools in AKS
45+
- name: Confidential VM node pools in AKS
4646
items:
4747
- name: Add a confidential VM node pool to your AKS cluster
4848
href: confidential-node-pool-aks.md
@@ -111,13 +111,13 @@
111111
items:
112112
- name: Confidential containers overview
113113
href: confidential-containers.md
114+
- name: Confidential containers with Azure Container Instances (ACI)
115+
href: confidential-containers.md#vm-isolated-confidential-containers-on-azure-container-instances-aci---public-preview
114116
- name: Confidential containers with Intel SGX enclaves
115117
href: confidential-containers-enclaves.md
116-
- name: VM isolated confidential containers on Azure Container Instance
117-
href: https://techcommunity.microsoft.com/t5/azure-confidential-computing/microsoft-introduces-preview-of-confidential-containers-on-azure/ba-p/3410394
118118
- name: Confidential node pools on AKS
119119
items:
120-
- name: Confidential node pools in AKS (preview)
120+
- name: Confidential VM node pools in AKS
121121
href: confidential-node-pool-aks.md
122122
- name: How To
123123
expanded: true

articles/confidential-computing/choose-confidential-containers-offerings.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
title: Choose container offerings for confidential computing
33
description: How to choose the right confidential container offerings to meet your security, isolation and developer needs.
44
author: agowdamsft
5-
ms.service: container-service
5+
ms.service: virtual-machines
6+
ms.subservice: confidential-computing
67
ms.topic: conceptual
78
ms.date: 11/01/2021
89
ms.author: amgowda #ananyagarg
@@ -22,13 +23,11 @@ The diagram below will guide different offerings in this portfolio
2223

2324
## Links to container compute offerings
2425

25-
**Azure Container Instances with Confidential containers (AMD SEV_SNP)** are the first serverless offering that helps protect your container deployments with confidential computing through AMD SEV-SNP technology. Read more on the product [here](https://aka.ms/ccacipreview).
26+
**Confidential VM worker nodes on AKS)** supporting full AKS features with node level VM based Trusted Execution Environment (TEE). Also support remote guest attestation. [Get started with CVM worker nodes with a lift and shift workload to CVM node pool.](../aks/use-cvm.md)
2627

28+
**Unmodified containers with serverless offering** [confidential containers on Azure Container Instance (ACI)](./confidential-containers.md#vm-isolated-confidential-containers-on-azure-container-instances-aci---public-preview) supporting existing Linux containers with remote guest attestation flow.
2729

28-
There are two programming and deployment models on Azure Kubernetes Service (AKS).
29-
<!-- You can deploy containers with confidential application enclaves. This method of container deployments has the strongest security and compute isolation, with a lower Trusted Computing Base (TCB). Confidential containers based on Intel Software Guard Extensions (SGX) that run in the hardware-based Trusted Execution Environment (TEE) are available. These containers support lifting and shifting your existing container apps. Another option is to allow building custom apps with enclave awareness. -->
30-
31-
**Unmodified containers** support higher programming languages on Intel SGX through the Azure Partner ecosystem of OSS projects. For more information, see the [unmodified containers deployment flow and samples](./confidential-containers.md).
30+
**Unmodified containers with Intel SGX** support higher programming languages on Intel SGX through the Azure Partner ecosystem of OSS projects. For more information, see the [unmodified containers deployment flow and samples](./confidential-containers.md).
3231

3332
**Enclave-aware containers** use a custom Intel SGX programming model. For more information, see the [the enclave-aware containers deployment flow and samples](./enclave-aware-containers.md).
3433

articles/confidential-computing/confidential-containers-enclaves.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ author: agowdamsft
66
ms.topic: article
77
ms.date: 7/15/2022
88
ms.author: amgowda
9-
ms.service: container-service
9+
ms.service: virtual-machines
10+
ms.subservice: confidential-computing
1011
ms.custom: ignite-fall-2021
1112
---
1213

@@ -15,7 +16,7 @@ ms.custom: ignite-fall-2021
1516
[Confidential containers](confidential-containers.md) help you run existing unmodified container applications of most **common programming languages** runtimes (Python, Node, Java etc.) in the Intel SGX based Trusted Execution Environment(TEE).
1617
This packaging model typically does not need any source-code modifications or recompilation and is the fastest method to run in Intel SGX enclaves. Typical deployment process for running your standard docker containers requires an Open-Source SGX Wrapper or Azure Partner Solution.
1718
In this packaging and execution model each container application is loaded in the trusted boundary (enclave) and with a hardware-based isolation enforced by Intel SGX CPU. Each container running in an enclave receives its own memory encryption key delivered from the Intel SGX CPU.
18-
This model works well for off the shelf container applications available in the market or custom apps currently running on general purpose nodes
19+
This model works well for off the shelf container applications available in the market or custom apps currently running on general purpose nodes.
1920
To run an existing Docker container, applications on confidential computing nodes require an Intel Software Guard Extensions (SGX) wrapper software to help the container execution within the bounds of special CPU instruction set.
2021
SGX creates a direct execution to the CPU to remove the guest operating system (OS), host OS, or hypervisor from the trust boundary. This step reduces the overall surface attack areas and vulnerabilities while achieving process level isolation within a single node.
2122

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,52 @@
11
---
22
title: Confidential containers on Azure
3-
description: Learn about unmodified lift and shift container support to confidential containers.
3+
description: Learn about unmodified container support with confidential containers.
44
services: container-service
55
author: agowdamsft
66
ms.topic: article
7-
ms.date: 7/15/2022
7+
ms.date: 3/1/2023
88
ms.author: amgowda
9-
ms.service: container-service
9+
ms.service: virtual-machines
10+
ms.subservice: confidential-computing
1011
ms.custom: ignite-fall-2021
1112
---
1213

1314
# Confidential containers on Azure
1415

15-
Confidential containers provide a set of features and capabilities to further secure your standard container workloads to achieve higher data security by running them in a Trusted Execution Environment (TEE). Azure offers a portfolio of capabilities through different confidential container options as discussed below.
16+
Confidential containers provide a set of features and capabilities to further secure your standard container workloads to achieve higher data security, data privacy and runtime code integrity goals. Confidential containers run in a hardware backed Trusted Execution Environment (TEE) that provide intrinsic capabilities like data integrity, data confidentiality and code integrity. Azure offers a portfolio of capabilities through different confidential container service options as discussed below.
1617

1718
## Benefits
18-
Confidential containers on Azure run within an enclave-based TEE or VM based TEE environments. Both deployment models help achieve high-isolation and memory encryption through hardware-based assurances. Confidential computing can enhance your deployment security posture in Azure cloud by protecting your memory space through encryption.
19+
Confidential containers on Azure run within an enclave-based TEE or VM based TEE environments. Both deployment models help achieve high-isolation and memory encryption through hardware-based assurances. Confidential computing can help you with your zero trust deployment security posture in Azure cloud by protecting your memory space through encryption.
1920

2021
Below are the qualities of confidential containers:
2122

2223
- Allows running existing standard container images with no code changes (lift-and-shift) within a TEE
23-
- Allows establishing a hardware root of trust through remote guest attestation
24-
- Provides strong assurances of data confidentiality, code integrity and data integrity in a cloud environment
24+
- Ability to extend/build new applications that have confidential computing awareness
25+
- Allows to remotely challenge runtime environment for cryptographic proof that states what was initiated as reported by the secure processor
26+
- Provides strong assurances of data confidentiality, code integrity and data integrity in a cloud environment with hardware based confidential computing offerings
2527
- Helps isolate your containers from other container groups/pods, as well as VM node OS kernel
2628

27-
## VM Isolated Confidential containers on Azure Container Instances (ACI) - Private Preview
28-
Confidential Containers on ACI platform leverages VM-based trusted execution environments (TEEs) based on AMD’s SEV-SNP technology. The TEE provides memory encryption and integrity of the utility VM’s address space as well as hardware-level isolation from other container groups, the host operating system, and the hypervisor. The Root-of-Trust (RoT), which is responsible for managing the TEE, provides support for remote attestation, including issuing an attestation report which may be used by a relying party to verify that the utility VM has been created and configured on a genuine AMD SEV-SNP CPU. Read more on the product [here](https://aka.ms/ccacipreview)
29+
## VM Isolated Confidential containers on Azure Container Instances (ACI) - Public preview
30+
[Confidential containers on ACI](../container-instances/container-instances-confidential-overview.md) enables fast and easy deployment of containers natively in Azure and with the ability to protect data and code in use thanks to AMD EPYC™ processors with confidential computing capabilities. This is because your container(s) runs in a hardware-based and attested Trusted Execution Environment (TEE) without the need to adopt a specialized programming model and without infrastructure management overhead. With this launch you get:
31+
1. Full guest attestation, which reflects the cryptographic measurement of all hardware and software components running within your Trusted Computing Base (TCB).
32+
2. Tooling to generate policies that will be enforced in the Trusted Execution Environment.
33+
3. Open-source sidecar containers for secure key release and encrypted file systems.
34+
35+
:::image type="content" source="./media/confidential-containers/confidential-container-group.png" alt-text="Graphic of ACI.":::
2936

3037
## Confidential containers in an Intel SGX enclave through OSS or partner software
3138
Azure Kubernetes Service (AKS) supports adding [Intel SGX confidential computing VM nodes](confidential-computing-enclaves.md) as agent pools in a cluster. These nodes allow you to run sensitive workloads within a hardware-based TEE. TEEs allow user-level code from containers to allocate private regions of memory to execute the code with CPU directly. These private memory regions that execute directly with CPU are called enclaves. Enclaves help protect data confidentiality, data integrity and code integrity from other processes running on the same nodes, as well as Azure operator. The Intel SGX execution model also removes the intermediate layers of Guest OS, Host OS and Hypervisor thus reducing the attack surface area. The *hardware based per container isolated execution* model in a node allows applications to directly execute with the CPU, while keeping the special block of memory encrypted per container. Confidential computing nodes with confidential containers are a great addition to your zero-trust, security planning and defense-in-depth container strategy. Learn more on this capability [here](confidential-containers-enclaves.md)
3239

3340
:::image type="content" source="./media/confidential-nodes-aks-overview/sgx-aks-node.png" alt-text="Graphic of AKS Confidential Compute Node, showing confidential containers with code and data secured inside.":::
3441

35-
3642
## Questions?
3743

3844
If you have questions about container offerings, please reach out to <[email protected]>.
3945

4046
## Next steps
4147

4248
- [Deploy AKS cluster with Intel SGX Confidential VM Nodes](./confidential-enclave-nodes-aks-get-started.md)
49+
- [Deploy Confidential container group with Azure Container Instances](../container-instances/container-instances-tutorial-deploy-confidential-containers-cce-arm.md)
4350
- [Microsoft Azure Attestation](../attestation/overview.md)
4451
- [Intel SGX Confidential Virtual Machines](virtual-machine-solutions-sgx.md)
4552
- [Azure Kubernetes Service (AKS)](../aks/intro-kubernetes.md)

articles/confidential-computing/confidential-enclave-nodes-aks-get-started.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@
22
title: 'Quickstart: Deploy an AKS cluster with Enclave Confidential Container Intel SGX nodes by using the Azure CLI'
33
description: Learn how to create an Azure Kubernetes Service (AKS) cluster with enclave confidential containers a Hello World app by using the Azure CLI.
44
author: agowdamsft
5-
ms.service: confidential-computing
5+
ms.service: virtual-machines
6+
ms.subservice: confidential-computing
67
ms.topic: quickstart
7-
ms.date: 11/1/2021
8+
ms.date: 3/1/2023
89
ms.author: amgowda
910
ms.custom: contentperf-fy21q3, devx-track-azurecli, ignite-fall-2021, mode-api
1011
---
@@ -30,10 +31,6 @@ Features of confidential computing nodes include:
3031

3132
This quickstart requires:
3233

33-
- An active Azure subscription. If you don't have an Azure subscription, [create a free account](https://azure.microsoft.com/free/?WT.mc_id=A261C142F) before you begin.
34-
- Azure CLI version 2.0.64 or later installed and configured on your deployment machine.
35-
36-
Run `az --version` to find the version. If you need to install or upgrade, see [Install the Azure CLI](../container-registry/container-registry-get-started-azure-cli.md).
3734
- A minimum of eight DCsv2/DCSv3/DCdsv3 cores available in your subscription.
3835

3936
By default, there is no pre-assigned quota for Intel SGX VM sizes for your Azure subscriptions. You should follow [these instructions](../azure-portal/supportability/per-vm-quota-requests.md) to request for VM core quota for your subscriptions.
@@ -42,11 +39,13 @@ This quickstart requires:
4239

4340
Use the following instructions to create an AKS cluster with the Intel SGX add-on enabled, add a node pool to the cluster, and verify what you created with hello world enclave application.
4441

45-
### Create an AKS cluster with a system node pool
42+
### Create an AKS cluster with a system node pool and AKS Intel SGX Addon
4643

4744
> [!NOTE]
4845
> If you already have an AKS cluster that meets the prerequisite criteria listed earlier, [skip to the next section](#add-a-user-node-pool-with-confidential-computing-capabilities-to-the-aks-cluster) to add a confidential computing node pool.
4946
47+
Intel SGX AKS Addon "confcom" exposes the Intel SGX device drivers to your containers to avoid added changes to your pod yaml.
48+
5049
First, create a resource group for the cluster by using the [az group create][az-group-create] command. The following example creates a resource group named *myResourceGroup* in the *eastus2* region:
5150

5251
```azurecli-interactive
@@ -60,7 +59,7 @@ az aks create -g myResourceGroup --name myAKSCluster --generate-ssh-keys --enabl
6059
```
6160
The above command will deploy a new AKS cluster with system node pool of non confidential computing node. Confidential computing Intel SGX nodes are not recommended for system node pools.
6261

63-
### Add an user node pool with confidential computing capabilities to the AKS cluster<a id="add-a-user-node-pool-with-confidential-computing-capabilities-to-the-aks-cluster"></a>
62+
### Add a user node pool with confidential computing capabilities to the AKS cluster<a id="add-a-user-node-pool-with-confidential-computing-capabilities-to-the-aks-cluster"></a>
6463

6564
Run the following command to add a user node pool of `Standard_DC4s_v3` size with three nodes to the AKS cluster. You can choose another larger sized SKU from the [list of supported DCsv2/DCsv3 SKUs and regions](../virtual-machines/dcv3-series.md).
6665

articles/confidential-computing/confidential-node-pool-aks.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ author: ananyagarg
66
ms.topic: article
77
ms.date: 10/04/2022
88
ms.author: ananyagarg
9-
ms.service: azure-kubernetes-service
9+
ms.service: virtual-machines
10+
ms.subservice: confidential-computing
1011
ms.custom: inspire-fall-2022, ignite-2022
1112
---
1213

articles/confidential-computing/confidential-nodes-aks-addon.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
title: Azure Kubernetes Service plugin for confidential VMs
33
description: How to use the Intel SGX device plugin and Intel SGX quote helper daemon sets for confidential VMs with Azure Kubernetes Service.
44
author: agowdamsft
5-
ms.service: virtual-machines
6-
ms.subservice: workloads
5+
ms.service: virtual-machines
6+
ms.subservice: confidential-computing
77
ms.workload: infrastructure
88
ms.topic: article
99
ms.date: 11/01/2021
@@ -67,7 +67,7 @@ Each container needs to opt in to use out-of-proc quote generation by setting th
6767
An application can still use the in-proc attestation as before. However, you can't simultaneously use both in-proc and out-of-proc within an application. The out-of-proc infrastructure is available by default and consumes resources.
6868

6969
> [!NOTE]
70-
> If you are using a Intel SGX wrapper software (OSS/ISV) to run you unmodified containers the attestation interaction with hardware is typically handled for your higher level apps. Please refer to the attestation implementation per provider.
70+
> If you are using a Intel SGX wrapper software (OSS/ISV) to run your unmodified containers the attestation interaction with hardware is typically handled for your higher level apps. Please refer to the attestation implementation per provider.
7171
7272
### Sample implementation
7373

0 commit comments

Comments
 (0)