AKS(Azure Kubernetes Service)의 기밀 컨테이너(미리 보기)
클라우드 네이티브 애플리케이션 개발이 증가함에 따라 클라우드 환경에서 실행되는 워크로드를 보호해야 할 필요성도 높아지고 있습니다. 워크로드를 컨테이너화하여 이 프로그래밍 모델의 핵심 구성 요소가 형성된 후에는 클라우드에서 기밀로 실행하기 위해 컨테이너를 보호하는 것이 가장 중요합니다.
AKS(Azure Kubernetes Service)의 기밀 컨테이너는 Kubernetes 워크로드에서 컨테이너 수준 격리를 가능하게 합니다. 이 컨테이너는 기밀 컴퓨팅 제품의 Azure 제품군에 추가되었으며 AMD SEV-SNP 메모리 암호화를 사용하여 런타임에 컨테이너를 보호합니다.
기밀 컨테이너는 민감한 데이터(예: 개인 데이터 또는 규정 준수에 필요한 강력한 보안이 적용되는 모든 데이터)를 포함하는 배포 시나리오에 유용합니다.
컨테이너를 기밀로 유지하는 이유는 무엇인가요?
Microsoft가 창립 멤버인 기밀 컴퓨팅 컨소시엄에서 설정한 지침에 따라 경우 기밀 컨테이너는 다음을 준수해야 합니다.
- 투명성: 민감한 애플리케이션이 공유되는 기밀 컨테이너 환경으로, 사용자는 안전한지 확인할 수 있습니다. TCB(신뢰할 수 있는 컴퓨팅 기반)의 모든 구성 요소는 오픈 소스로 제공됩니다.
- 감사 가능성: Linux 게스트 OS를 포함하는 CoCo 환경 패키지의 버전을 확인하고 모든 구성 요소가 최신 상태인지 확인할 수 있습니다. Microsoft는 증명을 통해 확인하기 위해 게스트 OS 및 컨테이너 런타임 환경에 서명합니다. 또한 게스트 OS 빌드의 SHA(보안 해시 알고리즘)를 릴리스하여 문자열 감사 가능성 및 제어 사례를 빌드합니다.
- 전체 증명: TEE의 일부인 모든 항목은 원격으로 확인할 수 있는 기능을 사용하여 CPU에서 완전히 측정되어야 합니다. AMD SEV-SNP 프로세서의 하드웨어 보고서는 증명 클레임을 통해 컨테이너 계층 및 컨테이너 런타임 구성 해시를 반영해야 합니다. 애플리케이션은 게스트 OS 이미지 및 컨테이너 런타임을 반영하는 보고서를 비롯한 하드웨어 보고서를 로컬로 가져올 수 있습니다.
- 코드 무결성: 런타임 적용은 변경할 수 없는 정책 및 컨테이너 서명과 같은 컨테이너 및 컨테이너 구성에 대한 고객 정의 정책을 통해 항상 사용할 수 있습니다.
- 운영자로부터의 격리: 고객/테넌트 관리자를 포함하여 신뢰할 수 없는 모든 당사자로부터 보호하는 최소 권한 및 가장 높은 격리를 가정하는 보안 설계입니다. 여기에는 기밀 Pod에 대한 기존 Kubernetes 컨트롤 플레인 액세스(kubelet)를 강화하는 것이 포함됩니다.
그러나 이러한 기밀성 기능을 통해 제품은 사용 편의성을 추가로 제공하며, Kubernetes 기능의 높은 규정 준수를 통해 수정되지 않은 모든 Linux 컨테이너를 지원합니다. 또한 비용을 최적화하기 위해 단일 클러스터에서 형식이 다른 노드 풀(GPU, 범용 노드)을 지원합니다.
AKS에서 기밀 컨테이너를 형성하는 것은 무엇인가요?
오픈 소스 커뮤니티에 대한 Microsoft의 약속에 맞게, 기밀 컨테이너의 기본 스택은 Kata CoCo를 기밀 워크로드가 실행되는 Pod를 호스트하는 노드에서 실행되는 에이전트로 사용합니다. 호스트와 게스트 간의 경계가 필요한 많은 TEE 기술에서 Kata 컨테이너는 Kata CoCo 초기 작업의 기초가 됩니다. Microsoft는 또한 기밀 유틸리티 VM 내에서 실행되는 컨테이너를 지원하기 위해 Kata Coco 커뮤니티에 다시 기여했습니다.
Kata 기밀 컨테이너는 Azure Linux AKS 컨테이너 호스트 내에 있습니다. Azure Linux 및 클라우드 하이퍼바이저 VMM(Virtual Machine Monitor)은 가상 머신을 만들고 수명을 관리하는 데 사용되는 최종 사용자 연결/사용자 공간 소프트웨어입니다.
AKS의 컨테이너 수준 격리
기본적으로 AKS의 모든 워크로드는 동일한 커널과 동일한 클러스터 관리자를 공유합니다. AKS에서 Pod Sandboxing의 미리 보기에서는 동일한 AKS 노드의 워크로드에 커널 격리를 제공하는 기능을 통해 격리가 한 단계 더 발전했습니다. 이 기능에 대한 자세한 내용은 여기를 참조하세요. 기밀 컨테이너는 이 격리의 다음 단계이며 기본 AMD SEV-SNP 가상 머신 크기의 메모리 암호화 기능을 사용합니다. 이러한 가상 머신은 하드웨어의 신뢰 루트를 배포된 Pod에 표시할 수 있는 기능에 따라 DCa_cc 및 ECa_cc 크기를 갖습니다.
시작하기
시작하고, 지원되는 시나리오에 대해 자세히 알아보려면 여기에서 AKS 설명서를 참조하세요.