Azure Kubernetes Service의 기밀 컴퓨팅 노드Confidential computing nodes on Azure Kubernetes Service

Azure 기밀 컴퓨팅을 사용하면 사용 중인 중요한 데이터를 보호할 수 있습니다.Azure confidential computing allows you to protect your sensitive data while it's in use. 기본 기밀 컴퓨팅 인프라는 하드웨어에서 지원되는 신뢰할 수 있는 실행 컨테이너 환경을 통해 다른 애플리케이션, 관리자 및 클라우드 공급자로부터 이 데이터를 보호합니다.The underlying confidential computing infrastructure protects this data from other applications, administrators, and cloud providers with a hardware backed trusted execution container environments. 기밀 컴퓨팅 노드를 추가하면 격리되고 하드웨어를 통 해 보호되고 증명 가능한 환경에서 실행되도록 컨테이너 애플리케이션을 대상으로 지정할 수 있습니다.Adding confidential computing nodes allow you to target container application to run in an isolated, hardware protected and attestable environment.

개요Overview

AKS(Azure Kubernetes Service)는 Intel SGX에서 제공되는 DCsv2 기밀 컴퓨팅 노드 추가를 지원합니다.Azure Kubernetes Service (AKS) supports adding DCsv2 confidential computing nodes powered by Intel SGX. 이러한 노드를 통해 하드웨어 기반 TEE(신뢰 실행 환경) 내에서 중요한 워크로드를 실행할 수 있습니다.These nodes allow you to run sensitive workloads within a hardware-based trusted execution environment (TEE). TEE를 사용하면 CPU를 통해 코드를 직접 실행하기 위해 컨테이너의 사용자 수준 코드에서 메모리의 프라이빗 영역을 할당할 수 있습니다.TEE’s allow user-level code from containers to allocate private regions of memory to execute the code with CPU directly. CPU를 통해 직접 실행되는 이러한 프라이빗 메모리 영역을 enclave라고 합니다.These private memory regions that execute directly with CPU are called enclaves. enclave는 동일한 노드에서 실행되는 다른 프로세스로부터 데이터 기밀성, 데이터 무결성 및 코드 무결성을 보호하는 데 도움이 됩니다.Enclaves help protect the data confidentiality, data integrity and code integrity from other processes running on the same nodes. 또한 Intel SGX 실행 모델은 게스트 OS, 호스트 OS 및 하이퍼바이저의 중간 계층을 제거하여 공격 노출 영역을 줄입니다.The Intel SGX execution model also removes the intermediate layers of Guest OS, Host OS and Hypervisor thus reducing the attack surface area. 노드의 컨테이너 격리 실행별 하드웨어 기반 모델을 사용하면 컨테이너별로 암호화된 특수 메모리 블록을 유지하면서 애플리케이션에서 CPU를 통해 직접 실행할 수 있습니다.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.

SGX 노드 개요

AKS 기밀 노드 기능AKS Confidential Nodes Features

  • Intel SGX TEE(신뢰 실행 환경)를 통한 하드웨어 기반 및 프로세스 수준 컨테이너 격리Hardware based and process level container isolation through Intel SGX trusted execution environment (TEE)
  • 형식이 다른 노드 풀 클러스터(기밀 및 비 기밀 노드 풀의 혼합)Heterogenous node pool clusters (mix confidential and non-confidential node pools)
  • EPC(암호화된 페이지 캐시) 메모리 기반 Pod 예약(추가 기능 필요)Encrypted Page Cache (EPC) memory-based pod scheduling (requires add-on)
  • SGX DCAP 드라이버 사전 설치Intel SGX DCAP driver pre-installed
  • CPU 사용량 기반 수평 Pod 자동 크기 조정 및 클러스터 자동 크기 조정CPU consumption based horizontal pod autoscaling and cluster autoscaling
  • Ubuntu 18.04 Gen 2 VM 작업자 노드를 통한 Linux 컨테이너 지원Linux Containers support through Ubuntu 18.04 Gen 2 VM worker nodes

AKS용 기밀 컴퓨팅 추가 기능Confidential Computing add-on for AKS

추가 기능은 클러스터에서 기밀 컴퓨팅 노드 풀을 실행할 때 AKS에서 추가 기능을 사용하도록 설정합니다.The add-on feature enables extra capability on AKS when running confidential computing node pools on the cluster. 이 추가 기능을 통해 사용할 수 있는 기능은 다음과 같습니다.This add-on enables the features below.

Intel SGX용 Azure 디바이스 플러그 인 Azure Device Plugin for Intel SGX

디바이스 플러그 인은 EPC(암호화된 페이지 캐시) 메모리에 대한 Kubernetes 디바이스 플러그 인 인터페이스를 구현하고 노드에서 디바이스 드라이버를 공개합니다.The device plugin implements the Kubernetes device plugin interface for Encrypted Page Cache (EPC) memory and exposes the device drivers from the nodes. 실제로 이 플러그 인은 EPC 메모리를 Kubernetes의 또 다른 리소스 종류로 만듭니다.Effectively, this plugin makes EPC memory as an another resource type in Kubernetes. 사용자는 다른 리소스와 마찬가지로 이 리소스에 대한 제한을 지정할 수 있습니다.Users can specify limits on this resource just as other resources. 디바이스 플러그 인은 예약 기능 외에도 Intel SGX 디바이스 드라이버 권한을 기밀 워크로드 컨테이너에 할당하는 데 도움이 됩니다.Apart from the scheduling function, the device plugin helps assign Intel SGX device driver permissions to confidential workload containers. 이 플러그 인을 사용하면 개발자가 Intel SGX 드라이버 볼륨을 배포 파일에 탑재하지 않을 수 있습니다.With this plugin developer can avoid mounting the Intel SGX driver volumes in the deployment files. EPC 메모리 기반 배포(kubernetes.azure.com/sgx_epc_mem_in_MiB) 샘플의 샘플 구현은 여기에 있습니다.A sample implementation of the EPC memory-based deployment (kubernetes.azure.com/sgx_epc_mem_in_MiB) sample is here

프로그래밍 모델Programming models

기밀 컨테이너Confidential Containers

기밀 컨테이너는 대부분의 일반 프로그래밍 언어 런타임(Python, Node, Java 등)의 수정되지 않은 기존 컨테이너 애플리케이션을 기밀로 실행하는 데 도움이 됩니다.Confidential containers help you run existing unmodified container applications of most common programming languages runtimes (Python, Node, Java etc.) confidentially. 이 패키징 모델은 소스 코드를 수정하거나 다시 컴파일할 필요가 없습니다.This packaging model does not need any source-code modifications or recompilation. 이는 표준 Docker 컨테이너를 오픈 소스 프로젝트 또는 Azure 파트너 솔루션으로 패키지하여 달성할 수 있는 가장 빠른 기밀성 방법입니다.This is the fastest method to confidentiality that could be achieved by packaging your standard docker containers with Open-Source Projects or Azure Partner Solutions. 이 패키징 및 실행 모델에서는 컨테이너 애플리케이션의 모든 부분이 신뢰할 수 있는 경계(enclave)에 로드됩니다.In this packaging and execution model all parts of the container application are loaded in the trusted boundary (enclave). 이 모델은 시장에서 사용할 수 있는 기성 컨테이너 애플리케이션 또는 현재 범용 노드에서 실행되는 사용자 지정 애플리케이션에 적합합니다.This model works well for off the shelf container applications available in the market or custom apps currently running on general purpose nodes.

enclave 인식 컨테이너Enclave aware containers

AKS의 기밀 컴퓨팅 노드는 CPU에서 사용할 수 있는 특수 명령 세트 를 활용하기 위해 enclave에서 실행되도록 프로그래밍된 컨테이너도 지원합니다.Confidential computing nodes on AKS also support containers that are programmed to run in an enclave to utilize special instruction set available from the CPU. 이 프로그래밍 모델을 사용하면 실행 흐름을 더 엄격하게 제어할 수 있으며, 특수 SDK 및 프레임워크를 사용해야 합니다.This programming model allows tighter control of your execution flow and requires use of special SDKs and frameworks. 이 프로그래밍 모델은 가장 낮은 TCB(신뢰 컴퓨팅 기반)를 사용하여 애플리케이션 흐름을 대부분 제어합니다.This programming model provides most control of application flow with a lowest Trusted Computing Base (TCB). enclave 인식 컨테이너 개발에는 컨테이너 애플리케이션의 신뢰할 수 없는 부분과 신뢰할 수 있는 부분이 포함되므로 enclave가 실행되는 일반 메모리 및 EPC(암호화된 페이지 캐시) 메모리를 관리할 수 있습니다.Enclave aware container development involves untrusted and trusted parts to the container application thus allowing you to manage the regular memory and Encrypted Page Cache (EPC) memory where enclave is executed. enclave 인식 컨테이너에 대해 자세히 참조하세요.Read more on enclave aware containers.

다음 단계Next Steps

기밀 컴퓨팅 노드를 사용하여 AKS 클러스터 배포Deploy AKS Cluster with confidential computing nodes

빠른 시작 기밀 컨테이너 샘플Quick starter confidential container samples

DCsv2 SKU 목록DCsv2 SKU List

기밀 컨테이너를 통한 심층 방어 웨비나 세션Defense-in-depth with confidential containers webinar session