이 페이지에서는 Google Kubernetes Engine (GKE)에서 관리형 컨트롤 플레인 보안에 대한 가시성과 제어 기능을 향상시키기 위해 제공하는 옵션을 설명합니다. 이러한 옵션을 통칭하여 GKE control plane authority라고 합니다. 이 페이지는 민감한 정보 처리에 대한 엄격한 개인 정보 보호와 보안 니즈를 충족하려는 정보 보안 책임자, 규정 준수 관리자, 분석가를 대상으로 합니다.
GKE control plane authority 기능 정보
GKE에서 Trusted Cloud by S3NS 는 저장 데이터 암호화를 포함한 컨트롤 플레인 보안 구성을 완전하게 관리하고 클러스터에서 사용자 인증 정보를 서명하고 검증하는 키와 인증 기관(CA)을 구성합니다. GKE 클러스터의 컨트롤 플레인 노드는 Trusted Cloud 에서 관리하는 프로젝트에 있습니다. Trusted Cloud 역할에 대한 자세한 내용은 GKE 공유 책임을 참조하세요.
GKE control plane authority는 이러한 완전 관리형 컨트롤 플레인 노드의 특정 측면을 확인하고 관리할 수 있는 가시성 및 제어 기능의 선택적 집합입니다. 이러한 기능은 다음과 같은 요구사항이 있는 경우에 적합합니다.
- 특정 규제 준수 요구사항이 있는 금융, 의료 또는 정부와 같이 규제가 심한 업종에서 작업합니다.
- 엄격한 보안 및 암호화 요구사항이 있는 민감한 정보를 처리합니다.
- 중요한 워크로드를 실행할 때 확신을 높이기 위해 GKE에 대한 가시성을 향상시키고 싶습니다.
- 데이터 암호화, 소프트웨어 무결성 또는 로깅과 관련된 특정 규정 준수나 감사 요구사항을 충족해야 합니다.
- 중요한 데이터를 처리하는 매우 민감한 워크로드가 있고 해당 데이터의 암호화 및 액세스에 대한 가시성을 확보하고 싶습니다.
- 특정 조직 또는 규제 요구사항을 충족하는 커스텀 보안 정책을 시행하고 싶습니다.
- GKE 환경, 특히Trusted Cloud 가 컨트롤 플레인에서 수행하는 작업과 관련된 투명성과 가시성을 강화하고 싶습니다.
GKE control plane authority 이점
GKE control plane authority는 엄격한 보안 정책이나 엄격한 감사 요구사항이 있는 규제가 심한 환경에 적합합니다. 이러한 기능을 사용하면 다음과 같은 이점이 제공됩니다.
- 가시성 및 제어 기능 향상: GKE 컨트롤 플레인에 추가 가시성, 제어, 암호화 기능을 사용합니다.
- 간소화된 규정 준수: 세부적인 감사 로그와 맞춤설정 가능한 보안 정책으로 규제 및 업계 요구사항을 충족합니다.
- 신뢰도 및 투명성 향상: 고객 지원 케이스를 해결할 때Trusted Cloud 가 컨트롤 플레인에서 수행하는 작업에 대한 유용한 정보를 얻습니다.
- 위험 완화: 포괄적인 로그를 사용하여 관리형 컨트롤 플레인의 잠재적 위협을 사전에 감지하고 대응합니다.
- 표준화된 CA 및 키 관리: Certificate Authority Service를 사용하여 GKE 클러스터 CA를 관리함으로써 특정 팀에 인증서 관리를 위임하고 CA 정책을 포괄적으로 적용할 수 있습니다. 또한 유사한 관리 위임을 위해 Cloud KMS를 사용하여 컨트롤 플레인 디스크 암호화 키를 관리합니다.
GKE control plane authority 가용성
GKE control plane authority 기능을 사용할 수 있는 리전과 영역은 다음과 같은 특정 기능도 사용해야 하는지에 따라 달라집니다.
- 고객 관리 암호화 키를 사용하여 컨트롤 플레인 부팅 디스크를 암호화하려면 클러스터가 다음 리전 중 하나에 있어야 합니다.
asia-east1
asia-northeast1
asia-southeast1
europe-west1
europe-west4
us-central1
us-east1
us-east4
us-east5
us-south1
us-west1
us-west3
us-west4
- GKE control plane authority 기능과 함께 Confidential GKE Node를 사용하려면 클러스터가 Hyperdisk Balanced의 비밀 모드를 지원하는 리전에 있어야 합니다.
이러한 기능을 사용하지 않는 경우 모든 Trusted Cloud 위치에서 GKE control plane authority 기능을 사용할 수 있습니다.
GKE control plane authority 작동 방식
컨트롤 플레인에서 사용할 수 있는 기능은 원하는 제어 유형에 따라 다음과 같이 분류됩니다. 특정 요구사항에 따라 이러한 기능을 하나 이상 사용할 수 있습니다.
- 키 및 사용자 인증 정보 관리: GKE가 컨트롤 플레인에서 저장 데이터를 암호화하고 클러스터에서 ID를 발급하고 확인하는 데 사용하는 키를 제어합니다.
- 액세스 로그 및 ID 발급 로그: 네트워크, VM, 액세스 투명성의 로그를 사용하여 여러 소스를 통해 GKE 컨트롤 플레인 액세스를 확인합니다. Cloud KMS 및 CA 서비스의 ID 발급 로그를 사용하여 관리하는 키와 CA를 통해 ID가 생성되는 시점을 확인합니다. 자세한 Kubernetes API 사용 로그를 사용하여 이러한 ID가 클러스터에서 수행하는 작업을 추적합니다.
키 및 사용자 인증 정보 관리
기본적으로 Trusted Cloud 는 GKE 클러스터의 키와 CA를 자동으로 관리합니다. Cloud KMS 및 CA Service를 선택적으로 사용하여 자체 키와 CA를 설정한 후 새 클러스터를 만들 때 사용할 수 있습니다.
GKE는 Trusted Cloud기본값 대신 이러한 키와 CA를 사용하여 클러스터에서 ID를 발급 및 확인하고 컨트롤 플레인 VM에서 데이터를 암호화합니다. ID 발급 및 데이터 암호화 키를 계속 제어하면 다음을 수행할 수 있습니다.
- 키에 대한 독점적 제어를 요구하는 데이터 주권 및 개인 정보 보호 규정 준수
- 자체 암호화 키를 관리하여 Kubernetes에서 중요한 민감한 정보 암호화 제어
- 하드웨어 지원 키 사용 요구사항과 같은 조직의 정책과 요구사항에 따라 데이터 암호화 전략 맞춤설정
자체 관리 CA 및 서비스 계정 키
GKE 컨트롤 플레인에서 개발자가 관리하는 Cloud KMS 키와 CA Service CA를 사용하도록 구성할 수 있습니다. GKE는 이러한 리소스를 사용하여 클러스터에서 ID를 발급하고 확인합니다. 예를 들어 GKE는 CA와 키를 사용하여 Kubernetes 클라이언트 인증서와 Kubernetes 서비스 계정 Bearer 토큰을 발급합니다.
GKE에서 ID를 발급할 때 사용할 수 있는 다음 리소스를 만듭니다.
- 서비스 계정 서명 키: 클러스터의 서비스 계정에 대한 Kubernetes ServiceAccount Bearer 토큰에 서명합니다. 이러한 Bearer 토큰은 포드가 Kubernetes API 서버와 통신할 수 있도록 지원하는 JSON 웹 토큰(JWT)입니다.
- 서비스 계정 확인 키: Kubernetes 서비스 계정 JWT를 확인합니다. 이 키는 일반적으로 서명 키와 동일하지만 키를 더 안전하게 순환할 수 있도록 별도로 구성됩니다.
- 클러스터 CA: 인증서 서명 요청(CSR), kubelet 통신과 같은 용도에 맞는 서명된 인증서를 발급합니다.
- etcd 피어 CA: 클러스터의 etcd 인스턴스 간의 통신을 위해 서명된 인증서를 발급합니다.
- etcd API CA: etcd API 서버와의 통신을 위해 서명된 인증서를 발급합니다.
- 집계 CA: Kubernetes API 서버와 확장 서버 간의 통신을 지원하기 위해 서명된 인증서를 발급합니다.
GKE가 클러스터에서 ID를 발급하면 Cloud Logging에 해당 감사 로그가 표시되며 이 로그를 사용하여 수명 기간 동안 발급된 ID를 추적할 수 있습니다.
자세한 내용은 GKE에서 자체 인증 기관 및 서명 키 실행을 참조하세요.
컨트롤 플레인 부팅 디스크 및 etcd 암호화
기본적으로 GKE는 컨트롤 플레인 VM 부팅 디스크를 암호화합니다. 컨트롤 플레인에서 etcd 데이터베이스 인스턴스를 실행하면 GKE는 다음도 암호화합니다.
- etcd 데이터를 저장하는 디스크
- etcd의 Trusted Cloud by S3NS 내부 운영 백업
이 기본 암호화는 Trusted Cloud 에서 관리하는 암호화 키를 사용합니다. 이 기본 암호화에 대한 자세한 내용은 기본 저장 데이터 암호화를 참조하세요.
Cloud KMS를 사용하여 관리하는 자체 암호화 키를 선택적으로 사용하여 다음 리소스를 암호화할 수 있습니다.
- 컨트롤 플레인 부팅 디스크: 각 컨트롤 플레인 VM에서 부팅하는 데 사용하는 Compute Engine 디스크입니다.
- etcd 디스크: 각 컨트롤 플레인 VM에 연결되고 클러스터의 etcd 인스턴스 데이터를 저장하는 Compute Engine 디스크입니다.
etcd 내부 운영 백업: 재해 복구와 같은 운영 목적으로 사용되는 etcd의 내부 Trusted Cloud 백업입니다.
이 백업은 Trusted Cloud의 내부 긴급 조치입니다. 클러스터를 백업 및 복원하려면 대신 Backup for GKE를 사용합니다.
자세한 내용은 etcd 및 컨트롤 플레인 부팅 디스크 암호화를 참조하세요.
이 선택적 추가 암호화는 클러스터 컨트롤 플레인에서 암호화 수단 제어와 관련된 특정 규제 또는 규정 준수 요구사항을 충족해야 하는 경우에 적합합니다. 자체 키를 별도로 사용하여 클러스터의 워커 노드의 부팅 디스크와 스토리지 디스크를 암호화할 수 있습니다. 자세한 내용은 고객 관리 암호화 키(CMEK) 사용을 참조하세요.
GKE control plane authority를 사용하여 컨트롤 플레인 부팅 디스크를 암호화하면 GKE 컨트롤 플레인 VM이 부팅 디스크에서 Hyperdisk Balanced의 비밀 모드를 자동으로 사용합니다. 이 구성은 워커 노드의 기본 부팅 디스크를 변경하지 않습니다.
액세스 로그 및 ID 발급 로그
다음 이벤트를 포함하여 컨트롤 플레인의 액세스 및 ID와 관련된 모든 이벤트의 로그를 Logging에서 볼 수 있습니다.
- 직접 액세스: GKE 컨트롤 플레인 노드에 대한 직접 액세스 시도(예: SSH)와 관련된 로그를 사용하면 VM SSH 로그와 VM 네트워크 연결이 액세스 투명성 로그의 SSH 레코드와 일치하는지 확인할 수 있습니다.
- ID 발급 및 확인: CA 서비스와 Cloud KMS에서 관리하는 CA 및 키를 통해 발급된 ID와 관련된 로그입니다.
- Kubernetes의 ID 사용: 특정 ID가 Kubernetes API 서버에 대해 취하는 작업과 관련된 로그입니다.
- 액세스 투명성: 컨트롤 플레인에 대한 연결 및 Trusted Cloud 직원이 컨트롤 플레인에서 수행한 작업과 관련된 로그입니다.
이러한 로그는 다음 작업을 수행하는 데 도움이 됩니다.
- 규정 준수 및 보안을 위해 모든 컨트롤 플레인 액세스 및 ID 이벤트의 포괄적인 감사 추적을 유지합니다.
- 기본 제공 Google 보호 기능 외에도 자체 모니터링을 빌드하여 컨트롤 플레인 내에서 의심스러운 활동을 식별하고 조사할 수 있습니다.
- 허가된 대상만 GKE 클러스터에 액세스하고 상호작용하는지 확인하여 보안 상황을 개선합니다.
- Cloud KMS 및 CA 서비스의 ID 발급 로그를 사용하여 관리하는 키와 CA로 ID가 생성된 시점을 확인합니다. 자세한 Kubernetes API 사용 로그를 사용하여 이러한 ID가 클러스터에서 수행하는 작업을 추적합니다.
다음 문서에서는 다양한 유형의 컨트롤 플레인 로그를 보고 처리하는 방법을 보여줍니다.
컨트롤 플레인 보안에 대한 추가 리소스
이 섹션에서는 컨트롤 플레인 보안에 대한 신뢰도를 높이는 데 사용할 수 있는 다른 방법을 설명합니다. 다음 리소스를 사용하기 위해 GKE control plane authority를 사용할 필요는 없습니다.
컨트롤 플레인 VM 이미지 무결성: GKE는 노드 VM 생성 및 부팅 이벤트에 대한 상세 로그를 Cloud Logging에 추가합니다. 또한 컨트롤 플레인 및 워커 노드 머신 이미지에 해당하는 SLSA VSA를 GitHub에 게시합니다. VM에서 해당 VSA가 있는 OS 이미지를 사용하는지 확인하고 각 컨트롤 플레인 VM의 부팅 무결성을 확인할 수 있습니다.
VM 무결성 확인을 수행하려면 GKE 컨트롤 플레인 VM 무결성 확인을 참조하세요.
기본 제공 컨트롤 플레인 보안 조치: GKE는 관리형 컨트롤 플레인에서 다양한 강화 조치를 수행합니다. 자세한 내용은 컨트롤 플레인 보안을 참조하세요.