를 사용하여 Kubernetes 보호 AWS Private CA - AWS Private Certificate Authority

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

를 사용하여 Kubernetes 보호 AWS Private CA

Kubernetes 컨테이너 및 애플리케이션은 디지털 인증서를 사용하여 TLS를 통한 보안 인증 및 암호화를 제공합니다. Kubernetes에서 TLS 인증서 수명 주기 관리를 위해 널리 채택된 솔루션은 인증서를 요청하고 이를 Kubernetes 컨테이너에 배포하며 인증서 갱신을 자동화하는 Kubernetes의 추가 기능인 cert-manager입니다.

AWS Private CA 는 클러스터에 프라이빗 키를 저장하지 않고 CA를 설정하려는 cert-manager 사용자를 위해 cert-manager, aws-privateca-issuer에 오픈 소스 플러그인을 제공합니다. CA 운영에 대한 액세스 제어 및 감사에 대한 규제 요구 사항이 있는 사용자는 이 솔루션을 사용하여 감사 가능성을 개선하고 규정 준수를 지원할 수 있습니다. AWS 프라이빗 CA 발급자 플러그인은 Amazon Elastic Kubernetes Service(Amazon EKS), AWS또는 온프레미스 Kubernetes에서 자체 관리형 Kubernetes와 함께 사용할 수 있습니다. x86 및 ARM 아키텍처에서 플러그인을 사용할 수 있습니다.

아래 다이어그램은 Amazon EKS 클러스터에서 TLS를 사용하는 데 사용할 수 있는 몇 가지 옵션을 보여줍니다. 다양한 리소스를 포함하는 이 예제 클러스터는 로드 밸런서 뒤에 있습니다. 숫자는 외부 로드 밸런서, 인그레스 컨트롤러, 서비스 내의 개별 포드, 서로 안전하게 통신하는 한 쌍의 파드를 포함하여 TLS 보안 통신의 가능한 엔드포인트를 식별합니다.

간소화된 Kubernetes 토폴로지
  1. 로드 밸런서에서 종료.

    Elastic Load Balancing(ELB)은 AWS Certificate Manager 통합 서비스입니다. 즉, 프라이빗 CA로 ACM을 프로비저닝하고,이 서비스로 인증서에 서명하며, ELB 콘솔을 사용하여 설치할 수 있습니다. 이 솔루션은 원격 클라이언트와 로드 밸런서 사이에 암호화된 통신을 제공합니다. 데이터는 암호화되지 않은 상태로 EKS 클러스터로 전달됩니다. 또는AWS 로드 밸런서에 프라이빗 인증서를 제공하여 TLS를 종료할 수 있습니다.

  2. Kubernetes 인그레스 컨트롤러에서 종료.

    인그레스 컨트롤러는 EKS 클러스터 내에 네이티브 로드 밸런서 및 라우터로 존재합니다. cert-manageraws-privateca-issuer를 모두 설치하고 클러스터를 프라이빗 CA로 프로비저닝한 경우, Kubernetes는 컨트롤러에 서명된 TLS 인증서를 설치하여 외부 통신을 위한 클러스터의 엔드포인트 역할을 할 수 있습니다. 로드 밸런서와 인그레스 컨트롤러 간의 통신은 암호화되며, 수신 후에는 데이터가 암호화되지 않은 상태로 클러스터 리소스로 전달됩니다.

  3. 파드에서 종료.

    각 포드는 스토리지와 네트워크 리소스를 공유하는 하나 이상의 컨테이너 그룹입니다. cert-manageraws-privateca-issuer를 모두 설치하고 클러스터를 프라이빗 CA로 프로비저닝한 경우, Kubernetes는 필요에 따라 서명된 TLS 인증서를 포드에 설치할 수 있습니다. 포드에서 종료되는 TLS 연결은 클러스터의 다른 포드에서는 기본적으로 사용할 수 없습니다.

  4. 포드 간 보안 통신.

    또한 서로 통신할 수 있는 인증서를 여러 포드에 프로비저닝할 수 있습니다. 가능한 시나리오는 다음과 같습니다.

    • Kubernetes에서 생성한 자체 서명된 인증서로 프로비저닝합니다. 이렇게 하면 포드 간 통신이 보호되지만 자체 서명 인증서는 HIPAA 또는 FIPS 요구 사항을 충족하지 못합니다.

    • 프라이빗 CA에서 서명한 인증서로 프로비저닝합니다. 위의 2번과 3번에서처럼 이를 위해서는 cert-manageraws-privateca-issuer를 모두 설치하고 클러스터를 프라이빗 CA로 프로비저닝해야 합니다. 그러면 Kubernetes는 필요에 따라 서명된 TLS 인증서를 포드에 설치할 수 있습니다.

인증서 관리자의 계정 간 사용

CA에 대한 교차 계정 액세스 권한이 있는 관리자는 cert-manager를 사용하여 Kubernetes 클러스터를 프로비저닝할 수 있습니다. 자세한 내용은 프라이빗 CA에 대한 교차 계정 액세스의 보안 모범 사례 단원을 참조하십시오.

참고

교차 계정 시나리오에서는 특정 AWS Private CA 인증서 템플릿만 사용할 수 있습니다. 사용 가능한 템플릿 목록은 지원되는 인증서 템플릿 섹션을 참조하세요.

지원되는 인증서 템플릿

다음 표에는 cert-manager와 함께 사용하여 Kubernetes 클러스터를 프로비저닝할 수 있는 AWS Private CA 템플릿이 나열되어 있습니다.

샘플 솔루션

다음 통합 솔루션은 Amazon EKS 클러스터 AWS Private CA 에서에 대한 액세스를 구성하는 방법을 보여줍니다.