보안 청사진: PCI on GKE

Last reviewed 2023-12-06 UTC

Google Kubernetes Engine의 PCI 청사진에는 Google Cloud에서 PCI 환경을 부트스트랩하는 방법을 보여주는 다양한 Terraform 구성 및 스크립트가 포함되어 있습니다. 이 청사진의 핵심에는 Online Boutique 애플리케이션이 있으며, 사용자는 이 애플리케이션으로 항목을 찾아 장바구니에 추가하여 구매할 수 있습니다.

이 청사진은 결제 카드 산업 데이터 보안 표준(PCI DSS) 버전 3.2.1용으로 개발되었습니다. 청사진을 사용하면 PCI DSS에 따라 반복 가능하고 안전한 지원 방식으로 GKE에 워크로드를 배포할 수 있습니다.

아키텍처

프로젝트 개요

이 청사진에서는 다음과 같은 리소스 계층 구조로 구성된 카드 소지자 데이터 환경(CDE)을 Google Cloud에서 부트스트랩합니다.

  • 조직 리소스
  • 폴더 리소스. 폴더 리소스는 프로젝트 간에 그룹화 메커니즘과 격리 경계를 제공합니다.
  • 프로젝트 리소스. 다음 Google Cloud 프로젝트를 배포합니다.

    • 네트워크: 공유 VPC의 호스트 프로젝트입니다.
    • 관리: Cloud Logging과 같은 로깅 및 모니터링 인프라를 보유한 프로젝트입니다.
    • 범위 내: 범위 내 리소스가 포함된 프로젝트입니다. 이 솔루션에서 프로젝트는 범위 내 애플리케이션을 실행하도록 설계된 GKE 클러스터로 구성됩니다. 이 예시에서는 여기에 프런트엔드, 지불, 결제 서비스가 포함됩니다.
    • 범위 밖: 범위 밖 리소스가 포함된 프로젝트입니다. 이 솔루션에서 프로젝트는 나머지 서비스를 실행하도록 설계된 GKE 클러스터입니다.

프로젝트 개요

애플리케이션 및 프로젝트

다음 다이어그램은 Google Cloud의 CDE 경계와 마이크로서비스 데모 애플리케이션의 PCI 평가 범위 내에 있는 프로젝트를 보여줍니다. 환경을 빌드할 때 이와 같은 이미지를 사용하면 Google Cloud에 PCI 경계를 드나드는 리소스에 정보를 전달할 수 있습니다.

1로 라벨이 지정된 경로는 Cloud Logging으로 이동하는 Kubernetes 클러스터의 로그 데이터를 보여줍니다.

애플리케이션 배포

네트워크 레이아웃

이 다이어그램은 각 프로젝트 내의 네트워크와 서브넷 세부정보를 보여줍니다. 또한 프로젝트 간을 이동하고 CDE 경계를 드나드는 데이터 흐름도 나와 있습니다.

네트워크 레이아웃

암호화된 트래픽

이 다이어그램은 PCI 경계를 드나드는 암호화된 트래픽을 보여줍니다.

  1. VPC 외부에서 수신되는 TLS로 암호화된 (HTTPS) 트래픽은 범위 내 공개 부하 분산기로 이동합니다.
  2. 범위 내 Kubernetes 클러스터 노드 간의 트래픽을 포함하여 범위 밖 클러스터에 전달되는 TLS로 암호화된 트래픽은 내부 부하 분산기로 이동합니다.
  3. 내부 부하 분산기에서 범위 밖 클러스터로 전달되는 트래픽은 Istio를 사용하여 mTLS로 암호화됩니다.
  4. 각 클러스터 내의 통신은 Istio를 사용하여 mTLS로 암호화됩니다.

암호화된 트래픽

규정 준수 매핑

이 문서에 설명된 청사진은 다양한 PCI DSS 규정 준수 요구사항을 해결하고, 이 섹션에 포함된 표에서는 이러한 요구사항 중 일부를 보여줍니다.

다음 표에 포함된 항목이 모든 요구사항을 해결하지는 못합니다. 일부 요구사항에 대한 규정 준수 여부는 사용자와 Google 간 공유 책임의 일부로 Google Cloud 인프라가 충족해야 합니다. 다른 요구사항에 대한 규정 준수는 사용자가 구현해야 합니다. 공유 책임 모델에 대한 자세한 내용은 Google Cloud 블로그의 컨테이너 보안 탐색: GKE의 공유 책임 모델을 참조하세요.

괄호 안의 숫자는 결제 카드 산업(PCI) 데이터 보안 표준 문서의 섹션을 나타냅니다. PCI 보안 표준 위원회 웹사이트의 문서 라이브러리에서 문서를 다운로드 할 수 있습니다.

요구사항 섹션 설명
세분화 및 경계 보호 구현 1.3.2, 1.3.4 이 청사진은 Google Cloud 프로젝트를 사용하여 논리 세분화를 구현하는 데 도움이 되며, 세분화를 통해 PCI 평가에 적절한 경계를 만들 수 있습니다. 이 청사진은 Istio on Google Kubernetes Engine을 부가기능으로 실행하므로 필요한 모든 구성요소를 포함하는 GKE 클러스터를 중심으로 서비스 메시를 만들 수 있습니다. 또한 PCI의 범위 내에 있는 모든 Google Cloud 프로젝트에서 VPC를 사용하여 보안 경계를 만듭니다.
Google Cloud 리소스에 대한 최소 액세스 권한 구성 7.1, 7.2 이 청사진을 사용하면 역할 기반 액세스 제어를 구현하여 Google Cloud 리소스에 액세스할 수 있는 사용자를 관리할 수 있습니다. 또한 이 청사진은 역할 기반 액세스 제어(RBAC)네임스페이스와 같은 GKE 특정 액세스 제어를 구현하여 클러스터 리소스에 대한 액세스를 제한합니다.
조직 수준 정책 설정   이 청사진을 사용하면 다음과 같이 Google Cloud 조직 리소스에 적용되는 정책을 설정할 수 있습니다.
공유 VPC를 통해 업무 분장 적용 7.1.2, 7.1.3 이 청사진은 연결 및 분리된 네트워크 제어에 공유 VPC를 사용하여 업무 분장을 적용합니다.
클러스터 보안 강화 2.2, 2.2.5 이 청사진의 GKE 클러스터는 GKE 강화 가이드의 설명대로 강화되어 있습니다.

위 목록은 PCI DSS 요구사항을 충족하도록 이 청사진에 구현된 보안 제어 기능 중 일부입니다. 이러한 요구사항의 전체 목록은 GitHub의 PCI DSS 요구사항(PDF) 문서에서 확인할 수 있습니다.

배포 가능한 애셋

GitHub의 PCI on GKE 청사진 저장소에는 Google Cloud에서 PCI 환경을 부트스트랩하는 방법을 보여주는 다양한 Terraform 구성 및 스크립트가 포함되어 있습니다. PCI on GKE 프로젝트는 자체 Google Cloud PCI 환경을 시작하는 데 유용한 Google Cloud 서비스, 도구, 프로젝트도 보여줍니다.

자주 묻는 질문(FAQ)

리소스

  • Google Cloud의 PCI DSS 규정 준수 이 가이드는 PCI DSS 요구사항에 대한 고객 책임을 구현할 때 Google Kubernetes Engine(GKE) 애플리케이션의 고유한 문제를 해결하는 데 도움이 됩니다.